Monday, 4 February 2013

SERVERS | Java J2EE Tutorial pdf

SERVERS

The J2EE platform is a large collection of APIs, all working together to provide a unified platform for enterprise development. The J2EE platform consists of various components and services that are available and operate in containers. However, J2EE itself does not actually implement these components but relies on third-party vendors to provide the actual implementation. That implementation is called J2EE application servers.

Features of an application server

The following are the features that an application server should provide:
=> Scalability
=> Client agnosticism
=> Server management
=> Development
The term application server as we know it today is assigned to a product that implements the J2EE standard and offers a web container and EJB container, as a minimum, packaged as server software. This product must comply with a version of J2EE standards, preferably the latest and be able to provide:
=> Web and EJB container
An environment for component based applications to map easily to the functionality
desired from the application.
=> Component behavior
To enable assembly and deploy-time behaviors. Components can expect the availability of services in run-time environment, and can be connected to other components providing a set of well-defined interfaces. As a result, components can be configured for a certain type of behavior at application assembly or deployment time without any recoding required.
=> Scalability
J2EE containers must provide a mechanism that supports simplified scaling of distributed applications, without requiring any effort on the part of the application development team. Clustering is one of the features used to fulfill this standard requirement.
=> Integration with existing enterprise systems
This can be done with a number of standard APIs that have to be supported in a J2EE implementation:
=> JDBC APIs for accessing relational data from Java.
=> Java Transaction API (JTA) for managing and coordinating transactions across heterogenous enterprise information systems.
=> Java Naming and Directory Interface (JNDI) API for accessing information in enterprise name and directory services.
=> Java Messaging Service (JMS) API for sending and receiving messages via enterprise messaging systems like IBM MQ Series, or TIBCO Rendezvous.
=> JavaMail APIs for sending and receiving e-mails.
=> Java IDL APIs for calling CORBA services.
=> Security services like the Java Authentication and Authorization Service (JAAS).
While the J2EE specification defines the component containers that must be supported and the APIs that should be available. It does not try to specify or restrict the configuration of these containers, and the layout of the services. Thus, both container types can run either on a single platform or on a distributed environment.

Examining Full J2EE Implementations

The available application servers that fully support the J2EE platform. They implement what is effectively a one-stop shop for our J2EE needs. Even though the J2EE platform is middleware and we may opt for one J2EE component, we are not tied to its whole implementation; we are still free to swap in third-party implementations to replace specific layers.
The following are the application servers that fully support the J2EE platform.
=> BEA WebLogic
=> Borland Enterprise Server
=> IBM WebSphere
=> JBoss
=> Oracle 9iAS
=> Orion Application Server
=> Sun ONE
Examining Partial J2EE Implementations
Without a doubt, the J2EE platform is large, Many developers will only ever use servlets and JSP; the requirement to install the full J2EE server is overkill for them. The Servlet API is one of the oldest and best-established APIs of the J2EE platform. Many servlets engines on the market provide support for the full Servlet API and JSP specifications, and these are some of the more popular ones:
=> Apache Tomcat
=> Resin
=> ServletExec

No comments: