Oracle JavaServer Pages Developer's Guide and Reference Release 8.1.7 Part Number A83726-01 |
|
This section provides brief overviews of Oracle environments that support and provide OracleJSP, covering the following topics:
The Oracle Servlet Engine (OSE), a Web server and servlet container that runs inside the Oracle8i database, supports a JSP pre-translation model. JSP pages are translated into servlets prior to or during deployment into the database and subsequently run in the database address space.
For the other Oracle environments, the OracleJSP container supports the typical on-demand translation model, typically translating the pages at runtime. OracleJSP is designed to run effectively in either situation and provide consistent semantics regardless of your choice of server.
If your JSP pages are intended to access an Oracle8i database, you can execute them directly in the database--the Oracle Servlet Engine (OSE), which is included with Oracle8i JServer, incorporates the OracleJSP container. This reduces communication overhead compared to JSP execution in a middle tier. Access to the database is through the Oracle JDBC server-side internal driver.
The OSE execution model requires the developer to take some special steps to deploy the JSP pages into the Oracle8i database. This includes translating the pages, loading them into the server, and "publishing" them to make them available for execution.
During installation of Oracle8i release 8.1.7, the Oracle HTTP Server, powered by Apache, is set as the default Web server, acting as a front-end for JSP and servlet applications running in OSE. Refer to your installation instructions if you want to change this setting.
Oracle Servlet Engine release 8.1.7 supports the servlet 2.2 and JSP 1.1 specifications, incorporating OracleJSP release 8.1.7 (1.1.0.0.0).
The Oracle Internet Application Server is a scalable, secure, middle-tier application server. It can be used to deliver Web content, host Web applications, connect to back-office applications, and make these services accessible to any client browser. Users can access information, perform business analysis, and run business applications on the Internet or corporate intranets or extranets.
To deliver this range of content and services, Oracle Internet Application Server release 1.0.x incorporates the Oracle HTTP Server release 1.0.0 (powered by Apache), the iCache for database caching and applications in the middle tier, Oracle Forms Services and Oracle Reports Services to support Oracle Forms-based applications and reports generation, and various business logic runtime environments that support Enterprise JavaBeans, stored procedures, and Oracle Business Components for Java.
For database access, the Oracle HTTP Server can route HTTP requests to servlets or JSP pages running in either of the following scenarios:
mod_ose
module)
In this scenario, database access is through the JDBC server-side internal driver (using either JDBC or SQLJ code).
mod_jserv
module)
In this scenario, database access is through client-side/middle-tier JDBC drivers (using either JDBC or SQLJ code).
Oracle Internet Application Server release 1.0.x provides servlet and JSP environments as follows:
See the Oracle Internet Application Server 8i Documentation Library for more information about the Internet Application Server.
Oracle HTTP Server release 1.0.0, powered by the Apache Web server, is included with Oracle Internet Application Server release 1.0.x and Oracle8i release 8.1.7 as the HTTP entry point for Web applications accessing the Oracle8i database.
You can employ the Oracle HTTP Server to access Oracle8i from applications running either inside or outside the database. It accesses the database through appropriate Apache add-on modules.
The remainder of this section covers the following topics:
In using the Oracle HTTP Server, powered by Apache, dynamic content is delivered through various Apache mod components provided either by Apache or by other vendors such as Oracle. (Static content is typically delivered from the file system.) An Apache mod is typically a module of C code, running in the Apache address space, that passes requests to a particular mod-specific processor. (The mod software will have been written specifically for use with the particular processor.)
The following Apache mods are of interest to OracleJSP developers:
mod_ose
is provided by Oracle for JSP pages and servlets that have been deployed into the Oracle8i database and will be executed by the Oracle Servlet Engine inside the database address space.
mod_jserv
is provided by Apache and can be used in accessing the Oracle8i database from JSP pages or servlets running in the Apache/JServ servlet environment in a middle-tier JVM.
The mod_ose
component, supplied by Oracle, delegates HTTP requests to JSP pages or servlets running in OSE. It communicates with OSE using HTTP over the Net8 protocol and can handle either stateless or stateful requests. Each virtual domain configured in the Oracle HTTP Server is associated with a database connection string (a Net8 name-value list) that indicates where to make a connection to execute the request. The connection uses Net8 directly, providing the same load balancing and hot backup functionality as OCI.
If an application running in an Oracle Internet Application Server framework uses mod_ose
, then the Internet Application Server's Apache/JServ servlet 2.0 environment is not involved. The Oracle Servlet Engine's own servlet 2.2 environment is used instead.
JSP applications and servlets running in OSE use the Oracle JDBC server-side internal driver for rapid database access. For an overview of OSE, see "Overview of the Oracle Servlet Engine (OSE)".
You can use the JServer session shell exportwebdomain
command to configure mod_ose
to find published servlets and JSP pages in the database.
See the Oracle8i Oracle Servlet Engine User's Guide for more information about mod_ose
and for information about the exportwebdomain
command.
The mod_jserv
component, supplied by Apache, delegates HTTP requests to JSP pages or servlets running in the Apache/JServ servlet container in a middle-tier JVM. Oracle Internet Application Server release 1.0.x includes the Apache/JServ servlet container, which supports the servlet 2.0 specification, and either JDK 1.1.8 or 1.2.2. The middle-tier environment may or may not be on the same physical host as the back-end Oracle8i database.
Communication between mod_jserv
and middle-tier JVMs uses a proprietary Apache/JServ protocol over TCP/IP. The mod_jserv
component can delegate requests to multiple JVMs in a pool for load balancing.
JSP applications running in middle-tier JVMs use the Oracle JDBC OCI driver or Thin driver to access the database.
Servlet 2.0 environments (as opposed to servlet 2.1 or 2.2 environments) have issues that require special consideration. See "Considerations for Apache/JServ Servlet Environments".
Refer to Apache documentation for mod_jserv
configuration information. (This documentation is provided with Oracle8i and with the Oracle Internet Application Server.)
Developers who are targeting the Oracle8i database from JSP applications have a number of options, including the following:
mod_jserv
).
mod_ose
).
When you use the Oracle HTTP Server, be aware that the Apache/JServ servlet container has a different default doc root for static files than the Oracle Servlet Engine has. See "Doc Root for Oracle Internet Application Server Versus Oracle Servlet Engine".
Note:
Running in Apache/JServ, because it uses a standard JVM (currently JDK 1.2.2 or 1.1.8), is necessary if you want to use the JDBC OCI driver or if the application requires Java features not available in the Oracle8i JServer environment (JNI, for example).
However, running in Apache/JServ has the disadvantage of requiring a pool of multiple JVMs that must be configured manually. (For more information, refer to the Apache mod_jserv
documentation provided with Oracle8i or the Oracle Internet Application Server.)
If you do not require Java features such as JNI, especially for applications that are SQL-intensive, running in OSE is usually preferable for the following reasons:
Although employing the Oracle Servlet Engine directly as the Web server is feasible, and may be preferable in some situations, accessing it through the Oracle HTTP Server and mod_ose
is the typical scenario and is recommended.
In particular, Oracle HTTP Server and mod_ose
can handle the following situations that OSE by itself cannot:
This is typically not possible when using OSE as a Web server directly. In a UNIX environment, for example, port 80 is accessible only from the root
account, and end-users do not have root
access.
The default installation of Oracle8i release 8.1.7 uses the Oracle HTTP Server as the front-end Web server for JSP pages and servlets that run in OSE.
In addition to the Oracle Servlet Engine and Oracle Internet Application Server, the following Oracle environments support OracleJSP:
Oracle Application Server (OAS) is a scalable, standards-based middle-tier environment for application logic, offering database integration in supporting business applications in both corporate and e-business environments.
New customers will presumably use Oracle Internet Application Server, discussed previously, instead of OAS. For existing OAS customers, however, Oracle Application Server release 4.0.8.2 includes a servlet 2.1 environment and OracleJSP release 1.0.0.6.0 (supporting the JSP 1.0 specification).
Refer to the Oracle Application Server Developer's Guide: JServlet and JSP Applications for more information.
Oracle Web-to-go, a component of Oracle8i Lite, consists of a collection of modules and services that facilitate development, deployment, and management of mobile Web applications.
Web-to-go lets developers extend Web-based applications to intermittently connected users without coding the infrastructure required for replication, synchronization, and other networking issues. Unlike traditional mobile computing technologies, which rely on custom or proprietary application-programming interfaces (APIs), Web-to-go uses industry-standard Internet technologies.
Web-to-go release 1.3 provides a servlet 2.1 environment and OracleJSP release 1.0.0.6.1 (supporting the JSP 1.0 specification). Future releases will offer a servlet 2.2 environment and OracleJSP 1.1.x.
Refer to the Oracle Web-to-go Implementation Guide for more information.
JDeveloper is a Java development tool, rather than a "platform" like the other Oracle products listed here, but incorporates a Web listener, servlet runner, and the OracleJSP container for execution and testing.
See "Oracle JDeveloper Support for OracleJSP" for more information.
JDeveloper version 3.1 provides a servlet 2.1 environment and OracleJSP release 1.0.0.6.1 (supporting the JSP 1.0 specification). Future releases will offer a servlet 2.2 environment and OracleJSP 1.1.x.
|
![]() Copyright © 1996-2000, Oracle Corporation. All Rights Reserved. |
|