Contents | Previous  | Next   | Home

Abi Rajan resources on SCJA Module 5

New Application Architecture

Enterprise JavaBeans architecture.

The Enterprise JavaBean architecture is a component architecture for the development and deployment of component-based distributed business applications. Applications written using the Enterprise JavaBeans architecture are scalable, transactional, and multi-user secure. These applications may be written once, and then deployed on any server platform that supports the Enterprise JavaBeans specification.

A client of an enterprise bean can be another enterprise bean deployed in the same or different Container. Or it can be an arbitrary Java technology-enabled program, such as an application, applet, or servlet. The client view of an enterprise bean can also be mapped to non-Java client environments, such as CORBA clients that are not written in the Java programming language.

The Application Assembler can also combine enterprise beans with other types of application components (e.g. Java ServerPages) when composing an application.

A session EJB Object is a remote Java object accessible from a client through the standard Java APIs for remote object invocation

The use of the EJB architecture to CORBA mapping by the EJB Server is not a requirement for EJB 1.1 compliance. A later release of the J2EE platform is likely to require that the J2EE platform vendor implement the EJB architecture to CORBA mapping.

For a client, a session object is a non-persistent object that implements some business logic running on the server. One way to think of a session object is as a logical extension of the client program that runs on the server. A session object is not shared among multiple clients.

A client accesses a session object through the session bean’s remote interface. The Java object that implements this remote interface is called a session EJB Object. A session EJB Object is a remote Java object accessible from a client through the standard Java APIs for remote object invocation [3].

From its creation until destruction, a session object lives in a container. Transparently to the client, the container provides security, concurrency, transactions, swapping to secondary storage, and other services for the session object.

Each session object has an identity which, in general, does not survive a crash and restart of the container, although a high-end container implementation can mask container and server crashes to the client.

The client view of a session bean is location-independent. A client running in the same JVM as the session object uses the same API as a client running in a different JVM on the same or different machine.

A client of an session bean can be another enterprise bean deployed in the same or different Container; or it can be an arbitrary Java program, such as an application, applet, or servlet. The client view of a session bean can also be mapped to non-Java client environments, such as CORBA clients that are not writ-ten in the Java programming language.

Multiple enterprise beans can be installed in a container. The container allows the clients to look up the home interfaces of the installed enterprise beans via JNDI API. A session bean’s home interface pro-vides methods to create and remove the session objects of a particular session bean.

The client view of a session object is the same, irrespective of the implementation of the session bean and the container.
 
 

Various components in an EJB application
 
 

The client in the client tier of an EJB application can be any of the following

The client of an EJB can be any of the following These clients to the EJB reside in the server. The client to the EJB can reside on the client tier of the application also. For example an CORBA client accessing an EJB through COS naming services.
 

Naming services are used to locate the home interface of the EJB. Using the EJB home interface EJB Object interface is created and the reference to the EJB object is obtained. EJB object interface is used to access the business logic methods.

Naming services used to locate the EJB can be any of the following

Persistence tier can be any of the following Client tier to Middle tier Communication can be any of the following Middle tier to Persistence tier Communication can be any of the following The following table summarizes the application client, client to the middle tier communication protocol , Middle tier components , Naming services used to locate the EJB home interface, middle to the persistence tier communication protocol and the persistence tier component. With this numerous combinations possible we have to choose the combination which will work together.
 
 
 
Client Tier
C to M

Communication

Middle Tier
M to P

Communication

Persistence

Tier

HTML

HTML Applet

HTTP Servlet JNDI EJB JDBC

JNI 

RDBMS

Legacy

File

Java ServerPages

(HTML)

HTTP Java ServerPages 

( Servlet )

JNDI EJB JDBC

JNI 

RDBMS

Legacy

File

HTML Applet

Java Application

JRMP RMI RMI registry EJB JDBC

JNI 

RDBMS

Legacy

File

Non Java Application

(Corba Client)

IIOP CORBA ORB COS EJB JDBC

JNI 

RDBMS

Legacy

File

    EJB JNDI EJB JDBC

JNI 

RDBMS

Legacy

File


Contents | Previous  | Next   | Home

Last Modified on : 3/9/2001 by PRR
Contact prasks with questions or suggestion.
All rights reserved. Terms of use.
All products and companies mentioned at this site are trademarks of their respective owners.