Enterprise JavaBeans is an architecture for the development and deployment of component-based business applications. Applications written using the Enterprise JavaBeans architecture are scalable, transactional, and multi-user secure.
The Enterprise JavaBeans 3.0 specification focused on bringing ease-of-use to the EJB API. The purpose of the Enterprise JavaBeans 3.1 specification is to further simplify the EJB architecture by reducing its complexity from the developer's point of view, while also adding new functionality in response to the needs of the community.
The focus will be on the core session bean and message-driven bean component models and their client API. Although the Java Persistence API was developed within EJB 3.0, it will evolve under a separate JSR rather than within EJB 3.1.
Aspects that should be considered by the Expert Group for inclusion in this work include, but are not limited to, the following:
Removal of the requirement for a separate local business interface.
Support for direct use of EJBs in the servlet container, including simplified packaging options.
Singleton beans.
Support for asynchronous session bean invocation.
Support for stateful web services via stateful session bean web service endpoints.
Specification of concurrency options for stateful session beans.
Application-level callback notifications, including for container initialization and shutdown.
EJB Timer Service enhancements to support cron-like scheduling, deployment-time timer creation, and stateful session bean timed objects.
An ejb-jar level component environment to simplify the specification of shared dependencies among components.
The goal of the Expert Group will be to investigate these issues and identify and pursue directions for enhancement to the overall programming model and facilities of the Enterprise JavaBeans API.
Ken Saks is a Senior Staff Engineer in the Java EE Platform group at Sun Microsystems, where he was the lead architect for the EJB 3.0 container implementation in the Java EE SDK and Sun Java System Application Server. Ken is an original member of the Java EE platform engineering team and has been developing application servers at Sun since 1999. He has over 12 years of experience in the areas of distributed computing, OO, and system software. Ken holds a M.S. in Computer Science from Stanford University.
Writing JPA applications— In this session Patrick explores the new Java Persistence API, and examine some common practices for how to write Spring applications that use JPA. Patrick will focus more on API usage than on mapping configuration, and will look at the bootstrapping and runtime behavior of JPA applications. You will learn about JPA's optimistic locking semantics, including the benefits of optimistic read locks. Patrick looks at when it's appropriate to use the different facilities of the Java Persistence Query Language (JPQL), and also discusses common extensions to the spec, including performance caching, pessimistic locking, and fetch strategies.
EJB3 Interceptors— The EJB 3.0 spec defines the ability to apply custom made interceptors to the business methods of your session and message driven beans (and of course to the JBoss @Service and @Consumer beans). EJB 3.0 interceptors take the form of methods annotated with the @javax.ejb.AroundInvoke annotation. This JavaPolis talk by Bill Burke covers this part of the EJB3 spec.
Enterprise Development with JPA— Standardization of persistence inside of the Java EE platform, as well as in the SE environment, will finally provide enterprise applications with the ability to write to one API and be able to run on the vendor of their choice. This talk covers best practices and common usage patterns of the Java Persistence API in conjunction with a Java EE application server.
Using the Java Persistence API— Standardization of persistence inside of the Java EE platform, as well as in the SE environment, will finally provide enterprise applications with the ability to write to one API and be able to run on the vendor of their choice.