The classes and interfaces directly under this package define the basic parts of the OpenEJB container system architecture.

## Package Specification

OpenEJB is a pre-built, self-contained, portable EJB {@link org.openejb.ContainerSystem container system} that can be plugged into any application server environment. OpenEJB provides a clear separation of responsibilities between the EJB container and the EJB server. The application server and OpenEJB container system interact through the interfaces and classes defined in this package, called the Container Provider Interface (CPI). The CPI and the OpenEJB specifaction form the container-server contact.
Application servers that use OpenEJB are responsible for providing client applications with naming and remote access to the application server. Its services may include providing JNDI and {@link org.openejb.ProxyInfo proxy} implementations that fulfill the client-server contract of the EJB programming model. When a client makes a request on a remote bean reference, the application server delivers the request to the OpenEJB container system, which delegates the request to the appropriate enterprise bean and applies the transaction, security, and persistence services appropriately.

## Related Documentation

- OpenEJB website
- OpenEJB Datasheet
- Not subscribed to the mailing list? Subscribe me!

@see org.openejb.OpenEJB @see org.openejb.ContainerSystem @see org.openejb.ContainerManager @see org.openejb.Container @see org.openejb.DeploymentInfo