Previous     Contents     Index     DocHome     Next     
iPlanet Application Server Overiew Guide



Chapter 2   Application Server Architecture


This chapter summarizes the design elements of iAS and describes the Application Server structure.

This chapter contains the following sections:



Application Server Overview

An Application Server runs the software between a browser and data. For example, when a customer enters an order from a browser, a web server sends the request to the application server which executes logic and also retrieves and updates customer data from back-end sources. The application server runs the business programs instead of the client (browser, rich client), web server or back-end system. It sits in the middle between a client and an enterprise's data and other applications. It physically separates out the business logic from the client and the data into an architecture known as multitier computing. Application servers enables a business to develop and deploy applications quickly and easily and increase the quantity of their users without reprogramming. It can do this because it is on a separate tier.



Application servers are the next logical step in enterprise web development. They developed from the need to have mission critical applications consistently available to an ever growing number of clients. Additionally these applications needed to be secure and reliable so that regardless of the number of people accessing the system or the source of data, the application server would always be up and running. Prior to application servers, web applications were often run on web servers which are really only designed to serve up web pages. Running and developing applications was slow and complex.

Application servers are part of a multi-tiered architecture. This is an architecture where there is a physical separation between the client which requests information, the programs that process the request and the data that is operated on. The multi-tiered architecture evolved from the mainframe where client, data and process were centralized in the one place. GUI interfaces were rare and remote multiple database access was difficult. Client/Server computing followed in the mid 1980's, where processing was divided between the Client (a PC) and a Server (a mainframe) and requests were usually handled in queries by a relational database system. The presentation and business logic was applied by the PC after receiving processed data from the mainframe. This system allowed for modular development and a GUI but deployment proved problematic.

Three-tier computing then divided the presentation logic from the business logic. This separation meant that the business code was independent of how it was presented and where. The business logic layer, now in the middle tier, need not be concerned with what type of client displayed the data. Three-tier was more portable, worked across different types of platforms and allowed for the balancing of requests from the client across multiple servers. Security was easier to implement as the application software was now off the client and costs were substantially reduced. But providing the underlying functions of the middle layer such as transaction processing, security and accessing of the data layer was still complex. The emergence of development tools and a runtime environment to solve this problem came together as the Application Server.


The Multitiered Environment

iPlanet Application Server is the middleware between enterprise data sources and the clients that access those data sources. Business code is stored and processed on iPlanet Application Server rather than on clients. An application is deployed and managed in a single location, and the application is accessible to large numbers of heterogeneous clients.

iPlanet Application Server applications run in a distributed, multitiered environment. This means that an enterprise system might consist of several application servers — computers running the iPlanet Application Server software — along with multiple database servers and web servers. Application code can be distributed among the application servers. Overall, the machines and software involved are divided into three tiers:

  • a client tier; the user interface. Requests for data originate here, represented by web browsers or rich clients (such as a Java application).

  • a server tier represented by a web server such as iPlanet Web Server Enterprise Edition and an application server which runs the business code such as iPlanet Application Server.

  • a data tier, represented by relational databases or other back-end data sources such as Oracle or SAP R/3.


  • End users interact with client software, typically a web browser, to use the application.

  • When a request originates from a web browser, it is sent to the web server. Assuming the request requires application processing or data access, the web server forwards the request to iPlanet Application Server (iAS).

  • When a request originates from a java client, it is sent to iAS by way of an RMI/IIOP link.

  • iAS handles requests by running the appropriate application code (and accessing data sources if needed). iAS returns the results to the web server, which in turn forwards the reply back to the client.


Industry Standard Components

iPlanet Application Server is 100% compliant with the Java 2 Platform Enterprise Edition. J2EE is a component based architecture for multi-tiered computing. With J2EE, business logic can be reused and the application can be run on other platforms. Transaction management, life- cycle management, and resource pooling are built into the J2EE platform and provided automatically to the components it supports. Component and application developers are free to focus on specifics such as business logic and user interfaces. The J2EE application model encapsulates the layers of functionality in specific types of components. Business logic is encapsulated in Enterprise JavaBean (EJB) components. Client interaction can be presented through HTML, Java Server Pages (JSP), Servlets and stand alone applets. For more information on J2EE see Chapter 4 "J2EE Concepts" Following is a list of specific standards and components that iPlanet Application Server 6.0 supports:

  • JDK 1.2 Specification

  • Java Servlet 2.2 Specification

  • Enterprise JavaBeans 1.1 Specification

  • JavaServer Pages 1.1 Specification

  • JDBC 2.0 Core Specification

  • JDBC 2.0 Standard Extensions Specification

  • JTA 1.0 Specification

  • JNDI 1.2 Specification

  • RMI-IIOP 1.0.1 Specification

  • JavaMail 1.1 Specification

  • Java Message Service1.0.2 Specification

  • JAF 1.0 Specification

  • Corba 2.3 Specification

  • HTML

  • XML

  • LDAP

  • SNMP

  • XA

Note that for building application components written in C++, iPlanet Application Server provides the Foundation Class Library.





Previous     Contents     Index     DocHome     Next     
Copyright © 2000 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.

Last Updated April 27, 2000