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
13
Outputting a Variable Value
14
Querying a Data Source
Course List
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):
32
PHP Examples
Q Showing variables
Q Getting a list of web server variables
Q Checking for Internet Explorer "; } ?>
33
11 PHP Examples (continued)
Q Jumping in and out of PHP mode
34
PHP Examples (continued)
Q Flexible HTML Forms Handling Typical HTML form:
Action.php is as follows: Hi . You are 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