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

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 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 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

My First Page ColdFusion

13

Outputting a Variable Value

My First Page ColdFusion #ProductName#

14

Querying a Data Source

Course List

Course List

SELECT CORNUMBER, CORNAME FROM CourseList #CORNUMBER# #CORNAME#

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 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 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): PHP Test "; ?>

32

PHP Examples

Q Showing variables

Q Getting a list of web server variables

Q Checking for "; } ?>

33

11 PHP Examples (continued)

Q Jumping in and out of PHP mode

You are using Internet Explorer
You are not using Internet Explorer

34

PHP Examples (continued)

Q Flexible HTML Forms Handling Typical HTML form:

Your name: You age:
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