|Oracle9i Application Server Overview Guide
Part Number A87353-01
Oracle9i Application Server services provide an integrated Internet infrastructure that supports open Internet technologies. This chapter describes all of the Oracle9i Application Server 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.
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:
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).
This module routes PL/SQL requests to the Oracle8i PLSQL service, which then delegates requests to PL/SQL programs.
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.
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.
This module forwards servlet requests to stateful Java and PL/SQL servlets in Oracle Servlet Engine (OSE) contained in Oracle8i. This module:
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:
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.
Oracle Plug-in for Microsoft IIS supports accessing JavaServer Pages (JSPs) and servlets. Java requests are filtered using a Java configuration file.
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.
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.
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-4 shows the Windows interface as it appears using Windows Explorer in the Microsoft Windows operating system.
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
Oracle Internet File System content management features support collaborative projects and sophisticated searching across different types of files. The main content management features include
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.
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.
Default XML Renderer
Like the parser, a Java application that you register with Oracle Internet File System by using XML
A Java application that executes on a schedule that you define
A method that allows an application program to intervene with the standard schema operations (Insert, Update, and Free)
A collection of published Java classes
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:
Figure 2-5 shows the main components of Oracle Internet Files system, which includes the protocol servers, the services, and the schema.
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.
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.
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.
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.
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.
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.
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.
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 http://java.sun.com).
OracleJSP is an implementation of JavaServer Pages version 1.1 as specified by Sun Microsystems and extends this specification to provide these benefits:
.sqljsp, which causes the OracleJSP translator to invoke the Oracle SQLJ translator.
translate_paramsconfiguration parameter, which can be enabled to direct OracleJSP to override the servlet container and do the encoding itself.
JmlStringJavaBean classes in the
oracle.jsp.jmlpackage to wrap the most common Java datatypes. These extended datatypes provide a way to work around the limitations of Java primitive types and wrapper classes in the standard
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.
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.
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.
Oracle Database Client Developer's Kit contains client libraries for Oracle8i and the Java client libraries (JMS, SQLJ, JDBC, and OCI).
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 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.
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.
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.
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.
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.
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 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 encompass these main sets of functionality:
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.
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.
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:
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.
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:
This is an LDAP C API that is based on the Internet Engineering Task Force (IETF) RFC 1823. This component supports client calls to directory services from a standard C programming environment.
This programming interface from Sun Microsystems enables Java-based programs to communicate directly with LDAP servers such as Oracle Internet Directory.
These extensions to the LDAP API enable one-way, two-way, and simple encrypted connections to directory services.
This set of LDAP-compliant command line tools is used for querying and returning results from Oracle Internet Directory.
This is a Java-based application used for managing data stored in Oracle Internet Directory.
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.
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.
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.
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:
Oracle Portal incorporates self-service features so that users and administrators can directly publish and manage their own information, such as
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 is designed around a three-tier architecture that scales to fit departmental or enterprise requirements. The three tiers are
Developers who choose to implement stored procedure portlets can use a set of API services in their portlet code, including:
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.
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.
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:
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:
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.
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.
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.
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.
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:
Using Oracle Database Cache in the middle tier provides a number of performance and scalability benefits. The most significant benefits are listed below.
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.
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.
Although Oracle Database Cache looks like an origin database placed on the middle-tier, there are important differences:
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 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.
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.
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 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.
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.
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:
Oracle Enterprise Manager architecture consists of a three-tier framework, which is described in Table 2-4.
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.
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.
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 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.
Oracle Advanced Security ensures that data is not disclosed during transmission using the following encryption types:
Oracle Advanced Security makes it virtually impossible for an intruder to modify, delete, or replay packets without detection. During transmission, Oracle Advanced Security generates a cryptographically secure message digest through cryptographic checksums using the MD5 algorithm. Then, the secure message digest is included with each packet sent across the network.
Oracle Advanced Security provides strong authentication of Oracle users support for third-party authentication services. The following authentication methods are supported:
Oracle Advanced Security provides single signon where the user authenticates once, then strong authentication occurs transparently in subsequent connections to other databases or services. Using single signon, users can access multiple accounts and applications with a single password. Oracle Advanced Security supports many forms of single signon, including Kerberos and CyberSafe, as well as SSL-based single signon.
Once users are authenticated, they are then authorized to access only those services permitted by a corporate or business policy as found in a policy repository. Authorizations are provided with some of the third-party authentication solutions, such as DCE (Distributed Computing Environment), as well as with the enterprise user security functionality in Oracle Advanced 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.
Oracle Advanced Security provides SSL-based (Secure Sockets Layer) single signon for Oracle users by virtue of integration with LDAP v3-compliant directory services. Integrated security and directory services and Oracle PKI (Public Key Infrastructure) implementation in Oracle Advanced Security enable SSL-based single signon to Oracle8i databases. Single signon enables users to authenticate once at the initial connection and subsequent connections authenticate the user transparently based on his or her X.509 certificate. This brings ease of use to the users and single station administration for the administrator with centralized management of users and authorizations.
Oracle Advanced Security provides enterprise user management, allowing administrators to centrally manage users on a central directory service, rather than repeatedly managing the same users on individual databases. Using Oracle Enterprise Security Manager, a tool accessible through Oracle Enterprise Manager, enterprise users and their authorizations are managed in Oracle Internet Directory or other LDAP v3-compliant directory services. Enterprise users can be assigned enterprise roles that determine their access privileges in a database, and enterprise roles can be granted to one or more enterprise users.
Oracle Advanced Security allows the separation of users from schemas so that many enterprise users can access a single, shared application schema. Instead of creating a user account in each database that a user needs to access, administrators only need to create an enterprise user in the directory and point the user at a shared schema, which many other enterprise users can also access. This allows administrators to create an enterprise user once in the directory. Then that enterprise user can access multiple databases using only the privileges he or she needs, thus lowering the overhead of managing users in an enterprise.
Oracle Wallet Manager provides secure management of PKI user credentials. It issues certificate requests to Certificate Authorities (CA), manages the X.509 certificates and trusted certificates, and creates a private and public key pair for users. In most cases, a user never needs to access a wallet once it has been configured, but can easily access a wallet using Oracle Enterprise Login Assistant, a login tool that hides the complexity of a private key and certificates from users. Users can then connect to multiple services over SSL without providing additional passwords. This provides the benefit of strong, certificate-based authentication as well as single signon.
An Oracle Advanced Security license provides the use of Oracle Internet Directory to store and manage users and their authorizations. It supports enterprise user management with Oracle Internet Directory, which is fully integrated with Oracle8i. Additionally, Oracle Advanced Security supports other leading LDAP-compliant directories.
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.
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.
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.
By using Discoverer Viewer, you can
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.