Exploring the World of Application Servers

Exploring the World of Application Servers


December 18, 2000

By Rahul Kumar Gupta
Graphics by: Hema Sharma (NetAcross Ltd.)

The application server syncs and combines with the Web server for processing the request made by the client.

If we look at the request-response flow between client, Web server and application server, we come to know that the client's request first goes to the Web server, which then sends the required information to the application server. It then sends the response back to the Web server after taking an appropriate action. The Web server then sends the processed information back to the client. Web servers use different approaches or technology for forwarding or receiving back processed information. Some of the most common approaches are given below.

  1. CGI (Common Gateway Interface)- Can be written either in JAVA, C, C++, or Perl.
  2. FastCGI - Improved CGI programming in which each request is not handled as a different process like CGI.
  3. ASP (Active Server Pages) - A Microsoft Technology
  4. JSP (Java Server Pages)
  5. Java Servlets - Sun's Technology
  6. Java Script (Server Side) - NetScape Technology requires livewire for database connectivity.

First we will examine the Web application architecture without considering the application server as part of the Web application architecture.


All three can be on one machine or spread over the network on different machines as illustrated above.


NEXT ->

Features of the Application Servers

Active Application Server: This type of server supports and provides a rich environment for server-side logic expressed as objects, rules and components. These types of servers are stateful servers and are most suitable for dealing with based e-commerce and decision processing. Stateful servers are those servers that play the role of transaction coordinator and manage the data state. Stateless servers do not do these things completely on their own, but rather rely on database or transaction monitors for the completion of the transaction.


NEXT ->


Application Server Selection Parameters



Load Balancing

Fault Tolerance

Transaction Management

Multithreaded Architecture

Manageability

Security-like support for SSL, Firewall X.509 certificates, and access control lists (ACLs)

Security Level (e.g., server level, service level, directory level, and object level)

Development and Support Tools (i.e., any development environment)

CORBA Support

Application Portability (e.g., an application developed in one application server environment can be easily be ported on to other application server environment)

EJB Support

External Data Integration Support to integrate with legacy systems via: CICS, IMS, Tuxedo, and MQ Series

Distributed Standards Protocols Supported

Platforms Supported include Windows and Solaris

Protocol Support for CORBA, IIOP, LDAP, JNDI, RMI, HTTP, SMTP, SNMP, NSAPI, ISAPI, and others

Databases Supported include ODBC, JDBC, Oracle, Sybase, and MS-Access

Modeling Tools supported include Rational Rose

Connectivity to ERP tools such as those from SAP, PeopleSoft, and BAAN

API Support and Proprietary-Script-like PL/SQL cartridge in Oracle WAS, and CSPSpider in NetDynamics

Third-Party Web Server Support tools, such as Oracle WAS' Listener, supports IIS/Netscape

Third-Party Tools Support