Red Hat Application Server: JOnAS User Guide | ||
---|---|---|
Prev | Chapter 1. Java Open Application Server (JOnAS): a J2EE Platform | Next |
JOnAS is a pure Java, open-source, application server that conforms to the J2EE specification. Its high degree of modularity enables it to be used as:
A J2EE server, for deploying and running EAR applications (that is, applications composed of both web and EJB components)
An EJB container, for deploying and running EJB components (for example, for applications without web interfaces or when using JSP/servlet engines that are not integrated as a JOnAS J2EE container)
A Web container, for deploying and running JSPs and servlets (for example, for applications without EJB components).
JOnAS is available for JDK 1.4. It has been used on many operating systems (Linux, AIX, Windows, Solaris, HP-UX, etc.) and with different databases (Oracle, PostgreSQL, MySQL, SQL server, Access, DB2, Versant, Informix, Interbase, etc.).
JOnAS is an implementation of J2EE 1.4. It currently conforms to EJB 2.1. Its current integration of Tomcat as a Web container ensures conformity to Servlet 2.4 and JSP 2.0 specifications. The JOnAS server relies on or implements the following Java APIs: JCA 1.5, JDBC 3.0, JTA 1.0.1, JMS 1.1, JMX 1.2, JNDI 1.2.1, JAAS 1.0, JACC 1.0, and JavaMail 1.3.
In addition to the implementation of all J2EE-related standards, JOnAS provides the following important advanced features:
Management: JOnAS server management uses JMX and provides a servlet-based management console.
Services: JOnAS's service-based architecture provides for high modularity and configurability of the server. It allows the developer to apply a component-model approach at the middleware level, and makes the integration of new modules easy (for example, for open source contributors). It also provides a way to start only the services needed by a particular application, thus saving valuable system resources. You can manage JOnAS services through JMX.
Scalability: JOnAS integrates several optimization mechanisms for increasing server scalability. This includes a pool of stateless session beans, a pool of message-driven beans, a pool of threads, a cache of entity beans, activation/passivation of entity beans, a pool of connections (for JDBC and JMS), and storage access optimizations (shared flag, isModified).
Clustering: JOnAS clustering solutions, both at the WEB and EJB levels, provide load balancing, high availability, and failover support.
Distribution: JOnAS works with several distributed processing environments, due to the integration of ObjectWeb's CAROL (Common Architecture for RMI ObjectWeb Layer) project (http://www.objectweb.org/carol/index.html), which enables simultaneous support of several communication protocols:
CMI (Cluster Method Invocation), the "Cluster aware" distribution protocol of JOnAS
RMI (Java Remote Method Invocation) using the Sun proprietary protocol JRMP (Java Remote Method Protocol)
RMI on IIOP (Java Remote Method Invocation over Internet Inter-Orb Protocol).
Support of "Web Services": Due to the integration of AXIS, JOnAS allows J2EE components to access "Web Services" (that is, to be "Web Services" clients), and allows J2EE components to be deployed as "Web Services" endpoints. Standard Web Services clients and endpoints deployment, as specified in J2EE 1.4, is supported.
Support of JDO: By integrating the ObjectWeb implementation of JDO (Java Data Objects) (http://java.sun.com/products/jdo), SPEEDO (http://speedo.objectweb.org), and its associated J2EE CA Resource Adapter, JOnAS provides the capability of using JDO within J2EE components.
Three critical J2EE aspects were implemented early on in the JOnAS server:
J2EE CA: JOnAS applications can easily access Enterprise Information Systems (EIS). By supporting the Java Connector Architecture, JOnAS allows deployment of any J2EE CA-compliant Resource Adapter (connector), which makes the corresponding EIS available from the J2EE application components. Moreover, resource adapters will become the standard way to plug JDBC drivers (and JMS implementation, with J2EE 1.4) into J2EE platforms. A JDBC Resource Adapter available with JOnAS provides JDBC PreparedStatement pooling and can be used in place of the JOnAS DBM service. A JORAM JMS Resource adapter is also available.
JMS (Java Messaging Service): JMS implementations can be easily plugged into JOnAS. They run as a JOnAS service either in the same JVM (Java Virtual Machine) or in a separate JVM, and JOnAS provides administration facilities that hide the JMS proprietary administration APIs. Currently, three JMS implementations can be used: the JORAM open-source JMS implementation from ObjectWeb (http://joram.objectweb.org/), SwiftMQ (http://www.swiftmq.com/), and Websphere MQ. J2EE CA Resource Adapters are also available, providing a more standard way to plug JORAM or SwiftMQ into JOnAS.
JTA (Java Transaction API): The JOnAS platform supports distributed transactions that involve multiple components and transactional resources. The JTA transactions support is provided by a Transaction Monitor that has been developed on an implementation of the CORBA Object Transaction Service (OTS).