Feature Overview Oracle9i Application Server
Oracle9iAS Containers for J2EE (9.0.3)


Overview

Oracle9i Application Server (Oracle9iAS) contains a fast, lightweight, highly scalable and easy-to-use J2EE server. The J2EE server, Oracle9iAS Containers for J2EE (OC4J), is J2EE 1.3 compatible and is written entirely in Java. It executes using the standard Java Development Kit (JDK) virtual machine. OC4J provides a JSP translator and runtime, a Servlet engine, an Enterprise Java Beans (EJB) container, and the rest of the J2EE services such as JNDI, JDBC, JMS, JAAS, JTA.

Oracle9iAS also provides support for new and emerging technologies such as Web Services through the implementation of SOAP, WSDL, and UDDI standards.
Oracle9iAS incorporates these standards into its flexible application development and deployment environment, thereby enabling you to integrate your existing applications and infrastructure with your new applications, to form a a single, centrally managed environment.

Key Capabilities of Oracle9iAS Containers for J2EE (9.0.3):

Certified J2EE 1.3 Compatible

Oracle9iAS Release 2 (9.0.3) is J2EE 1.3 compatible. It provides complete and certified 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.0, 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 Oracle9iAS, you can take advantage of the latest and most advanced J2EE features to create flexible, secure, portable, and high performance applications.

Key new features of the latest J2EE specifications include:

  • Servlet 2.3: Support for filters to perform dynamic pre and post processing of requests, enabling common tasks to be encapsulated in one component and be reusable across many applications. To enable better application integration with the Web container, new lifecycle events have been added to notify running applications of activities that are occurring. For example, a Web application can register itself to be notified when a user session has been invalidated and can take corresponding actions to clean up any remaining resources that the Web application may have used.

  • JSP 1.2: Tag libraries have undergone changes to make them more powerful and easier for developers to use in their applications. A tag library can be auto-discovered and used in a JSP page now by just including it in the standard library directory of the Web application module. Tag library extensions have been added to perform runtime validation of the JSP page where the tag is being used, and to enable event listeners to be packaged and used within the tag library. With XML playing an ever increasing role in the application development and integration arena, JSP now has an official XML syntax. A JSP page can be represented entirely with XML and in this this format is called a JSP Document.

  • EJB 2.0: Significant new functionality has been added to EJB 2.0. Support for asynchronous messaging has been added to EJB with the introduction of a new bean type - Message Driven Bean (MDB). A MDB is a JMS client which consumes messages from queues and topics and processes them, making it well suited to performing integration and coordination tasks. Container managed persistence for entity beans has been greatly enhanced to support the use of richer domain models in EJB applications. Relationships between entity beans are now managed automatically by the container. Relationships are expressed declaratively within the standard deployment descriptor, and the container will manage the connections between the related beans. Developers can navigate from bean to bean in a natural manner. To enhance the capabilities of the container managed relationships, a query language to locate and retrieve entity beans is provided. This query language, EJB QL, allows for portable queries to be written that are based on the definition of the entity beans themselves, not the underlying relational schema. Addressing some performance issues, the introduction of local interfaces for EJBs formalizes the co-located optimizations many J2EE vendors were providing with their server implementations. When a bean is defined to have local interfaces, the container can optimize the way it is called, bypassing the remote method call overhead incurred in previous EJB versions. The ability for an EJB to invoke methods on other EJB applications running in a different vendor's J2EE container has been provided through the requirement to support RMI-IIOP and the standard CORBA Naming and Transaction services.

  • J2EE Connector Architecture 1.0: This new specification addresses the need to integrate existing business and transactional systems into the J2EE environment. The J2EE Connector Architecture (J2CA) provides a mechanism to allow for the development of standard resource adapters which can be plugged into a J2EE server to connect to existing business resources. Since J2CA is a standard API with a corresponding set of services, resource adapters built to the J2CA standard can be used in any J2EE server that supports the standard. J2CA resource adapters are exposed as standard resources within the J2EE container so they can be accessed and used from Web and EJB applications.

  • JAXP 1.1: As evidence of the growing importance of XML in the J2EE environment, JAXP provides a way for applications to parse and transform XML documents in a manner that is independent of the XML parser being used. By using JAXP, an application is not required to hardcode references to a specific XML parser. This enables the XML parser being used to be transparently switched out as, and when needed.

Oracle9iAS - Developer Friendly, Enterprise Enabled

Oracle9iAS Containers for J2EE is distributed in two different ways - as a pure Java standalone distribution, and as a part of the full Oracle9iAS 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 single zip file and can 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 the J2EE container itself.

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, Oracle9iAS Containers for J2EE can be used within the Oracle9iAS product environment. Oracle9iAS Containers for J2EE is tightly integrated with the entire Oracle9iAS technology stack. In this configuration, server management and application deployment is performed using the HTML 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 Oracle9iAS.

Both of these usage models use the same Oracle9iAS Containers for J2EE code therefore providing a consistent level of J2EE support. This enables developers to use the standalone distribution to develop and test applications, and then deploy the completed applications to Oracle9iAS, safe in the knowledge that the two environments are compatible with one another.

Java applications built with any development tool can be deployed against Oracle9iAS Containers for J2EE. It supports standard J2EE deployment packages EAR, WAR, JAR or Client JAR files. Applications deployed with Oracle9iAS Containers for J2EE can be debugged using standard Java profiling and debugging facilities. 

Availability and Scalability

Oracle9iAS Containers for J2EE 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 Oracle9iAS so it can be deployed in mission critical environments with no single point of failure.

High Performance

Oracle9iAS Containers for J2EE 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.

Runtime Monitoring

The sub-systems of Oracle9iAS Containers for J2EE 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 supplied Web application or viewed across Oracle9iAS instances with the Enterprise Manager Web console.

Security

Oracle9iAS Containers for J2EE 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 Oracle9iAS Single Sign-On and Oracle Internet Directory.

Management

Oracle9iAS Containers for J2EE 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

Oracle9iAS is available on the following operating systems and hardware platforms: Solaris, HP-UX, IBM AIX, Compaq Tru64, Windows NT/2000 and Linux.  The Standalone version of Oracle9iAS Containers for J2EE is pure Java and is fully supported on all of the above platforms.

Full Feature List -- Oracle9iAS Containers for J2EE (9.0.3)

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 
  • Flexible class loading for Web applications including support for WAR file Manifest Class-Path settings, and overriding of system class loading with Web application specific class libraries
  • 100% compatible for 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 new module mod_oc4j using AJP 1.3
  • Seamless integration with single sign on services through Oracle9iAS single sign and mod_osso
  • Complete support for development and deployment of secure applications via the Oracle9iAS 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
  • Simple, body, parameterized, and collaboration tags
  • 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 pages
    • FileAccess: simply enable operations with file system and database resident data from JSPs
    • 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 JSPs
  • Pre-built custom tag libraries to expose the full capabilities of the Oracle9iAS platform to Web application developers:
    • UltraSearch: incorporate search facilities into JSPs
    • Personalization: incorporate targeted recommendations from the Oracle Recommendation engine into JSPs
    • Intermedia: access full range of multimedia content via Oracle Intermedia from JSPs
  • Support for embedded SQLJ statements within JSPs
  • Direct support for JSP source code debugging with Oracle9i JDeveloper

Enterprise JavaBeans (EJB) Container

Full support for EJB 2.0:

  • Session Beans  
  • Entity Beans with complete container-managed persistence (CMP) and complete EJB 2.0 container managed relationships (CMR)
  • Entity Beans with bean-managed persistence (BMP)
  • Message-Driven Beans
  • Local Interfaces
  • EJB Query Language (EJB QL)
  • 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
  • Active Components for J2EE, providing a standards based infrastructure for coordinating long running business transactions
  • Integration with Oracle9iAS TopLink for advanced Object-Relational mapping operations from session and BMP style entity beans

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  
  • JDBC 2.0 connection pooling  
  • Advanced JDBC Features  
  • Support for Oracle8.0, 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
  • Provide 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)

J2EE Services and Infrastructure

Full support of the following platform services: 

  • Java Naming and Directory Interface (JNDI)  
  • Java Transaction API (JTA)  
  • Java Messaging Service (JMS), integration with Oracle Advanced Queuing
  • Capabilities to lookup and use additional 3rd party JMS providers such as IBM MQSeries, SwiftMQ, and SonicMQ
  • RMI/IIOP for standards based interoperability and remote access
  • CSIv2 for security
  • RMI and HTTP tunneling services
  • HTTP and HTTPS tunneling 

Embedded SQL in Java (SQLJ) 

Full support for the standard ANSI SQLJ implementation, including:

  • Benefits from all of the Oracle JDBC enhancements 
  • Static and Dynamic SQL statements in Java  
  • 1:1 transformation of JDBC programs and logic  
  • Fetches from untyped ResultSetIterator 
  • Omission of iterator declarations 
  • Direct generation of Oracle JDBC code without profile customization  

Management and Administration

Oracle9iAS 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
  • Provides both aggregated and low-level detail views of runtime metrics collected from DMS

Load Balancing and Availability 

Oracle9iAS provides load balancing at 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
  • 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  

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 

Logging Services 

OC4J  provides the following logging services:

  • Web access 
  • Server and Application activities 
  • RMI and JMS activities 

Third Party Support

Oracle9iAS 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

Oracle9i JDeveloper Integration

Tight integration with Oracle's award winning Java development tool:

  • JDeveloper embeds OC4J as J2EE container, enabling developers to build and test against the same J2EE container used for production deployment
  • 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

Oracle9iAS Containers for J2EE (Standalone) - System Requirements

Download Size: 24MB
Installed Size: 32MB

JDK: 1.3.1, 1.4.0, 1.4.1

Oracle9iAS Containers for J2EE (9.0.3)
 
J2EE APIs OC4J Support
JSP 1.2
Servlet 2.3
EJB 2.0
JDBC 2.0 + Extension
JMS 1.0
JNDI 1.2
Connector 1.0
JTA 1.0
JavaMail 1.1
JAF 1.0
JAXP 1.1

Summary

Oracle9iAS provides the latest in J2EE technology with it's J2EE 1.3 compatible server. It delivers the performance, scalability, high availability, security, and and ease-of-use required to support e-Business today. For more details, see on-line materials located on /tech/java/oc4j

Top of Page |Copyright and Corporate Info