Oracle9i Application Server Overview Guide
Release 1.0.2

Part Number A87353-01

Go to previous page Go to next page

Oracle9i Application Server Services

Oracle9i Application Server services provide an integrated Internet infrastructure that supports open Internet technologies. This chapter describes all of the Oracle9i Application Server services:

Communication Services

These services handle all incoming requests received by Oracle9i Application Server, by providing Web listening services. Some of these requests are processed by Oracle HTTP Server and some requests are routed to other areas of Oracle9i Application Server for processing. The major elements that support these services are highlighted in Figure 2-1.

Figure 2-1 Communication Services in Oracle9i Application Server

Oracle HTTP Server powered by Apache

Oracle9i Application Server uses Oracle HTTP Server to provide Web listening services, which is powered by Apache Web server technology. Using this technology offers the following:

Oracle HTTP Server Modules (mods)

In addition to the compiled Apache mods provided with Oracle HTTP server, Oracle has enhanced several of the standard mods and has added Oracle-specific mods, which are described in the following sections.


This module provides standard S-HTTP that is fully supported by Oracle. It enables secure listener connections with an encryption mechanism that is provided by Oracle through Secure Sockets Layer (SSL).

See Also:

mod_ssl Documentation in the Oracle9i Application Server Documentation Library for detailed information. 


This module routes PL/SQL requests to the Oracle8i PLSQL service, which then delegates requests to PL/SQL programs.

See Also:

Using the PL/SQL Gateway in the Oracle9i Application Server Documentation Library for detailed information. 


This module forwards Perl application requests to the Perl Interpreter that is embedded in Oracle HTTP Server. The primary advantages of using mod_perl are power and speed. The embedded Perl Interpreter saves the overhead of starting an external interpreter, and the code caching feature, where modules and scripts are loaded and compiled only once, allows the server to run code that is already loaded and compiled.

See Also:

Apache mod_perl Documentation in the Oracle9i Application Server Documentation Library for detailed information. 


This module routes all servlet requests to the Apache JServ servlet engine, which is embedded in Oracle HTTP Server. To support stateful transactions, it can share servlets across multiple zones and ensures that requests get routed to the same servlet engine.

See Also:

Apache JServ Documentation in the Oracle9i Application Server Documentation Library for detailed information. 


This module forwards servlet requests to stateful Java and PL/SQL servlets in Oracle Servlet Engine (OSE) contained in Oracle8i. This module:

Oracle Plug-in for Microsoft IIS

With Oracle Plug-in for Microsoft IIS, you can use Microsoft Internet Information Server (IIS) to directly access PL/SQL and Java Web components stored in an Oracle database.

Oracle Plug-in for Microsoft IIS provides functionality in a Microsoft IIS environment that is similar to the Oracle HTTP Server Modules, mod_plsql and mod_ose. Using it, you can access Web components in one of two ways:

PL/SQL Web Component Access

Oracle Plug-in for Microsoft IIS supports accessing PL/SQL server pages and PL/SQL stored procedures that have been written with Oracle PL/SQL Web Toolkit. PL/SQL requests are filtered using a predefined prefix and then are executed using pooled database connections. Users have the ability to configure PL/SQL component access from multiple databases.

Java Web Component Access

Oracle Plug-in for Microsoft IIS supports accessing JavaServer Pages (JSPs) and servlets. Java requests are filtered using a Java configuration file.


Currently users can configure Java component access from only one database in a configuration. 

See Also:

Oracle Plug-in for Microsoft IIS Configuration and User's Guide in the Oracle9i Application Server Documentation Library for detailed information. 

Content Management Services

These services make all of your content, regardless of the file type, accessible in one heterogeneous file hierarchy through Web browsers, Microsoft Windows networking, File Transfer Protocol (FTP), or an e-mail client. In addition, you can use these services to configure sophisticated file searching capabilities, event alerts, and check-in-check-out functionality to support collaborative projects. These services are highlighted in Figure 2-2.

Figure 2-2 Content Management Services in Oracle9i Application Server

Oracle Internet File System

Oracle Internet File System is a service that stores files in an Oracle8i database. From the user's viewpoint, Oracle Internet File System appears as any other file system accessible through Web browsers, Microsoft Windows networking, FTP, or an e-mail client. The fact that files are stored in the database is transparent to users because users do not directly interact with the database.

Unlike other file systems, Oracle Internet File System stores all of your files--from Web pages to e-mail, from spreadsheets to XML files--in the same file system. For example, you can display e-mail message files, Web files, and word processing files within a single file hierarchy, or you can perform a single search to locate all references to a topic.

User's View

You can view your file hierarchies through either a Web or a Windows interface. Although each interface has a unique look and feel, the Web and the Windows interfaces perform the same functions. Figure 2-3 shows the Web interface as it appears in a Web browser.

Figure 2-3 Oracle Internet File System Web Interface

Figure 2-4 shows the Windows interface as it appears using Windows Explorer in the Microsoft Windows operating system.

Figure 2-4 Oracle Internet File System Windows Interface

File System Management

Users can manage the files that they own or those for which they have the correct permissions. The main file management features for users include

Content Management

Oracle Internet File System content management features support collaborative projects and sophisticated searching across different types of files. The main content management features include

Development Tools

The purpose of hosting files on any type of file service is to make them available to applications. While all of your files are still available to word processors, Web authoring tools, and other types of client applications, Oracle Internet File System includes a Software Development Kit (SDK) that you can use to customize the server for specific purposes, such as making file contents available to reporting tools, sending alerts when files are updated, or formatting files for Web-based applications.

Oracle Internet File System SDK includes the following components described in Table 2-1.

Table 2-1 Oracle Internet File System SDK Components  
SDK Component  Description  Examples 

Default XML Parser 

A Java application that extracts file contents and stores them separately from the file itself. You can add your own parsers to Oracle Internet File System by registering them through XML. 

  • Extract information from files and make it available to data mining tools

  • Organize your files and folders into subclasses so you can set alerts or add additional attributes to files


Default XML Renderer 

Like the parser, a Java application that you register with Oracle Internet File System by using XML 

  • Reconstruct a parsed file or portions of a parsed file into other formats, such as HTML



A Java application that executes on a schedule that you define 

  • Send e-mail alerts when insert, delete, or update operations occur

  • Set events, such as file deletions or file moves, that execute on a schedule



A method that allows an application program to intervene with the standard schema operations (Insert, Update, and Free) 

  • Add an attribute with a specified value to every new instance of a custom document class

  • Provide special server-side validation on Update operations


Java API 

A collection of published Java classes 

  • Create and manage agents

  • Develop applications

  • Create custom parsers

  • Manage database objects

  • Create custom renderers

  • Manage search functionality


Supported Protocols

Oracle Internet File System includes a set of standard protocol servers. Each protocol server accepts commands from a standard client and maps those commands to schema operations. The protocol servers that are included are:

Component Architecture Overview

Figure 2-5 shows the main components of Oracle Internet Files system, which includes the protocol servers, the services, and the schema.

Figure 2-5 Oracle Internet File System Component Architecture

See Also:

Oracle Internet File System documentation in the Oracle9i Application Server Documentation Library. 

Business Logic Services

These services support your application logic. Using Business Logic Services, you can build and run your Web applications. The following sections describe the major elements that provide business logic services in Oracle9i Application Server. These services are highlighted in Figure 2-6.

Figure 2-6 Business Logic Services in Oracle9i Application Server

Oracle Business Components for Java

Oracle Business Components for Java is a 100% pure Java and XML framework that enables productive development, portable deployment, and flexible customization of multitiered, database applications from reusable business components. Application developers can use this framework to

Once developed, these application services can then be deployed as either EJB Session Beans or CORBA Server Objects on Oracle9i Application Server.


Oracle JDeveloper, an application development tool, is required to create, manage, debug, and deploy Oracle Business Components for Java applications. You can download Oracle JDeveloper from Oracle Technology Network at 

See Also:

Oracle Business Components for Java documentation in the Oracle9i Application Server Documentation Library. 

Oracle8i JVM

Designed as a highly scalable, server-side Java platform, Oracle8i JVM is an enterprise-level server environment that uses 100% pure Java and supports Enterprise JavaBeans, CORBA, and database stored procedures. Oracle8i JVM achieves scalability through its unique architectural design, which aids memory management when the number of users increases.

Oracle8i JVM provides a number of advantages, such as

Oracle8i JVM is the common foundation for running Java and Java services in Oracle9i Application Server and Oracle8i. Consequently, components can be seamlessly moved across tiers without having to change any code.

See Also:

Oracle8i JVM documentation in the Oracle9i Application Server Documentation Library. 

Oracle8i PLSQL

Oracle8i PLSQL is a scalable engine for running business logic against data in Oracle Database Cache and Oracle8i database. It enables users to invoke PL/SQL procedures stored in Oracle databases through their Web browsers. The stored procedures retrieve data from tables in the database and generate HTML pages that include the data which are then returned to the client browser.

See Also:

PL/SQL User's Guide and Reference in the Oracle Database Documentation Library. 

Oracle Forms Services

You can run applications based on Oracle Forms technology either over the Internet or over your corporate intranet. On the application server tier, Oracle Forms Services consists of a listener and a runtime engine, where the application logic is stored. On the client tier, Oracle Forms Services consists of a Java applet, which provides the user interface for the runtime engine, and Oracle JInitiator (a Java plug-in) that provides the ability to specify the use of a specific Java virtual machine on the client.

In Oracle9i Application Server, when a user submits a URL to launch an Oracle Forms-based application, the Web listener accepts the request and downloads the Oracle Forms applet to the user's browser. Then the Oracle Forms applet establishes a persistent connection to an Oracle Forms runtime engine. All processing takes place between the Oracle Forms applet and the Oracle Forms Services runtime engine, which seamlessly handles any queries or commits to the database.

See Also:

Oracle Forms Services documentation in the Oracle9i Application Server Documentation Library. 

Presentation Services

These services deliver dynamic content to client browsers, supporting servlets, JavaServer Pages, Perl/CGI scripts, PL/SQL Pages, forms, and business intelligence. By using Presentation Services, you can build your presentation layer for your Web applications. These services are highlighted in Figure 2-7.

Figure 2-7 Presentation Services in Oracle9i Application Server

Apache JServ

Apache JServ is a 100% pure Java servlet engine that is fully compliant with the following Sun Microsystems Java specifications:

Apache JServ works on any Java Virtual Machine that is compliant with this JRE and will execute any Java servlet that is compliant with this version of the Java Servlet APIs specification.

When the HTTP server receives a servlet request, it is routed to mod_jserv, which forwards the request to the Apache JServ servlet engine.

See Also:

Apache JServ Documentation in the Oracle9i Application Server Documentation Library. 

OracleJSP (JavaServer Pages)

As Sun Microsystems explains, JavaServer Pages technology extends Java Servlet technology, and supports the use of Java calls and scriptlets within HTML and XML pages. By using JSP pages, you can combine static template data with dynamic content to create user interfaces. JSP pages support component-based development, separating business logic (usually in JavaBeans) from the presentation, thus allowing developers to focus on their areas of expertise. Consequently, JSP developers (who may not know Java) can focus on presentation logic, while Java developers can focus on business logic.

For general information about JavaServer Pages, refer to the JavaServer Pages Specification (available from

OracleJSP is an implementation of JavaServer Pages version 1.1 as specified by Sun Microsystems and extends this specification to provide these benefits:

Oracle PL/SQL Server Pages (PSP)

Oracle PSPs are analogous to JavaServer Pages, but they use PL/SQL rather than Java for the server-side scripting. Oracle PSP includes the PSP Compiler and the PL/SQL Web Toolkit. By using this service when developing applications, you can separate page format from application logic.

Starting with either an existing Web page or stored procedure, you can create dynamic Web pages. These dynamic Web pages can perform database operations and display the results as HTML, XML, plain text, or some other document type that your browser has been configured to recognize. Typically, a PL/SQL server page is intended to be displayed in a Web browser. However, it can also be retrieved and interpreted by a program that can make HTTP requests, such as a Java or Perl application.

A PSP file can contain whatever content you like, with text and tags interspersed with PSP directives, declarations, and scriptlets:

You can author the Web pages in a script-friendly HTML authoring tool and drop the pieces of PL/SQL code into place. Embedding the PL/SQL code in the HTML page that you create lets you write content quickly and follow a rapid, iterative development process.

See Also:

Oracle8i Application Developer's Guide - Fundamentals in the Oracle Database Documentation Library. 

Perl Interpreter

The Perl Interpreter is a persistent Perl runtime environment that is embedded in Oracle HTTP Server, thus saving the overhead of starting an external interpreter. When Oracle HTTP Server receives a Perl request, it is routed through mod_perl to the Perl Interpreter for processing.

See Also:

Apache mod_perl Documentation in the Oracle9i Application Server Documentation Library. 

Developer's Kits

To support application development and deployment, several toolkits containing libraries and tools are included in Oracle9i Application Server. Using the Developer's Kits, you can build Web applications that can access your database. These services are highlighted in Figure 2-8.

Figure 2-8 Developer's Kits in Oracle9i Application Server

Oracle Database Developer's Kit

Oracle Database Client Developer's Kit contains client libraries for Oracle8i and the Java client libraries (JMS, SQLJ, JDBC, and OCI).

Oracle Java Messaging Service (JMS) Toolkit

Oracle JMS extends the standard Sun Microsystems Java Message Service version 1.02 specification. In addition to the standard JMS features, Oracle JMS provides a Java API for Oracle Advanced Queuing (AQ). This API supports the AQ administrative operations and other AQ features including

Oracle SQLJ Translator

Oracle SQLJ is a preprocessor that developers can use to embed static SQL operations in Java code. A SQLJ program is a Java program that contains embedded static SQL statements which comply with the ANSI-standard SQLJ Language Reference syntax. Static SQL operations are predefined--the operations themselves do not change in real-time as a user runs the application, although the data values transmitted can change dynamically.

Oracle SQLJ consists of a translator and a runtime component. The translator replaces embedded SQL with calls to the SQLJ runtime component, which implements the SQL operations. In standard SQLJ, this is typically done through calls to a JDBC driver. In the case of Oracle9i Application Server, you use an Oracle JDBC driver. When users run SQLJ applications, the runtime component is invoked to handle the SQL operations.

Oracle SQLJ Translator

The translator is a precompiler, which developers run after creating SQLJ source code. The translator checks

The translator, written in 100% pure Java, supports a programming syntax that allows you to embed SQL operations inside SQLJ executable statements. SQLJ executable statements and SQLJ declarations are preceded by the # sql token and can be interspersed with Java statements in a SQLJ source code file.

The translator produces a Java source file and one or more SQLJ profiles, which are serialized Java resources that contain details about the embedded SQL operations in your SQLJ source code. After the translator produces the Java source file and the profiles, SQLJ automatically invokes a Java compiler to produce class files from the Java source file.

Oracle SQLJ Runtime

This component is a thin layer of pure Java code that runs above the JDBC driver. When Oracle SQLJ translates your SQLJ source code, embedded SQL commands in your Java application are replaced by calls to the SQLJ runtime component. Runtime classes act as wrappers for equivalent JDBC classes, providing SQLJ functionality. When the user runs the application, the SQLJ runtime component acts as an intermediary, reading information about your SQL operations from the profile and passing instructions along to the JDBC driver.

A SQLJ runtime component can be implemented to use any JDBC driver or proprietary means of accessing the database cache or origin database. Oracle SQLJ runtime requires a JDBC driver but can use any standard JDBC driver. To use Oracle-specific database types and features, however, you must use an Oracle JDBC driver.

See Also:

Oracle8i SQLJ Developer's Guide and Reference in the Oracle9i Application Server Documentation Library. 

Oracle Java Database Connectivity (JDBC) Drivers

JDBC is a database access API that enables you to connect to a database and then prepare and execute SQL statements against the database. Core Java class libraries provide the interfaces and Oracle JDBC drivers implement those interfaces to access an Oracle database.

Oracle JDBC drivers are described in Table 2-2.

Table 2-2 Oracle JDBC Drivers  
Driver  Description 

JDBC Thin Driver 

You can use the JDBC thin driver to write 100% pure Java applications that access Oracle SQL data. You can use it for EJBs in the database. The JDBC thin driver is especially well-suited to Web browser-based applications because you can dynamically download it from a Web page. 

JDBC Oracle Call Interface Driver 

The JDBC Oracle Call Interface (OCI) driver accesses Oracle-specific native code (that is, non-Java) libraries on the client or in the middle tier, providing a richer set of functionality and some performance boost compared to the JDBC thin driver, at the cost of significantly larger size. 

JDBC Server-side Internal Driver 

Oracle8i JVM uses the JDBC server-side internal driver when Java code runs on Oracle9i Application Server. It allows Java applications running in Oracle8i JVM to access locally defined data (that is, on the same machine and in the same process) with JDBC. It provides a further performance boost because of its ability to use underlying Oracle RDBMS libraries directly, without the overhead of an intervening network connection between your Java code and SQL data. This driver can also be used for EJBs in Oracle8i JVM. 

See Also:

Oracle8i JDBC Developer's Guide and Reference in the Oracle9i Application Server Documentation Library for detailed information on the Oracle JDBC drivers and Oracle extensions to the standard JDBC API. 

Oracle Call Interface (OCI)

Oracle Call Interface is an application programming interface (API) that allows you to create applications that use the native procedures or function calls of a third-generation language to access an Oracle database server and control all phases of SQL statement execution. OCI supports the datatypes, calling conventions, syntax, and semantics of a number of third-generation languages including C, C++, COBOL, and FORTRAN.

OCI provides

OCI allows you to manipulate data and schemas in an Oracle database using a host programming language, such as C. It provides a library of standard database access and retrieval functions in the form of a dynamic runtime library (OCI library) that can be linked in an application at runtime.

OCI Components

OCI components encompass these main sets of functionality:

Oracle XML Developer's Kit

Oracle XML Developer's Kit (XDK) contains XML (Extensible Markup Language) component libraries and utilities that you can use to enable applications and Web sites with XML. The XDK in the Oracle9i Application Server contains the components described in Table 2-3.

Table 2-3 XDK Components in Oracle9i Application Server  
XDK Component  Description 

XML Parser for Java 

Parses XML documents or stand-alone Document Type Definitions (DTDs) so Java applications can process them. This parser uses industry standard Document Object Model (DOM) and Simple API for XML (SAX) interfaces.

  • DOM APIs permit applications to access and manipulate an XML document as a tree structure in memory. This interface is used by such applications as editors.

  • SAX APIs permit an application to process XML documents using an event-driven model.


XML Class Generator for Java 

Automatically generates Java class source files from XML DTDs. Using these classes, Java applications can construct, validate, and print XML documents that comply with the input DTD. The class generator works in conjunction with the parser, which parses the DTD and passes the parsed document to the class generator. 

XML Transviewer JavaBeans 

Displays and transforms XML documents and data through Java components to add graphical or visual interfaces to XML applications. The included beans are:

  • DOM Builder Bean: Encapsulates the Java XML Parser with a bean interface and extends its functionality to permit asynchronous parsing. By registering a listener, Java applications can parse large or successive documents having control return immediately to the caller.

  • TreeViewer Bean: Displays XML formatted files graphically as a tree.

  • SourceViewer Bean: Displays XML files with color syntax highlighting when modifying an XML document with an editing application.

  • XSL Transformer Bean: Transforms an XML document to other text-based formats, including HTML and DDL, by applying an XSL (Extensible Stylesheet Language) stylesheet.


XSQL Servlet 

Processes SQL queries and outputs the result set as XML. This processor is implemented as a Java servlet and takes as its input an XML file containing embedded SQL queries. 

See Also:

Oracle XML Developer's Kit documentation in the Oracle9i Application Server Documentation Library. 

Oracle LDAP Developer's Kit

This service supports client interaction with Oracle Internet Directory, the Oracle LDAP (Lightweight Directory Access Protocol) directory server. Oracle Internet Directory combines a native implementation of the Internet Engineering Task Force's (IETF) LDAPv3 standard with an Oracle8i back-end data store.

Specifically, you can use Oracle LDAP Developer's Kit to develop and monitor LDAP-enabled applications. It supports client calls to directory services, encrypted connections, and you can use it to manage your directory data. Oracle LDAP Developer's Kit contains the following components:

Portal Services

You can use these services to build portal sites that integrate all of your content on a single Web page. Portal sites give your users a single, centralized, personalized view of relevant applications and data. By using Oracle9i Application Server Portal Services, you can make your portal sites accessible to both fixed and mobile clients. The major elements that support these services are highlighted in Figure 2-9.

Figure 2-9 Portal Services in Oracle9i Application Server

Oracle Portal

Oracle Portal provides portal services for users connecting from a traditional desktop. An enterprise portal is a Web-based application that provides a common, integrated entry point for accessing dissimilar data types on a single Web page. For example, you can create portals that give users access to Web applications, business documents, business intelligence reports, graphics, and URLs which reside both inside and outside your corporate intranet. Figure 2-10 shows a sample portal page.

Figure 2-10 Sample Portal Page

Oracle Portal provides an organized, personalized view of business information, Web content, and applications. Its extensible framework integrates disparate sources of applications and content into dynamically assembled Web pages. Self-service publishing features allow users to post and share business documents and Web content. The flexible deployment architecture allows you to centrally administer all portal services through a browser.

Create and Administer a Single Point of Interaction with Enterprise Information

You can manage the user experience, creating and administering automatically generated portal pages that contain portlets. To users, portlets on a page appear as live areas of HTML that present text or graphics as links to information or applications. Portlets provide access to Web resources, such as applications, Web pages, or syndicated content feed. They are owned by portlet providers, which provide the communication link between the portal page and the portlets.

Each of the Web resources that the portlets provide access to can be personalized and managed as an Oracle Portal service. Portal administrators can manage portlets in the following ways:

Self-Service Web Publishing

Oracle Portal incorporates self-service features so that users and administrators can directly publish and manage their own information, such as

Implement Custom Portlets

Custom portlets are used to access information that is both specific to an enterprise and accessible through the Web. To accommodate the diversity of these information sources and their underlying architectures, Oracle Portal offers two implementation strategies for creating custom portlets:

Oracle Portal Architecture

Oracle Portal is designed around a three-tier architecture that scales to fit departmental or enterprise requirements. The three tiers are

Common Portal Services

Developers who choose to implement stored procedure portlets can use a set of API services in their portlet code, including:

Oracle Portal-to-Go

Oracle Portal-to-Go is a portal service for delivering information and applications to mobile devices. Using Portal-to-Go, you can create custom portal sites that use different kinds of content, including Web pages, custom Java applications, and XML applications. Portal sites make this diverse information accessible to mobile devices without you having to rewrite the content for each target device platform.

Portal-to-Go works by isolating content acquisition from content delivery. It provides an intermediary format layer, Portal-to-Go XML, between the source format and the target format. Portal-to-Go XML is a set of DTDs (Document Type Definitions) and XML document conventions used to define content and internal objects in Oracle Portal-to-Go.

Personalized User View

Users can configure their device portals from the Portal-to-Go Personalization Portal. The Personalization Portal is a Web-based interface that users access from their desktop computers. Using the Personalization Portal, users can store frequently accessed e-mail addresses, passwords, PINs, and account numbers.

Portal-to-Go uses JavaServer Pages, graphics, and stylesheets to generate the Personalization Portal user interface. By modifying the elements that Portal-to-Go uses to generate the Personalization Portal, users can add, rename, or move services and jobs. Then by using the customized interface, users can configure what services are available to access on their mobile devices. A sample of the Personalization Portal is shown in Figure 2-11.

Figure 2-11 Personalization Portal

Retrieve Content from Various Sources

Oracle Portal-to-Go uses adapters, which are dynamically loaded Java class files, to retrieve content from external sources. You can build your own adapters with the development tools that are included in Oracle Portal-to-Go, or you can use the following adapters that are provided:

Supported Target Device Formats

Portal-to-Go transformers convert content, which has been retrieved by adapters, into the appropriate format for the target device. Transformers can be either a Java class file or an XSLT (Extensible Stylesheet Language Tranformations) stylesheet. Like adapters, you can create your own transformers with the development tools that are included in Oracle Portal-to-Go, or you can use the transformers that are provided to convert content into the following target formats:

Oracle Portal-to-Go Architecture

In Oracle9i Application Server, Portal-to-Go uses the Oracle HTTP Server listener, Apache JServ, and OracleJSP to deliver content in the appropriate format to target mobile devices. The Portal-to-Go request and response sequence in Oracle9i Application Server is shown in Figure 2-12.

Figure 2-12 Portal-to-Go Request and Response Sequence

  1. When users request information with their mobile devices, the request is received by Oracle HTTP Server and routed through mod_jserv to the Portal-to-Go request manager in Apache JServ.

  2. The request manager performs initial preprocessing, including user authentication.

  3. If the user is authenticated, then the request manager creates a request object, which it forwards to the master service associated with the request.

    A master service is an XML file that is stored in the Portal-to-Go repository, located in the database. It describes which adapter class file to invoke to service the request.

  4. The master service invokes the appropriate adapter class file in Apache JServ.

  5. The adapter retrieves the content from the appropriate source, which can be a database, Web site, application, e-mail server, or other mobile device.

  6. The adapter returns the content in Portal-to-Go XML and forwards it to the transformer.

  7. The transformer converts the content into the format appropriate for the target device and forwards it to the request manager.


    If the transformer is a Java class file, then it resides in Apache JServ. If it is an XSLT stylesheet, then it resides in the Portal-to-Go repository in the database. 

  8. The request manager returns the information to the user.

    See Also:

    Oracle Portal-to-Go documentation in the Oracle9i Application Server Documentation Library. 

Caching Services

To scale your e-business Web site, Oracle9i Application Server provides caching services. Caching services include Oracle Web Cache and Oracle Database Cache. Oracle Web Cache is a content-aware server accelerator that improves the performance, scalability, and availability of Web sites by caching both static and dynamic pages. Oracle Database Cache is a middle-tier database cache that reduces the load on the back-end database instance by caching frequently requested data, avoiding unnecessary network roundtrips for read-only data. These services are highlighted in Figure 2-13.

Figure 2-13 Caching Services in Oracle9i Application Server

Oracle Database Cache (formerly Oracle8i Cache)

Oracle Database Cache is a database cache that resides on the middle tier as a service of Oracle9i Application Server. It improves the performance and scalability of applications that access Oracle databases by caching frequently used data on the middle-tier machine. With Oracle Database Cache, your applications can process several times as many requests as their original capacity because roundtrips to the back-end database are greatly reduced. Oracle Database Cache service supports running stateful servlets, JavaServer Pages, Enterprise JavaBeans, and CORBA objects in Oracle8i JVM.

Who Should Use Oracle Database Cache?

If your applications meet the following criteria, then you can use Oracle Database Cache to boost the scalability of your Web sites and the performance of your applications:

Performance and Scalability Benefits

Using Oracle Database Cache in the middle tier provides a number of performance and scalability benefits. The most significant benefits are listed below.

Oracle Database Cache Environment

In the Oracle Database Cache environment, the cache software consists of a middle-tier database cache for caching frequently accessed data and running intelligent software that routes queries. The origin database is on the back-end. It is the original and primary storage for the data. Currently, Oracle Database Cache can cache data from only one origin database.

Example of How Requests are Routed to Oracle Database Cache

When users request frequently accessed data, the requests pass from the client to Oracle Database Cache, through Oracle HTTP Server, and the database cache returns the data. For example, assume that you cache information about books, such as the book title, author, description, and ranking in a best-seller list, in the middle-tier database cache. If User A and User B both request the list of the top ten mystery books, then each user's request is routed to the middle-tier database cache. Because the data is stored on the same tier, the data is returned quickly and the request does not need to pass to the origin database server for retrieval of the data. If each user clicks on one of the titles to get more detailed information about the book, then the query is again routed to the middle-tier database cache, which returns the data quickly.

How Oracle Database Cache Differs from an Origin Database

Although Oracle Database Cache looks like an origin database placed on the middle-tier, there are important differences:

How Do Applications Use Oracle Database Cache?

To take advantage of the benefits of Oracle Database Cache, you only need to configure the environment of your applications. You do not need to make any modifications to your applications if they

If your applications satisfy either criteria, then queries are routed to the middle-tier database cache automatically.


Applications must use OCI in threaded mode. If they do not, then refer to the Oracle Database Cache documentation in the Oracle9i Application Server Documentation Library. 

Applications that are linked with OCI using static libraries and layered directly on OCI, require that you link your application with the OCI library that ships with Oracle Database Cache.

See Also:

Oracle Database Cache documentation in the Oracle9i Application Server Documentation Library. 

Oracle Web Cache

Oracle Web Cache is a server accelerator caching service that improves the performance, scalability, and availability of busy e-business Web sites that run on Oracle9i Application Server and Oracle8i. By storing frequently accessed URLs in virtual memory, Oracle Web Cache eliminates the need to repeatedly process requests for those URLs on the Web server. Unlike legacy proxy servers that only handle static images and text, Oracle Web Cache caches both static and dynamically generated HTTP content from one or more application Web servers. Using Oracle Web Cache, Web clients experience faster content retrieval and the load on Oracle9i Application Server is greatly reduced.

Oracle Web Cache Main Features

The main features of Oracle Web Cache make it a perfect caching solution for e-business Web sites that host online catalogs, news services, and portals:

Oracle Web Cache Architecture Overview

Oracle Web Cache is positioned in front of Oracle HTTP Servers to cache their content and to provide that content to Web browsers that request it. When Web browsers access your Web site, they send HTTP requests to Oracle Web Cache, which acts as a virtual server to the Oracle HTTP Servers. If the requested content has changed, then Oracle Web Cache retrieves the new content from an Oracle HTTP Server. Figure 2-14 shows the basic architecture of Oracle Web Cache.

Figure 2-14 Oracle Web Cache Architecture

See Also:

Oracle Web Cache documentation at 

System Services

To provide system management and security services, Oracle9i Application Server includes Oracle Enterprise Manager and Oracle Advanced Security. These services manage your Oracle environment and network security through encryption and authentication that uses SSL (Secure Sockets Layer). The major elements that support these services are highlighted in Figure 2-15.

Figure 2-15 System Services in Oracle9i Application Server

Oracle Enterprise Manager

Oracle Enterprise Manager is a system management tool that provides an integrated solution for centrally managing your Oracle platform. Combining a graphical console, Oracle Management Servers, Oracle Intelligent Agents, common services, and administrative tools, Oracle Enterprise Manager provides a comprehensive systems management platform for managing your Oracle products.

In Oracle9i Application Server, you use Oracle Enterprise Manager console (a graphical interface) to manage Oracle Database Cache, Oracle Forms Services, and the host operating system.

From Oracle Enterprise Manager console, you can perform the following tasks:

Three-Tier Architecture

Oracle Enterprise Manager architecture consists of a three-tier framework, which is described in Table 2-4.

Table 2-4 Oracle Enterprise Manager Three-Tier Architecture
Tier  Description 

First-tier Console 

Provides a graphical interface for administrators. This tier includes Cache Manager console for managing Oracle Database Cache. For information about Cache Manager console, see the Oracle8i Concepts and Administration Guide on your Documentation Library CD-ROM. 

Second-tier Management ServersFoot 1 

Provides a scalable middle tier for processing all system management tasks. 

Third-tier Intelligent AgentsFoot 2 

Monitors databases and services on each machine, and executes tasks received from the Management Server. 

1 Only available with Oracle9i Application Server Enterprise edition.
2 Intelligent Agents support Simple Network Management Protocol (SNMP), enabling third-party applications to communicate with the agent and be managed along with Oracle services.


For this release, Oracle Database Cache and Oracle Forms are the only services in Oracle9i Application Server that you can manage using Oracle Enterprise Manager. If you do not plan to use Oracle Database Cache or Oracle Forms Services, then you are not required to deploy Oracle Enterprise Manager. 

Benefits of Oracle Enterprise Manager

This system management tool enables administrators to maintain the highest level of performance and availability while controlling system management costs. The major benefits of Oracle Enterprise Manager are

Oracle Advanced Security

Oracle Advanced Security provides a comprehensive suite of security services for Oracle Database Cache, Oracle8i JVM, and Oracle8i PLSQL. Its functionality is twofold. First, network security features protect enterprise networks and securely extend corporate networks to the Internet. Second, it integrates security and directory services, combining to provide enterprise user management and single signon.

Network Security

Enterprise User Security

Oracle Advanced Security integrates with LDAP v3-compliant (Lightweight Directory Access Protocol) directory services, such as Oracle Internet Directory, for enterprise user management, enterprise role management, and single signon.

Business Intelligence Services

To understand what is happening in your business and on your Web site every day, you can use these services to deploy and share business intelligence over the Web or over your corporate intranet. These services are highlighted in Figure 2-16.

Figure 2-16 Business Intelligence Services in Oracle9i Application Server

Oracle Reports Services

By using Oracle Reports Services and its Reports Servlet services, you can run new and existing Oracle Reports Developer reports on an internal company intranet, an external company extranet, or the Internet. Oracle Reports Services is optimized to deploy Oracle Reports Developer applications (Reports and Graphics) in a multitiered environment. It consists of the server component, runtime engines, and the servlet runner.

In Oracle9i Application Server, when a client submits a request for a report, the Oracle HTTP Server Web listener routes that request to the Oracle Reports Services server component. The server routes the request to the Oracle Reports Services runtime engine, which runs the report. Then the report output is sent back to the client through the Oracle HTTP Server Web listener.

See Also:

Oracle Reports Services documentation in the Oracle9i Application Server Documentation Library. 

Oracle Discoverer 3i Viewer

Oracle Discoverer 3i Viewer is an environment for running and viewing Oracle Discoverer workbooks (reports) over the Web that have been created with Oracle Discoverer 3i Plus. By using Discoverer Viewer, Web authors can access database information and embed it in their sites without being database experts. They can publish live reports to Web sites by creating a URL that indicates to Discoverer Viewer which workbooks to open. Clicking the URL invokes the workbook query to the database and returns live results to the browser. Users interact with the query results to show more or less detailed information, to enter values into parameters, or to follow links to other applications.


Currently, Oracle Discoverer 3i Viewer is available in the Windows NT and SPARC Solaris versions of Oracle9i Application Server. 

By using Discoverer Viewer, you can

Architecture Overview

Discoverer Viewer supports an HTML client and consists of two pieces:

When users request Oracle Discoverer workbooks, the Viewer servlet, which runs on Oracle HTTP Server (Apache JServ servlet engine), interprets the HTTP request and makes the necessary calls to the Discoverer Service. The Discoverer Service response is represented in XML (Extensible Markup Language), which the servlet generates. Then the XML response is sent to an XML/XSL (Extensible Stylesheet Language) processor. This combines the XML with XSL configuration files that define the user interface. The processor then generates HTML to send back to the client browser. The Discoverer Viewer user interface can be customized for individual sites by defining or editing the XSL configuration files.

The Discoverer Viewer servlet and Discover Service can both run on the same system (with Oracle HTTP Server), if necessary. However, they are designed to be deployed on separate or multiple computers so that Oracle HTTP Server can be replicated using standard Web farm techniques. If you deploy the Discoverer Viewer servlet and Discoverer Service on separate computers, then Discoverer Service can be replicated and Discoverer Service sessions can be started on alternate systems to balance the load. This allows your implementation to support large numbers of Discoverer Viewer users.

Workbook Accessibility

Because Discoverer Viewer is an application built with standard Web technologies, all the usual features of your browser are available. Favorite workbooks can be bookmarked or embedded in other Web pages. Font sizes and link styles can be changed simply by changing your browser options. Discoverer Viewer uses no Java, no JavaScript, and no frames, so any browser can be used.

See Also: