The Eclipse Persistence Services Project (EclipseLink) project's goal is to provide a complete persistence framework that is both comprehensive and universal. It will run in any Java environment and read and write objects to virtually any type of data source, including relational databases, XML, or EIS systems. EclipseLink will focus on providing leading edge support, including advanced feature extensions, for the dominant persistence standards for each target data source; Java Persistence API (JPA) for relational databases, Java Architecture for XML Binding (JAXB) for XML, J2EE Connector Architecture (JCA) for EIS and other types of legacy systems, and Service Data Objects (SDO).
EasyBeans is an open-source Enterprise Java Beans (EJB) container hosted by the OW2 consortium. The License used by EasyBeans is the LGPL.
EasyBeans main goal is to ease the development of Enterprise Java Beans. It uses some new architecture design like the bytecode injection (with ASM ObjectWeb tool), IoC, POJO and can be embedded in OSGi bundles or other frameworks (Spring, Eclipse plugins, etc.).
It aims to provide an EJB3 container as specified in the Java Platform Enterprise Edition (Java EE) in its fifth version. It means that Session beans (Stateless or Stateful), Message Driven Beans (MDB) are available on EasyBeans.
The new persistence layer used by EJB 3.0 is now called Java Persistence API (or JPA). It replaces the CMP (Container Managed Persistence) model used by EJB 2.x. The default persistence provider used in EasyBeans is Hibernate Entity Manager or Apache OpenJPA but other JPA providers have been tested like for example Oracle TopLink Essentials.
JSF-Spring-JPA is the popular stack of choice these days, mostly to be used in my consulting and training purposes I’ve created a base project called MovieStore demonstrating the annotation-driven integration of JSF-Spring-JPA. JSF backing beans, spring service level beans and DAO’s are configured and integrated with annotations. Only the core infrastructure like datasource, entityManagerFactory or transactionManager are configured with xml.
Apache MyFaces Orchestra aims to provide a simple way to combine a web-framework with a persistence layer. Typically, an Apache MyFaces Orchestra stack might combine JavaServer Faces, Spring and a JPA implementation like Toplink, Hibernate, etc.
The underlying idea is to provide long persistence sessions to the web-developer - this is done by associating these sessions with a conversational context.
The conversational context is opened when the bean configured for this context is first loaded. It can be manually closed by the programmer, plus a time-out can be configured as a global parameter.