Administration Guide
Overview Guide
Installation Guide
Previous Next Contents



Netscape Application Server Architecture
Netscape Application Server is an open and extensible solution. It is fully compliant with all existing Internet standards, including HTTP, HTML, CGI, NSAPI, ISAPI, and Java. Application logic can be written in Java or C/C+. Netscape Application Server provides support for existing and emerging standards.

The Netscape Application Server architecture consists of numerous modular components that provide an integrated solution for deploying business applications in a distributed environment and enables easy addition and support for new standards and protocols such as IIOP, DCOM, and so on. Netscape Application Server architecture includes the following key components:

The folowing illustration shows the various components of the Netscape Application Server Architecture. Each component includes key system- and application-level services to optimize communication with Web servers and back-end data sources.

When a request comes in from a Web browser, the request is passed to the Web server via the HTTP, SHTTP, or SSL protocol. The request is processed by the appropriate Web connector, such as the NSAPI Web connector if using Netscape Web servers or ISAPI Web Connector if using Microsoft Web servers. The request is then forwarded to the corresponding Listener on a Netscape Application Server. The Web Connectors and Listeners manage the passing of requests from the Web server to the Netscape Application Server.

In an environment with multiple Netscape Application Servers, a request is first handled by the Load Balancing System. The Load Balancing System directs the request to the server best suited to process it. The Request Management System then assigns threads from a dynamic thread pool to process the request.

The request is then handed to the Application Logic Processing System where the appropriate application logic is executed to process the request. Application logic processing might involve calling one or more functions from the following subsystems:

All key application services are stream-aware, thus utilizing HTTP streaming and enabling fast response times.

Administrative Services provide a framework to facilitate easy management and deployment of applications. It supports services such as application partitioning, event logging, request monitoring, and dynamic configuration of key server settings. Netscape Application Server's comprehensive built-in system-level and application-level services are detailed in the following sections.

Web Server to Netscape Application Server Communication
Communication between a Web server and Netscape Application Server occurs through NSAPI, ISAPI, and optimized CGI. Optimization and superior performance is achieved through Listeners, Web Connectors, the Protocol Manager, and Streaming Services. Communication with Web browsers occurs through the HTTP, SHTTP, or SSL protocol layers.

Web Connectors and Listeners
Web Connectors and Listeners communicate with Web servers.

With the HTTP handler, new Listeners can be added. The Protocol Manager can support additional protocols such as DCOM and IIOP.

Communication Protocol Manager
Netscape Application Server Communication Protocol Manager manages and provides services for all active, loaded Listeners.

HTTP Streaming Services
HTTP Streaming handles data streams from the Netscape Application Server to the Web server and to the Web browser.

Refer to the following illustration for a conceptual view of how the Netscape Application Server communicates with the Web server via Listeners, Web Connectors, the Protocol Manager, and Streaming Services:

Load Balancing System
Incoming requests first pass through the Netscape Application Server Load Balancing System, which directs requests to available Netscape Application Servers for optimized processing under heavy loads. The Load Balancing System includes a Load Monitor and a Load Balancer, as described below.

Load Monitor
The Netscape Application Server Load Monitor takes a snapshot of server load based on administrator-configured interval settings. The Load Monitor tabulates resource availability and system performance.

Load Balancer
The Netscape Application Server Load Balancer uses the load and performance statistics retrieved by the Load Monitor to determine the server with the most available resources to handle an incoming request. Each individual Netscape Application Server has its own load balancing module which makes routing decisions based on load balancing parameters. Administrators can tune these parameters using the Netscape Application Server Administrator.

After a request is routed to the appropriate system, it is passed to the Request Management System.

Request Management System
Incoming requests are handled by the Request Management System. Netscape Application Server is a multi-threaded system and the Request Management System assigns threads from a dynamic thread pool to process the requests. The Request Management System enables the simultaneous processing of a high volume of requests. System administrators can configure thread pool parameters for optimal request processing. The Request Management System includes the following components:

The Request Manager manages both the Thread Manager and the Queue Manager. It receives incoming requests from the higher-level subsystems and either assigns threads to process the requests or queues the requests until a thread is available.

The Thread Manager provides a dynamic pool of threads used for multi-threaded processing.

The Queue Manager manages the list of pending requests and descriptive information such as the unique request ID and a request's current processing status such as waiting, in process, finished, and so on.

Netscape Application Server Request Logging, if enabled by the system administrator, keeps an information log of Web server requests in a back-end database or in log files.

Application Logic Processing System
The Application Logic Processing System handles all requests related to processing business logic. Requests are identified by their Globally Unique Identifier (GUID) and checked against the Global Directory Service (GDS). The GDS determines the language of the application logic object. The Application Logic Processing System then loads the appropriate language-specific handler for the request. For example, on Windows NT, a .class file or a DLL is loaded for Java or C++ application logic, respectively. On UNIX, a .class file is loaded for Java application logic and a shared library is loaded for C++ application logic.

The following illustration provides an overview of the Application Logic Processing System components:

For client-side applications, the Application Logic Processing System is utilized when server-side objects are invoked by the client-side application. Otherwise, requests are handled by the client-side application and the System and Application Services of the Netscape Application Server. Client-side applications communicate using IIOP. In the future, they will also be able to communicate using DCOM.

The following subsystems are also utilized by the Application Logic Processing System:

Result Cache Monitor
The Result Cache Monitor subsystem determines if the incoming request has been stored in the Result Cache. If the request has been cached, the previously computed result is returned immediately. Otherwise, the application logic is executed and the result is processed.

Events Logger
The Events Logger subsystem maintains a log of application logic execution. Application developers can enable logging in their application logic to assist with debugging and tuning. To assist with further analysis, system administrators can enable automatic event logging, which records the messages generated by dynamically loadable modules (DLMs) and application logic objects when processing user requests.

System and Application Services
System and Application Services provide a variety of application-level capabilities and system-level capabilities to enable the development of complex business logic and transaction-based applications. These services are illustrated in the following diagram and include:

Transaction Management System
The Transaction Management System ensures transaction integrity and manages high-volume, transactional database requests. Key components include:

Database Access Services
The Database Access Services manage the interaction between Netscape Application Server applications and back-end data sources. Netscape Application Server provides powerful data access capabilities with back-end data sources. The effective management of database resources allows a large number of database requests and transactions to be handled. Key components include:

Presentation Services
Presentation Services manage the dynamic presentation of HTML-formatted pages, including dynamically generated pages and reports. Key components include:

All Presentation Service components are stream-aware. Typically, Presentation Services are not utilized by client-side applications which perform their own data presentation using advanced user interface controls such as charts and graphs.

Application Services
Application Services provide a variety of services to manage user sessions, application states, cookies, electronic mail, and result caching. Key components include:

Administrative Services
The Administrative Server provides a framework for managing distributed Netscape Application Servers and applications. The Administrative Server supports the Java-based administrator tools and the Netscape Application Server Administrator for easy point-and-click management of servers and applications.

Administrative Server
Administrative Server enables remote administration of servers and applications. The Administrative Server registers all changes to system settings made using the administrative tools.

Netscape Application Server Administrator
Netscape Application Server Administrator allows remote administration of Netscape Application Servers and enables load balancing, directory services, database connection management, thread and state management, and event and HTTP logging. The Netscape Application Server Administrator also allows administrators to monitor the server environment and tune for optimal performance. In addition, the Server Administrator allows remote administration of applications and simplifies the management of distributed applications. Administrators can use the Server Administrator to partition application logic, dynamically enhance application components, and rapidly deploy applications.

Kernel Services
Kernel Services provide low-level services to all other services and sub-systems. Kernel services are listed in the following table:

Object-Support Service
System Catalog Services

Message Logging
Operating System Abstraction Service
Synchronization Abstraction Services
Language Binding Engines

Object Management Services
Asynchronous Event Manage
Directory-Level Services
Thread Abstraction Services
Timed Event Manager
Lock Manager

Server-to-Server Communications
Server-to-server communication between Netscape Application Servers involves the following components:

Communication Protocol and Communication Manager
The Communication Protocol and Communication Manager enables communication between Netscape Application Servers. The Communication Manager handles point-to-point communications through the Communication Protocol.

Broadcast Manager
The Broadcast Manager handles the broadcast of messages to all Netscape Application Servers within one system or across a cluster of servers. For example, the Load Balancer uses the Broadcast Manager to send load balancing statistics to all Netscape Application Servers.

 

© Copyright 1998 Netscape Communications Corporation