|Oracle8i Enterprise JavaBeans and CORBA Developer's Guide
Enterprise JavaBeans (EJB) is an architecture for developing transactional applications as distributed components in Java. EJB is a powerful development methodology for distributed application development. By developing with enterprise beans, neither the bean developer nor the client application programmer needs to be concerned with details such as transaction support, security, remote object access and many other complicated and error-prone issues. These are provided transparently for the developer by the EJB server and container.
Additionally, EJB applications are developed entirely in Java. It is not necessary for developers to learn a new language such as IDL.
Because of this simplicity, you can quickly develop applications that use EJBs; furthermore, EJBs offer portability. A bean that is developed on one EJB server should run on other EJB servers that meet the EJB specification. Portability has not currently been tested for most servers, but it is a promise for the future.
The Oracle8i JServer implements the EJB version 1.0 specification, providing a server and a container that hosts 1.0-compatible enterprise beans. The current release of JServer supports session beans only, as required by the specification. Entity beans will be supported in a future release.
EJB specifies Java Remote Method Invocation (RMI) as the transport protocol. Oracle8i JServer implements RMI over IIOP. Since the CORBA Internet Inter-ORB Protocol (IIOP) is the transport protocol for CORBA and for a coming version of RMI, Oracle8i effectively enables direct object-oriented access to an exploding array of open systems.
The EJB specification calls for two types of session bean: stateless and stateful beans. Stateless beans--which do not share state or identity between method invocations--find use mainly in middle tier application servers that provide a pool of beans to handle frequent but brief requests, such as those involved in an OLTP application. Stateful beans are intended for longer-duration sessions, in which it is necessary to maintain state, such as instance variable values or transactional state, between method invocations. Because the Oracle8i ORB and Java VM run under the multi-threaded server (MTS), the distinction between stateless and stateful session beans is not important for JServer. Both kinds of bean are activated on demand in a new session. Stateful beans can offer the same performance as stateless beans, while preserving the advantages of stateful beans (their "conversational state").
Deployment of EJBs in JServer is simplified by the use of a text form deployment descriptor, and by a tool that verifies the bean interfaces, generates and compiles the required infrastructure classes for the bean, and loads these classes into the database. The deploy tool then publishes the bean home interface in the database so that the client applications can access it.
Oracle8i JServer complies with the EJB 1.0 specification and provides a highly scalable and high-performance execution environment for EJBs. The Oracle8i EJB implementation is able to leverage the Oracle database server and offers the following features: