Administration Guide
Overview Guide
Installation Guide
Previous Next Contents



Key Features of the Netscape Application Server
Netscape Application Server is an advanced application server that enables corporations to build, deploy, and manage Web-based business applications. The Netscape Application Server is an open and extensible solution that delivers on the key requirements for Web-based business applications, including the following:

The following illustration shows the role of Netscape Application Server in a Web environment:

The Netscape Application Server is a fully integrated solution with built-in support for the development, deployment, and management of Web-based business applications. The following sections describe key features of the Netscape Application Server.

Rapid Development and Deployment of Transactional Applications
Netscape Application Server enables rapid deployment of transactional applications by incorporating the following design methodologies:

Netscape Application Server can efficiently handle a high volume of incoming requests and transactions. Netscape Application Server eases development of transactional applications by providing built-in support for state, session, and transaction management.

Netscape Application Server is language-independent. Using the extensive Netscape Application Server Foundation Class Library, developers can write applications in Java or C++. The Netscape Application Server Foundation Class Library enables development of key functionality including high-performance database access, dynamic content generation, transactions, and so on.

Session and State Management
The Netscape Application Server supports state and session management capabilities required for transaction-based applications on the Web. State and session management is supported through the Session Manager and the Distributed State Manager. Application developers can use the State and Session class libraries included in the Netscape Application Builder to maintain state and user session information. State and session information is stored on each server in a distributed environment.

For example, an application can display a login screen, prompt users to enter their user name and password, then save this information in a session object. Thereafter, the application uses this same information to log in to multiple databases without prompting the user to type it in again.

Similarly, in an online shopping application, developers can store a list of products selected for purchase such as SKU, quantity, price, and so on, and persistent variables, such as running order totals, in a session object.

State and session management is especially important for applications which have complex, multi-step operations. In an environment where application logic is partitioned across different servers, system administrators can use the Netscape Application Server Administrator to optionally designate a single server to act as the central repository for all state information.

High Scalability
Netscape Application Server supports application partitioning and dynamic load balancing so applications can be partitioned across multiple servers. Application scaling with Netscape Application Server is done simply by adding more servers to a cluster of servers or adding more CPUs to a multi-CPU system and deploying the application logic to the new servers. Developers do not need to change any application logic as the user base grows. In addition, application tasks can be assigned to the server best able to process the request efficiently. With Netscape Application Server's scalable architecture, applications can be built to meet the needs of initial deployment and easily be scaled as business needs grow.

Application Partitioning

The Netscape Application Server architecture supports application partitioning, which allows logic to be distributed across servers as an application scales to accommodate heavier loads. Using the Netscape Application Server Administrator, system administrators can partition an application into functional areas.

For example, in an online catalog application, the application logic for order processing, inventory management, and checkout processing can reside on different servers. Regardless of how applications are partitioned and distributed, the application functions as a single, cohesive unit.

Application logic can also be grouped where each group consists of related operations. For example, a group might contain all logic associated with order processing. Each application logic object can belong to one or more groups. Applications can also share application logic.

System administrators can deploy these groups of application logic objects locally or globally across application servers in the following ways:

Application partitioning gives system administrators tremendous flexibility to scale and tune the performance of applications. In addition, having application logic objects stored on multiple servers helps ensure high application availability in the event of a server shutdown.

Dynamic Load Balancing

Netscape Application Server supports dynamic load balancing to provide optimal performance levels under heavy loads. With load balancing enabled, the Netscape Application Server can direct certain requests to be run on an available server instead of waiting for a busy server to become available. If one server is overburdened, another can take its place to process the request. The Load Monitor tabulates information on server resource availability.

To use load balancing, application logic must be partitioned across all Netscape Application Servers that might process the application logic at run time. System administrators must determine if an entire application or specific parts of an application should be load balanced.

For optimal performance and resource utilization, system administrators can deploy application logic on servers that are best configured to handle execution of that logic. Each Netscape Application Server has its own load balancing module which determines the optimal server to process an incoming request.

Partitioning characteristics are dynamically known to all servers in the cluster. Netscape Application Servers regularly update their load statistics and broadcast them to other Netscape Application Servers in the cluster. Based on load balancing factors, requests are dynamically routed to servers. Load balancing factors are configured using the Netscape Application Server Administrator.

High Performance
Netscape Application Server is a high performance, multi-threaded, and multi-processing application server. Netscape Application Server can handle a high number of concurrent requests, database connections, and sessions, and provides high performance even under heavy loads.

Netscape Application Server delivers high performance between Web servers, other Netscape Application Servers, and heterogeneous back-end data sources through the following features:

Aside from the application server, other factors affecting application performance include network topology, network and server hardware, database architecture, and application programming.

Database Connection Caching

To improve performance, the Netscape Application Server caches database connections so that commonly used, existing connections are re-used rather than re-established each time. Connection caching avoids the overhead involved in creating a new database connection for each request.

Application developers can enable database connection caching in their application logic. At run time, when a request creates a new connection to a database, Netscape Application Server stores the connection in the cache. When the request has completed using the connection, the connection is marked as free in the cache. If a new request is made to the same database by the same user, Netscape Application Server can first check the cache and use an existing free connection rather than creating a new one. If the freed connection remains unused after a specified time-out period, it is released by the server.

System administrators can use the Netscape Application Server Administrator to specify server-wide settings for database connection caching, such as the initial number of slots in the cache and the time-out limit for free connections, and so on.

Using the Netscape Application Server Administrator, system administrators can monitor server performance and tune the number of available connections in the cache. This ensures an optimal ratio of cached connections to system resources.

Result Caching

Netscape Application Server improves application performance by caching the results of application logic execution. Developers can optionally enable this feature in their applications.

If caching is enabled, Netscape Application Server saves the application logic's input parameters and results in the cache. The next time the Netscape Application Server executes the same request, the server can first check the cache to determine whether the input parameters match the cached input parameters. If they match, the server retrieves the results from the cache instead of executing the request again. Result caching is especially effective for large data requests that involve lengthy processing time and for frequently accessed application logic.

HTTP Streaming

Netscape Application Server provides HTTP streaming facilities. Streaming improves performance by allowing users to begin viewing results of requests sooner, rather than waiting until the complete operation has been processed. Application developers can explicitly control what data is streamed, or allow the system to provide automatic streaming.

Streaming is especially useful for large data sets involving lengthy queries. For example, suppose a user requests a price list containing 10,000 items. The application can process the query and display items to the user as they become available, for example, 40 at a time (or one full page view), rather than wait until all 10,000 items have been retrieved from the database.

Multi-threaded Capabilities

Netscape Application Server supports the multi-threading capabilities of the host operating system. An application can optimize performance by processing requests on multiple threads, which maximizes CPU resource utilization.

Application developers automatically take advantage of multi-threading in their applications. In addition, developers can run database operations such as queries, inserts, updates, deletes, and so on, asynchronously. Asynchronous operations allow an application to do other work while a time-consuming operation, such as a large query, runs in the background.

System administrators can use the Netscape Application Server Administrator tool to specify settings for multi-threading, such as the following:

Typically, administrators will monitor server performance and tune the number of available threads to achieve an optimal ratio of threads to system resources.

Optimized Web Server-to-Netscape Application Server Communication

Netscape Application Server optimizes application performance through tighter integration with the Web server using Web Connectors and Listeners. Netscape Application Server supports NSAPI, ISAPI, and optimized CGI for Netscape, Microsoft, and CGI-compatible Web servers, respectively.

Management Capabilities
Netscape Application Server eases application management by providing integrated management facilities. These facilities include a robust administration framework with feature-rich server and application administration tools. Netscape Application Server Administrator enables easy management of distributed applications and allows applications to be dynamically deployed and scaled. Netscape Application Server Administrator allows remote management of multiple servers and enables tuning and optimization of the server environment. Key features include:

Dynamic Application Management

Netscape Application Server's architecture allows partitioned applications to run even if one or more servers fail. In a load-balanced server configuration, application logic can be replicated on multiple servers. If a server fails, the load balancing module dynamically directs requests to other available servers, thus preventing application-wide failure.

In addition, using the Netscape Application Server Administrator, administrators can replace servers without shutting down the entire application.

System administrators can also swap out or update application logic objects without shutting down the application.

Integrated Management Capabilities

Netscape Application Server uses the Netscape Application Server Administrator to remotely manage servers and distributed applications.

Using the Netscape Application Server Administrator, system administrators can reconfigure and monitor servers in real-time without interrupting application operation. In addition, the server environment can be tuned for optimal performance.

Event Logging and Failure Analysis

Netscape Application Server provides facilities for logging requests from Web servers and logging system-level and application-level events on Netscape Application Servers. For deployed applications, system administrators can use contemporaneous logs to assist with failure analysis and to detect attempted security breaches.

Event logging occurs in multiple ways on the Netscape Application Server:

Security
Netscape Application Server provides secure Web server communication and supports SSL, SHTTP, and HTTP challenge-response authentication. To bridge the security gap between browsers and data sources, Netscape Application Server supports user authentication, cookies, and database access controls for the secure handling of transactional operations. Event logging and tracking enables detection of, and protection against, unauthorized access.

User Authentication

The Netscape Application Server Administrator provides facilities to enable user authentication to ensure that only authorized users can access applications, databases, and directories.

Server administrators can use the security tool of the Administrator to create users, groups, and roles to manage access to specified resources.

Support for HTTP, SHTTP, and SSL Protocols

The Netscape Application Server takes advantage of standard secure protocols supported by most Web servers, including:

Access Controls to Data Sources

Netscape Application Server works within the framework of existing access controls for relational database management systems. A user or application must log into the database before gaining access to the data.

Developers can write applications so that users enter login information only once and the application saves the information in a session object. Thereafter, the application uses the initial login information to log into different databases, as needed, in the background without requiring additional user input.

Netscape Application Server shields back-end data by acting as a secure gatekeeper between the Web server and the relational database system.

Dynamic Content Generation
Netscape Application Server provides features that streamline the process of dynamically generating content in the form of HTML pages. These pages can include nested or hierarchical reports.

Developers can create report templates using the facilities provided in the Data Processing Engine and Template Engine. Within a template, developers can embed special tags that link to fields in a query's result set. Within their applications, developers can then run a query, pass the template and result set to the Template Engine, and dynamically generate an HTML page containing formatted data. The Template Engine can also dynamically generate templates based on the nature of the data.

 

© Copyright 1998 Netscape Communications Corporation