2)What are the design goals of the Enterprise JavaBeansTM architecture?

The Enterprise JavaBeans specification defines a standard architecture for implementing the business logic of multi-tier applications as reusable components

In addition to Enterprise JavaBeans components, the architecture defines three other entities:

servers,containers, andclients.

This architecture incorporates several design goals:

Enterprise JavaBeans servers are designed to wrap around legacy systems to provide fundamental services for "containers and the components they contain"

Enterprise JavaBeans containers are designed to handle details of "component" life-cycle, transaction, and security management

Component developers are free to focus on business logic, since containers provide services automatically by interceding in component method calls. A simple set of callback interfaces are all that a developer needs to implement to participate in container provided services.

A client's view of an Enterprise JavaBean remains the same regardless of the container it is deployed in. Any container in which an Enterprise JavaBean is deployed presents the same interfaces to the client. This extends to containers from different vendors, running against different servers and different databases, on diverse systems on a network. This client transparency ensures wide scalability for multi-tier applications.