Changes Between Versions 2.X and 3.0

2 Understanding Enterprise JavaBeans 3.0 2-1 2 Understanding Enterprise JavaBeans 3.0 These sections describe the new features and programming model of EJB 3.0. It is assumed the reader is familiar with Java programming, Java Platform, Enterprise Edition Java EE Version 5, and EJB 2.x concepts and features. ■ Section 2.1, Understanding EJB 3.0: New Features and Changes From EJB 2.X ■ Section 2.2, WebLogic Server Value-Added EJB 3.0 Features ■ Section 2.3, EJB 3.0 Examples ■ Section 2.4, Programming 3.0 Entities

2.1 Understanding EJB 3.0: New Features and Changes From EJB 2.X

Enterprise JavaBeans EJB is a Java Platform, Enterprise Edition Java EE Version 5 technology for the development and deployment of component-based business applications. Although EJB is a powerful and useful technology, the programming model in version 2.X and previous was complex and confusing, requiring the creation of multiple Java files and deployment descriptors for even the simplest of EJB. This complexity hindered the wide adoption of EJBs. As a consequence, one of the central goals of Version 3.0 of the EJB specification is to make it much easier to program an EJB, in particular by reducing the number of required programming artifacts and introducing a set of EJB-specific metadata annotations that make programming the bean file easier and more intuitive. Another goal of the EJB 3.0 specification was to standardize the persistence framework and reduce the complexity of the entity bean programming model and object-relational OR mapping model. The remainder of this section describes, at a high-level, how the programming model and requirements changed in EJB 3.0, as compared to version 2.X, and lists a brief description of the new features of EJB 3.0.

2.1.1 Changes Between Versions 2.X and 3.0

The following summarizes the changes in the EJB programming model and requirements between EJB 2.X and 3.0: Note: This document does not discuss programming 3.0 entity beans; that information is provided in the Java Persistence API of the Oracle Kodo documentation set. 2-2 Programming Enterprise JavaBeans, Version 3.0, for Oracle WebLogic Server ■ You are no longer required to create the EJB deployment descriptor files such as ejb-jar.xml. You can now use metadata annotations in the bean file itself to configure metadata. You are still allowed, however, to use XML deployment descriptors if you want; in the case of conflicts, the deployment descriptor value overrides the annotation value. ■ The bean file can be a plain old Java object or POJO; it is no longer required to implement javax.ejb.SessionBean or javax.ejb.MessageDrivenBean. ■ As a result of not having to implement javax.ejb.SessionBean or javax.ejb.MessageDrivenBean, the bean file no longer has to implement the lifecycle callback methods, such as ejbCreate, ejbPassivate, and so on. If, however, you want to implement these callback methods, you can name them anything you want and then annotate them with the appropriate annotation, such as javax.ejb.PostActivate. ■ The bean file is required to use a business interface. The bean file can either explicitly implement the business interface or it can specify it using the javax.ejb.Remote or javax.ejb.Local annotations. ■ The business interface is a plain old Java interface or POJI; it should not extend javax.ejb.EJBObject or javax.ejb.EJBLocalObject. ■ The business interface methods may not throw java.rmi.RemoteException unless the business interface extends java.rmi.Remote. Because the EJB 3.0 programming model is so simple, Oracle no longer supports using the EJBGen tags and code-generating tool on EJB 3.0 beans. Rather, you can use this tool only on 2.X beans. For information, see the EJBGen Reference in Programming WebLogic Enterprise JavaBeans for Oracle WebLogic Server.

2.1.2 New EJB 3.0 Features