- Standalone Enterprise Applications
- Application Server-Based Enterprise Applications
- Application Server Architecture Provider Roles
- Application Server Components
- Application Server Client Interfaces
- Application Server Client Implementations
- Enterprise Application Configuration and Deployment
- Application Service Management
Application Server Components
One of the most attractive features of an application server is that it gives enterprise software developers the capability to focus on developing the business logic and data for an enterprise application. Business logic and data are encapsulated within the enterprise application components that get plugged into an application server environment. For the J2EE, these enterprise application components are implemented as Enterprise JavaBeans. Thus, enterprise developers focus on defining the application logic and data within the component, and the application server handles how distributed clients access such components in a scalable and secure fashion. Application servers also implement much of the infrastructure logic that components use to access other enterprise systems and enterprise database resources.
Very often, application servers define an interface contract to which enterprise application components must adhere if they want to enable the application container/server environment to manage the life cycle of that component. Life cycle management of components includes instance creation, instance destruction, state management, and perhaps database connectivity management.
An EJB component first indicates its capability to operate inside an EJB container by implementing the javax.ejb.SessionBean interface. The setSessionContext() and various ejbXXX() methods defined on the EJB support this interface contract and enable the EJB to operate inside a J2EE EJB container. Thus, by implementing a few simple methods and providing its own business logic, the EJB component becomes a first-class citizen of a J2EE enterprise application environment and can be managed by the EJB container.