Here is the specification:
http://jcp.org/en/jsr/detail?id=220 The Early Draft is:
http://java.sun.com/products/ejb/docs.html Here are the goals (from the Early Draft):
EJB 3.0 is focused on the following goals:
� Definition of the
Java language metadata annotations that can be used to annotate EJB applications. These metadata annotations are targeted at simplifying the developer�s task, at reducing the number of program artifacts the developer is required to provide, and at eliminating the
need for the developer to provide an EJB deployment descriptor. Use of metadata annotations can also be used to enable the generation of interfaces for an enterprise bean from the bean class itself.
� Specification of programmatic defaults, including for metadata, to reduce the need for the developer to specify common, expected behaviors, and requirements on the EJB container. A �configuration by exception� approach is taken whenever possible.
� Encapsulation of environmental dependencies and JNDI access through the use of annotations, dependency injection mechanisms, and simple lookup mechanisms.
� Simplification of the enterprise bean types. Enterprise beans are simplified to more closely resemble plain Java objects (�POJOs�) or JavaBeans.
� Elimination of the requirement for EJB component interfaces for session beans and entity beans. The required business interface for a session bean is an ordinary Java interface (�POJI� or plain old Java interface), not an EJBObject, EJBLocalObject, or java.rmi.Remote interface. No interfaces are required for entity beans.
� Elimination of the requirement for Home interfaces.
� Simplification of container-managed persistence.
� Support for light-weight domain modeling, including inheritance and
polymorphism.
� Specification of Java language metadata annotations for the object/relational mapping of entity beans with container-managed persistence.
� Enhancements to EJB QL to provide greater usability. Addition of projection, explicit inner and outer join operations, bulk update and delete, subqueries, and group-by. Addition of a dynamic query capability and support for native SQL queries.
� Reduction of the requirements for usage of checked exceptions.
� Elimination of the requirement for the implementation of callback interfaces.
� Improved ability for
testing outside the container.
Now these are the goals of EJB3. Also, in the Expert group all the big Application Server companies are involved who are looking at specifications like Spring and Hibernate.
So my question would be will Ejb3 (or Ejb4?) make people not use other technologies? Also, The Ejb3 has only 1 file wrt 4 files and a deployment descriptor (which can be used with Ejb3).
Thanks
Deepak