Page-Based Application Servers
Total Page:16
File Type:pdf, Size:1020Kb
Application Servers G22.3033-011 Session 2 - Main Theme Page-Based Application Servers Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Agenda Q ColdFusion 5.0 Environment Q PHP 4.0.6 Environment Q XML-Based Application Servers Q Summary Q Class Project Overview Q Readings Q Assignment #2 2 Application Servers for Enhanced HTML (a.k.a., Page-Based Application Servers) Q Examples Q Macromedia ColdFusion 5.0 Server Q Microsoft IIS with ASP Q WithEnterprise Pty Ltd Tango 2000 Q etc. Q Typically less expensive than Servers for standalone use, and servers with IDEs Q Technology stays within the familiar HTML confines Q See Session 2 Sub-Topic 1 Slides on “HTML Review” 3 1 The Web Application Platform 4 System Differentiators Q Visual InterDev (ASP) Q Management of site development process Q Scripting Q Macromedia’s Drumbeat or NetObjects’ Fusion can be used as alternative IDEs Q ColdFusion Studio 4.5 Q HTML coding Q Basic database integration Q UltraDev 4 or Fusion can be used as alternative IDE 5 Technology Q IDE + Application Server Q IDE Q Creates pages with mixture of HTML and proprietary tags or script code Q Visual page creation (textual creation possible as well) Q Application Server Q Evaluates the code upon user requests and provides HTML pages 6 2 Tagging v.s. Scripting Q ColdFusion Q Easy tag-oriented dynamic pages for simple tasks Q Script use when more complex coding is required Q arrays, case & switch statements, and error handling Q Example Q Simple phone directory application: 2 custom tags + 1 SQL statement Q Same would take 100 lines of ASP code ... 7 Part I ColdFusion 5.0 Environment Also See Session 2 Handouts on: “ColdFusion CFML Tags, Functions, and Variables” “The ColdFusion Integrated Web Development Environment” 8 The ColdFusion Development Platform 9 3 ColdFusion Web Applications 10 How ColdFusion Works 11 The ColdFusion Development Process Q Write some code Q Save it as a page (use .cfm extension) Q View it in a browser Q Write some more code Q Save the page again Q View it in a browser Q etc. 12 4 Sample ColdFusion Application <HTML> <HEAD> <TITLE>My First Page</TITLE> </HEAD> <BODY> <STRONG>ColdFusion</STRONG> <CFSET ProductName = "ColdFusion"> </BODY> </HTML> 13 Outputting a Variable Value <HTML> <HEAD> <TITLE>My First Page</TITLE> </HEAD> <BODY> <STRONG>ColdFusion</STRONG> <CFSET ProductName = "ColdFusion"> <CFOUTPUT> #ProductName# </CFOUTPUT> </BODY> </HTML> 14 Querying a Data Source <HTML> <HEAD> <TITLE>Course List</TITLE> </HEAD> <BODY> <H1>Course List</H1> <CFQUERY NAME="CourseList" DATASOURCE="cfsnippets"> SELECT CORNUMBER, CORNAME FROM CourseList </CFQUERY> <CFOUTPUT QUERY="CourseList" > #CORNUMBER# #CORNAME#<BR> </CFOUTPUT> </BODY> </HTML> 15 5 Coldfusion Features Rapid Development Q Powerful and intuitive tag-based server scripting language Q Two-way visual programming and database tools Q Remote interactive debugging Q Web application wizards & tag-based component architecture Q Source control integration Q Secure file and database access via HTTP 16 ColdFusion Rapid Development 17 ColdFusion 5.0 Server Architecture 18 6 ColdFusion Features Scalable Deployment Q Multi-threaded service architecture Q Database connection pooling Q JIT page compilation and caching Q Dynamic load balancing Q Automatic server recovery and fail-over 19 ColdFusion Features Open Integration Q Database connectivity (ODBC, OLE-DB, native database drivers) Q Embedded support for full text indexing and searching Q Standards-based integration (directory, mail, etc.) Q CORBA and COM+ connectivity Q Open extensibility with C/C++ 20 ColdFusion Features Complete Security Q Integration with existing authentication systems (NT/Win 2000 domains, LDAP directory servers) Q Advanced access control to files and data sources Q Support for existing database security Q Server sandbox security Q Support for Web server authentication, security, and encryption 21 7 ColdFusion Studio’s IDE 22 ColdFusion Studio’s WorkSpace 23 ColdFusion Studio Q Supports other languages than HTML Q Handled Device Markup Language Q Synchronized Multimedia Integration Language Q Visual Tool Markup Language Q Support the inclusion of tag editing dialogs Q Support the addition of XML capabilities Q CSS integration is clumsy (separate editor) Q Link management utility limited to page by page (no site diagramming) 24 8 ColdFusion Homesite Editor Q HomeSite editor Q Supports on-the-fly typing validation Q DTD conformance Q Basic syntax checking Q Can categorize tag attributes by version and types Q Can add custom tags and attributes 25 ColdFusion App Server Q Supports clustering Q Addresses performance and scalability issues at most levels Q Supports ODBC, OLE, and native drivers for Oracle and Sybase Q Also supports stored procedures Q Supports server load balancing (Bright Tiger Technologies’ ClusterATS) and failover 26 Server Platforms Q ColdFusion Q Windows Q Solaris Q Linux Q ASP Q Windows Q Use ChiliSoft for other servers 27 9 ColdFusion Features Summary Q Advanced Editor Q Visual Database Tools Q Two-way Visual Programming Q Web Application Wizards Q Code Re-Use Q Interactive Debugging Q Dynamic Page Quality Assurance Q Tag Property Inspection 28 ColdFusion Features Summary (continued) Q Code Sweeper Q Extensible Tag Editors Q Custom Wizards Q Visual Tool Object Model Q Customizable Workspace Q Server-Side Source Control Q Shared Project Management Q One-Step Deployment 29 ColdFusion Features Summary (continued) Q Remote Team Development 30 10 Part II PHP 4 Environment 31 PHP Technology Q Server-side, cross-platform HTML embedded scripting language Q PHP is an open source project of the Apache Software Foundation Q See http://www.php.net/index2.php Q Example (hello.php): <html><head><title>PHP Test</title></head> <body> <?php echo "Hello World<p>"; ?> </body></html> 32 PHP Examples Q Showing variables <?php echo $HTTP_USER_AGENT; ?> Q Getting a list of web server variables <?php phpinfo(); ?> Q Checking for Internet Explorer <?php if(strstr($HTTP_USER_AGENT,"MSIE")) { echo "You are using Internet Explorer<br>"; } ?> 33 11 PHP Examples (continued) Q Jumping in and out of PHP mode <?php if(strstr($HTTP_USER_AGENT,"MSIE")) { ?> <center><b>You are using Internet Explorer</b></center> <? } else { ?> <center><b>You are not using Internet Explorer</b></center> <? } ?> 34 PHP Examples (continued) Q Flexible HTML Forms Handling Typical HTML form: <form action="action.php" method="post"> Your name: <input type="text" name="name"> You age: <input type="text" name="age"> <input type="submit"> </form> Action.php is as follows: Hi <?php echo $name; ?>. You are <?php echo $age; ?> years old. 35 Part III XML-Based Application Servers 36 12 PHP Software Q Source and binaries downloadable from: Q http://www.php.net/downloads.php Q Includes Q CGI binary plus server API versions for Apache, AOLserver, ISAPI and NSAPI Q MySQL support built-in Q Many other extensions 37 XML Application Server Architecture . (HP Bluestone XML Server 1.0/Visual-XML) 38 XML Application Server At Work . (HP Bluestone XML Server 1.0/Visual-XML) Q See Session 2 handout on “XML MOM Application Server Frameworks” 39 13 XML Application Server At Work . (Binary Evolution Velocigen) 40 Part IV Conclusion 41 Summary Q Page-Based Application Servers are either based on HTML tagging or scripting Q Page-Based Application Servers are less expensive to use and simpler than Servers for standalone use, and servers with IDEs Q ColdFusion is based on HTML extensions, and supports the development of tag-oriented dynamic pages for simple tasks Q PHP is a server-side cross-platform HTML embedded scripting language Q XML Application Servers are either MOM- or POP-oriented and rely on server-side processing of XML documents 42 14 Readings Q Readings Q Building Application Servers: Part I, Chapter 2 Q Handouts posted on the course web site Q Explore the ColdFusion 5.0 and PHP 4.0 Environments Q Read white papers under technical resources at Q http://www.bluestone.com/products/default.htm Q Also read ColdFusion, and PHP related whitepapers on the vendor sites Q Review network programming, and HTML (related JFCs) Q Project Frameworks Setup (ongoing) Q Apache Web Server (version 1.3.20, www.apache.org) Q Perl (version 5.x, www.perl.com) Q ColdFusion 5.0 (www.macromedia.com) 43 Q PHP 4.0.6 Assignment Q Assignment: Q Explore the textbooks’ references to Application Server technology (continued) Q #2a: Investigate page-based application server development environments. Write a short report that documents your findings and recommendations with respect to selection criteria in support of page-based development environments for application server technology Q #2b: See homework #2 specification 44 Next Session: Page-Based Application Servers (Part II) Q ASP Environment (IIS with COM+, and ASP) Q Servlets Q JSPs and TomCat Q XSPs 45 15.