|
Overview
Oracle Application
Server 10g is the next generation application server, enabled
for enterprise grid computing. It enables on-demand computing across an
enterprise by efficiently pooling and utilizing hundreds of hardware resources
(CPU, memory, storage) available within an enterprise.
At the heart of Oracle
Application Server 10g is a fast, lightweight, highly scalable
and easy-to-use J2EE container that is written entirely in Java and which
executes using the Java2 Standard Edition (J2SE). The J2EE container component,
Oracle Application Server Containers for J2EE (OC4J) is J2EE 1.3 compatible
and provides a Web container supporting JSP page translation and execution
with a Servlet engine, an Enterprise Java Beans (EJB) container, a choice
of JMS providers, and the rest of the J2EE services such as JNDI, JDBC,
JTA, JCA, and JAAS.
Oracle Application Server provides support for new and emerging technologies
such as Web services through the implementation of SOAP, WSDL, and UDDI
standards. Oracle Application Server incorporates
these standards into its flexible application development and deployment
environment, enabling you to integrate and extend your existing applications
and infrastructure with new applications, forming a a single, centrally
managed environment.
New
Features in Oracle Application Server Containers for J2EE 10g (9.0.4):
Startup and Shutdown
Classes
In support of a common
user enhancement request, the use of server level startup and shutdown
classes has been added to OC4J. Startup and shutdown classes are specific
Java classes that are loaded and invoked by OC4J immediately after it
has finished its initialization routines, and immediately before it completes
its shutdown tasks. Startup and shutdown classes are configured at the
application server level and are provided with access to the JNDI context
for the OC4J instance. For cases where multiple classes are provided for
invocation at startup and/or shutdown, configuration parameters can be
used to indicate the required order of execution.
Web Tier Features
The JavaServer Pages
Standard Tag Library (JSTL) is now packaged and distributed with OC4J,
allowing developers to easily make use of the wide array of tags supported
in JSTL within their JSP applications. With the increasing use of tag
libraries within JSP applications, OC4J now includes a configurable persistent
caching mechanism for tag library descriptors, providing applications
with a performance benefit by storing parsed TLD files in a more efficiently
interpreted format.
The use of HTTPS with the OC4J standalone HTTP server is a fully documented,
and supported feature. In addition, the use of HTTPS as a communication
channel between the mod_oc4j module running within Oracle HTTP Server
and OC4J is now supported, enabling secure transmission of requests and
data between the two runtime components.
EJB Features
The EJB container
has been improved in a number of areas. Firstly, a significant amount
of work has been done to increase the quality of the container managed
relationships implementation, particularly in the area of custom primary
keys and bi-directional relationships.
For EJBQL, additional
capabilities have been added to support the use of common time and date
types within query statements, specifically, the use of java.util.Date,
java.sql.Date and java.sql.Timestamp objects. This enables EJBQL statement
to perform operations which utilize date and time fields. The use of a
SQRT function has also been added.
For stateful session
beans, a configurable activation and passivation capability has been implemented
-- configuration options include factors such as the maximum instance
count, memory threshold limits, and inactivity time-outs.
For J2EE applications
which are deployed to Oracle Application Server environments and make
connections to managed OC4J instances which have dynamically allocated
port numbers, a new transparent lookup operation has been added to allow
client side EJB components to locate the required port numbers.
Extended Web Services
Support
The Oracle Application
Server Web Services (OracleAS Web Services) framework is tightly integrated
with J2EE so that an existing J2EE application can easily be turned into
a Web service. Web services deployed to, and executed on the OC4J platform
inherit all the runtime and lifecycle management elements of J2EE applications.
In addition to J2EE application components, the following types of Web
services can be run on OC4J
- Stateless or Stateful
Java classes as RPC or Document Style Web services
- Stateless session
EJBs as Web services
- PL/SQL Stored Procedures
as Web services
- JMS endpoints (Topics
and Queues) as Document Style Web services
OracleAS Web services
supports the use of both typed and untyped SOAP messages, enabling better
interoperability with Web services running on .NET. Access to SOAP headers
is provided via an API enabling the use of SOAP headers to transmit and
receive additional semantic information from messages.
To provide a simpler
testing environment for Web services, a dynamic WSDL tester is provided.
The dynamic WSDL tester constructs a Web based test client from a given
WSDL document, enabling deployed Web services to be invoked without needing
to explicitly build a client.
Additional
JMS Provider
OC4J continues to
provides strong support for JMS, with this release seeing the introduction
of an additional JMS provider -- Oracle Application Server JMS (OracleAS
JMS). OC4J now provides developers and system architects with a choice
of JMS providers to use, each being JMS 1.02b standards compliant, and
capable of supporting JMS operations for the J2EE container. The JMS providers
are:
OracleAS JMS: a pure Java JMS provider which runs in process with OC4J.
It uses an in-memory model for message storage and propagation and provides
support for message persistence across container restarts using a file
based message store. OracleAS JMS is configured using an XML file and
provides a command line utility to monitor and manage runtime operations.
OracleAS JMS supports MessageDriven Bean operations.
Oracle JMS (OJMS):
JMS provider that is based on the Streams Advanced Queuing messaging service
of the Oracle Database where Queues and Topics are created directly within
the Oracle Database. OJMS is accessible from OC4J via the ResourceProvider
interface mechanism, publishing Queues and Topics under specified resource
names. Oracle JMS can be configured using Oracle Enterprise Manager, and
supports MessageDriven Bean operations.
High Availability
Support for Data Sources
OC4J can be configured
to support the highly available architectures made possible with the Oracle
database - Oracle DataGuard, Real Application Clusters, and Transparent
Application Failover (TAF). Specifically, OC4J provides configurable data
source support for network failure protection and transparent application
failover in RAC environments.
Network Failover describes
the ability of the data source to continue to make new connections to
an available database instance in a RAC cluster even though it is configured
to connect to an instance that has failed. Existing connections to the
failed instance are not reconnected to the surviving instances. This is
the only type of failover available when using the thin JDBC drivers.
TAF describes the
ability of the data source to both failover and reestablish existing connections
to available database instances in a RAC cluster. Connections are automatically
reconnected to an available instance when the original instance fails,
and in some situations, in progress SELECT statements and JDBC PreparedStatements
can continue. TAF is only available for use with the thick JDBC drivers.
For non highly available
database environments, data sources now support a configurable threshold
period to specify how often connections in the data source should be validated
and cleaned up if necessary.
Password Obfuscation
and Indirection in Configuration Files
To help prevent the
exposure of sensitive passwords, OC4J supports
an indirection model for specifying passwords in configuration files.
This model enables an administrator to specify an entry for a password
which in turn is used as a pointer to a user who exists in a secured user
repository. The password for the user from the secured user repository
is then used as the real password for the configuration element. This
enables passwords to be consolidated into a central location, enabling
password changes to be effected more easily and reliably. The secured
user repository can be either the file based JAZN user store, or the JAZN-LDAP
user store.
Rotating Log Files
and XML Formatting Option
To support production
environments where the need to carefully log and monitor activities is
very important, OC4J can be configured to direct it's logging output to
files which are rotated according to a set of specified criteria. Through
the provision of a maximum directory size setting, the OC4J logging subsystem
will maintain a set of log files, of which only one is active at a time.
This provides administrators with the ability to constrain the amount
of diskspace used for logging, which is particularly important for systems
which receive significant amounts of traffic. By utilizing a rolling log
schedule, administrators are also able to work with the log files without
needing to take the server offline.
In addition to the
support for rolling log files, the logging subsystem can also format logging
output using an XML format defined by the Oracle Diagnostic Logging (ODL)
specification. The formatting of log files in XML format enables them
to be more easily parsed and reused by other Oracle Application Server
and custom developed components. Oracle Enterprise Manager provides a
new aggregated view of log files across the various OC4J instances it
is managing, allowing administrators to view all logging outputs from
one centralized location.
Key
Capabilities of Oracle Application Server Containers for J2EE 10g (9.0.4):
J2EE 1.3 Compatible
OC4J 10g (9.0.4) is
J2EE 1.3 compatible and provides complete support for all J2EE 1.3 APIs
-- JavaServer Pages 1.2, Java Servlet 2.3, Enterprise JavaBeans 2.0, JDBC
2.0 Extension, J2EE Connector Architecture 1.0, Java Message Service 1.02b,
Java Transaction API 1.0, Java API for XML Processing 1.1, Java Authentication
and Authorization Service 1.0, JavaMail 1.2, and Java Activation Framework
1.0.
With
OC4J, you can take advantage of the latest and most advanced J2EE features
to create flexible, secure, portable, and highly performant applications.
Support for Web
Services
Oracle Application
Server Web Services provide a complete environment for developing, deploying
and managing Web services. OC4J is the backbone of the Web services platform,
acting as the runtime engine to execute deployed Web services. Deployment
and management operations are facilitated using Oracle Enterprise Manager,
and UDDI services for publishing, querying and searching for Web services
are supported with the OracleAS UDDI registry. Rapid development of Web
services is fulfilled with Oracle JDeveloper 10g, enabling modeling, development,
deployment and testing to be carried out from one integrated environment.
Developer Friendly,
Enterprise Enabled
OC4J is distributed
in two different mediums - as a pure Java standalone distribution, and
as part of the full Oracle Application Server product.
The pure Java standalone
distribution is ideally suited for use in development and testing environments,
as well as small scale production systems. It is distributed as a single
zip file, enabling it to be easily downloaded and installed. It is configured
and managed through the manual manipulation of a set of simple XML files.
In this usage model, OC4J runs as a single process and HTTP requests are
processed directly by OC4J's built in HTTP listener.
For large scale production
systems which require the use of a world class HTTP server, single-sign-on
capabilities for security, automatic process management for system availability,
and browser based server management, OC4J is used within the full Oracle
Application Server environment. In this usage model, OC4J is tightly integrated
with the entire Oracle Application Server technology stack. Configuration,
server management and application deployment is performed using the HTML
based management console of Enterprise Manager. Incoming HTTP requests
are serviced with Oracle HTTP Server, and processes are managed automatically
by the high availability services provided in Oracle Application Server.
For both usage models,
the same OC4J component is used, therefore providing a consistent level
of J2EE support between the two environments. This enables developers
to use the standalone distribution to develop and test applications, and
then deploy completed applications to Oracle Application Server to take
advantage of its advances capabilities, safe in the knowledge that the
two environments are compatible with one another.
Java applications
built with any development tool can be deployed against OC4J. It supports
standard J2EE deployment packages EAR, WAR, JAR or Client JAR files. Applications
deployed to OC4J can be debugged using standard Java profiling and debugging
facilities.
Availability and
Scalability
OC4J provides component
clustering, load-balancing, and application state replication for Web
and EJB applications. It is tightly integrated with the high availability
and process monitoring infrastructure of Oracle Application Server so
it can be deployed in mission critical environments with no single point
of failure.
This release supports
an extended set of mod_oc4j load balancing algorithms to route requests
from Oracle HTTP Server to OC4J. The new algorithms provide more flexibility
in the dispatching of requests from clients to waiting OC4J instances.
High Performance
OC4J is highly optimized,
providing extremely fast response times and high throughput rates. New
concurrency and locking models for EJBs enable high levels of concurrent
access without sacrificing data consistency. Oracle is a keen participator
in open, standards based performance benchmarks such as SPECjAppServer2002
(http://www.spec.org/jAppServer2002/)
which is developed and administered by the Standard Performance Evaluation
Corp. (SPEC). SPECjAppServer2002 measures the performance of Java 2 Enterprise
Edition (J2EE) 1.3 application servers connected to a database server.
Runtime Monitoring
The sub-systems of
OC4J have been instrumented at key points using the Dynamic Monitoring
Service (DMS) to provide runtime performance and operational data. DMS
has been submitted as a Java Specification Request (JSR 138). The gathered
metrics can be viewed directly using the Spy Web application supplied
with OC4J, or viewed as an aggregate across all Oracle Application Server
instances using the Oracle Enterprise Manager Web console.
Security
OC4J provides strong
support for creating secure applications through it's implementation of
the Java Authentication and Authorization Service (JAAS). This enables
developers and administrators to secure the access to, and execution of,
J2EE applications. To satisfy a growing requirement for single station
user administration and single sign on across an organization, the Oracle
implementation of JAAS can easily integrate applications with Oracle Application
Server Single Sign On and Oracle Internet Directory.
Management
OC4J can be fully
administered using the HTML based Enterprise Manager console. This includes
support for starting and stopping server instances, creating and managing
clustered environments, deploying and configuring J2EE applications, and
viewing both aggregated and detail level runtime performance metrics collected
from DMS.
Broad
Platform Support
Oracle
Application Server is available on the following operating systems and
hardware platforms: Solaris, HP-UX, IBM AIX, Compaq Tru64, Windows NT/2000
and Linux. OC4J standalone is pure Java and is fully supported for
production use on all of the above platforms.
Full Feature List
-- Oracle Application Server Containers for J2EE 10g (9.0.4)
| FEATURE
DETAILS |
|
Web Container
- Java Servlets
Full support
for Servlet 2.3:
- Servlet
Filters
- Application
Lifecycle Events
- Full WAR
file-based deployment
- Automatic
compilation and deployment
- Stateful
failover and cluster deployment
- Supports
WAR file Manifest Class-Path settings and preferential loading
of Web application specific class libraries
- 100% compatibility
with applications developed to the JSP and Servlet standard
APIs using the Tomcat Servlet Engine
- Integrated
with Oracle HTTP Server for high availability, load-balancing,
and failover through the module mod_oc4j using AJP 1.3
- Support
for encryption of traffic between Oracle HTTP Server and OC4J
through the use of an SSL enabled connection with mod_oc4j
- Seamless
integration with single sign on services through Oracle Application
Server Single Sign and mod_osso
- Complete
support for development and deployment of secure applications
via the Oracle Application Server JAAS implementation and the
Java2 security model
|
Web Container
- JavaServer Pages
Full support
for JSP 1.2:
- JSP Page
and JSP Document support
- Support
for JSP 1.2 runtime buffer management and page error handling
- Prepackaged
JSP Standard Tag Library (JSTL) to support tag based logic,
conditional and formatting operations in JSP
- Pre-built
custom tag libraries to provide Web application developers with
simple access to common JSP tasks:
- Web services: allow easy integration of OC4J and external Web
Service content with JSPs
- EJB
client tags: easy location and use of EJB applications components
within JSP
- FileAccess:
simply enable operations with file system and database resident
data from JSP
- XML:
exposes the powerful facilities of the XML parser to JSP
developers in an easy to use manner
- Java
Edge Side Includes (JESI): provide simple mechanism to integrate
dynamic content with edge caching infrastructure to improve
performance and reduce hardware requirements
- Connection
Pooling: provide connection pooling facilities for JSP pages
interacting with databases
- Web
Object Cache: increase application performance by caching
XML and Java objects within the JVM
- SendMail
Tags: enable Web application developers to easily include
e-mail sending functionality in their JSP
- Pre-built
custom tag libraries to expose the full capabilities of the
Oracle Application Server platform to Web application developers:
- UltraSearch:
incorporate search facilities into JSP
- Personalization:
incorporate targeted recommendations from the Oracle Recommendation
engine into JSP
- Intermedia:
access full range of multimedia content via Oracle Intermedia
from JSP
- Tag library
caching to increase application performance through the persistent
storage of tags which have been used in applications
- Support
for embedded SQLJ statements within JSP
- Direct
support for JSP source code debugging with Oracle JDeveloper
10g
|
|
Enterprise
JavaBeans (EJB) Container
Full support
for EJB 2.0:
- Session
Beans
- Entity
Beans with container-managed persistence (CMP) and container
managed relationships (CMR)
- Entity
Beans with bean-managed persistence (BMP)
- Message-Driven
Beans using either of the JMS providers supplied with OC4J
- Local Interfaces
- EJB Query
Language (EJB QL) with added support for operations utilizing
Date, Time, Timestamp types and SQRT functions
- Configurable
Activation and Passivation policies for Stateful Session Beans
- Dynamic
EJB stub generation
- Simplified
configuration and customization
- Full EAR
file based deployment
- Automatic
and hot application deployment
- 2 phase
commit support
- Clustering
for session and entity beans
- Extended
locking models for entity beans
- Optimistic
locking mode
- Pessimistic
locking mode
- Read-only
mode
- Enhanced
entity bean concurrency models to support concurrent access
from multiple clients
- In memory
security context propagation from servlet container to EJB container
- Integration
with Oracle Application Server TopLink for advanced Object-Relational
mapping operations from session and BMP style entity beans
|
Web Services
Oracle Application
Server Web Services provides a complete infrastructure for developing,
deploying and managing Web services.
- Allows
developers to create the following types of Web services:
- Stateless
or Stateful Java classes as RPC or Document Style Web services
- Stateless
session EJBs as Web services
- PL/SQL
Stored Procedures as Web services
- JMS
endpoints (Topics and Queues) as Document Style Web services
- Automatic
home page generation for Web Service endpoints exposing the
WSDL, the static client proxy library to invoke the endpoint,
and a Web based test page to exercise the endpoint
- Static
or dynamic client invocation
- Publishing
and query with UDDI v2
- Dynamic
WSDL tester
- Supports
typed and untyped SOAP messages with SOAP header access
- Extended
server side debug output
- Additional
support for using PL/SQL types such as BLOB, CLOB
|
|
Java Messaging
Service
Full and comprehensive
support for the JMS 1.02b specification via two service provider
implementations
- OracleAS
JMS
- Pure
Java JMS 1.02b implementation
- Runs
in-process with OC4J
- Highly
configurable and tunable using command line utilities
- Provides
high performance through the use of in-memory operations
- Supports
file based persistence of Destinations and Messages
- Integrated
with EJB container, supporting MessageDriven Bean applications
- Oracle
JMS
- Complete
JMS 1.02b provider, utilizing Oracle Advanced Queuing as
message service
- Exposes
Queues and Topics defined and managed with Oracle Advanced
Queuing
- Configurable
via Oracle Enterprise Manager
- Integrated
with EJB, supporting MessageDriven Bean applications
- Supports
integration with other messaging systems via Oracle Messaging
Gateways
- Third Party
JMS Support
- Supports
functionality to lookup and send messages to 3rd party JMS
providers such as IBM MQSeries, SwiftMQ, and SonicMQ
|
Java Database
Connectivity Services (JDBC)
Full Oracle
and non-Oracle database access via JDBC including:
- Full JDBC
2.0 extension support
- Oracle
JDBC-OCI driver (type 2)
- Oracle
thin JDBC driver (type 4)
- Complete
data type support
- Comprehensive
DataSource support including an optimized one-phase commit data
source for very fast database access, a full JTA/2PC enabled
data source, and a native datasource implementation to allow
for the use of the direct DataSource implementations provided
by JDBC driver libraries
- Configurable
connection pooling and statement caching options
- Provides
configurable support for all Oracle Database high availability
modes - Oracle RAC, Oracle Data Guard, cold-failover, and transparent
application failover (TAF)
- Improved
dead connection detection and refresh
- Advanced
JDBC features using Oracle Connection and data types
- Support
for Oracle8i and Oracle9i Databases
- Bundled
DataDirect type 4 JDBC Drivers which provide access to Informix,
Sybase, Microsoft SQL Server and IBM DB/2 databases
|
|
J2EE Connectors
Full support
for the J2EE Connector 1.0 specification:
- Deployment
of standard Resource Adapter Archives (RARs)
- Quality
of Service (QoS) contracts support for connection pooling, container
managed security
- Open interface
for custom authentication modules
|
Java Authentication
and Authorization Service (JAAS)
Full support
for the JAAS 1.0 specification:
- A complete
implementation of JAAS, the standard Java framework and programming
interface that enables applications to authenticate and enforce
access controls upon users
- Integrates
JAAS framework with J2EE deployment descriptors to enable declarative
configuration of standards based security constraints for deployed
applications
- Provides
integrated and switchable user managers:
- Lightweight
XML file user manager supporting role based access control
and authentication from obfuscated XML files
- LDAP
user manager providing role based access control and authentication
using LDAP with Oracle Internet Directory (OID)
- Supports
the configuration and use of custom JAAS login modules
|
|
J2EE Services
and Infrastructure
Full support
of the following platform services:
- Java Naming
and Directory Interface (JNDI)
- Java Transaction
API (JTA)
- RMI/IIOP
for standards based interoperability and remote access
- CSIv2 for
security
- RMI and
HTTP tunneling services
- HTTP and
HTTPS tunneling
|
Load Balancing
and Availability
Oracle Application
Server provides load balancing at the Oracle HTTP Server (Apache)
and OC4J levels:
- Tight integration
with the Web container and HTTP server using the Apache module
- mod_oc4j
- mod_oc4j
uses a binary protocol (AJP 1.3) to provide efficient request
dispatching and response handling
- Extended
load balancing algorithms to support metric-based, round-robin,
and affinity based routing decisions
- Automatic
connection rerouting in case of server instance outages
- Automatic
death detection of OC4J processes with automatic restart
- Transparent
application failover
- Session
state replication and failover for Web and EJB components
- Static
IP-based multicast
- No single
point of failure
- Integration
with third-party load balancing products
|
|
Management
and Administration
Oracle Application
Server uses the HTML based console of Enterprise Manager for management
and administration services:
- Enables
the management of local, remote, and clustered environments
- Full deployment
and configuration capabilities for J2EE applications
- Single-station
management and deployment for clustered environments
- Complete
control of OC4J specific parameters
- Provide
aggregated and low-level detail views of runtime metrics collected
from DMS
|
Logging
Services
OC4J supports
logging at a number of levels:
- Support
for rolling log files which are rotated within a specified directory
according to a configurable maximum directory size
- Configurable
use of Oracle Diagnostic Logging to produce XML formatted log
files for easier machine parsing and translation
- Web access logging
- Server
and Application activity logs
- RMI and
JMS activity logs
|
|
Configuration
and Deployment
OC4J server
configuration is XML-based, including:
- Server
configuration files
- Generic
J2EE application and component configuration files
- OC4J-specific
application and component configuration files
- Enables
the use of obfuscated and indirect password entries in configuration
files to shield passwords from unauthorized viewing
|
Oracle
JDeveloper 10g Integration
Tight integration
with Oracle's award winning Java development tool:
- JDeveloper
uses OC4J as an embedded J2EE container, enabling developers
to build and test their applications against the same J2EE container
used for production deployment
- Configuration
palette for embedded OC4J options
- Single-click
deployment from JDeveloper to OC4J
- Remote
and distributed debugging of J2EE application in OC4J
- Remote
profiling of J2EE applications in OC4J for execution, memory,
and event analysis
|
|
Third Party
Support
Oracle Application
Server has strong support from partners and ISVs:
- Supported
by industry leading Java development, enterprise modeling, and
content creation tools: Borland JBuilder, Sun Forte, Rational
Rose, TogetherSoft Control Center, MacroMedia UltraDev, Pramati
Studio, Compuware OptimalJ, Computer Associates Cool:Joe
- Supported
by industry leading performance
monitoring, and load testing tools: Sitraka, VMGear, Mercury
Interactive, Wiley
|
|
Oracle
Application Server Containers for J2EE 10g (9.0.4) Standalone
- System Requirements
| Download Size: |
28 MB
|
| Installation
Size |
33 MB
|
| J2SE Versions: |
1.3.1, 1.4.x |
Oracle
Application Server Containers for J2EE 10g (9.0.4) - J2EE API
Support
| J2EE
APIs |
OC4J
Support |
| JSP |
1.2 |
| Servlet |
2.3 |
| EJB |
2.0 |
| JDBC |
2.0
+ Extension |
| JMS |
1.02b |
| JNDI |
1.2 |
| Connector |
1.0 |
| JTA |
1.0 |
| JavaMail |
1.1 |
| JAF |
1.0 |
| JAXP |
1.1 |
Summary
Oracle Application
Server provides the latest in grid computing and J2EE technology with
its J2EE 1.3 compatible server. It delivers the performance, scalability,
high availability, security, and and ease-of-use required to support
the evolving and agile business world of today. For more details, see
on-line materials located on http://otn.oracle.com/tech/java/oc4j
Top
of Page
|