EJB Application Server (J2EE application server)

Vertical Services

inherent services not specified explicitly by J2EE architecture.

Lifecycle

Container creates and destroys EJB instances based on client demand

Performance issue

May pool instances to share among several clients

Security

Ensure only authorized users access resources.

J2EE specifies only role-based security model for EJB and web components. Vendors may provide integration with 3rd party security providers.

Remote Method Invocation Container manages comunications between EJBs and other components.
Transaction Management

handle issues of managing distributed transactions that span multiple EJBs and resources such as databases.

Contain ensures updates to all databases occur successfull otherwise will roll back all aspects of transaction.

Persistence Container-managed persistence means the container handles preserving information via connection between application and EJB tiers.

Passivation/
Activation

Mechanism used by container to store inactive IJB to disk and restore its state when invoked again.

Used by both entity and stateful session beans
Clustering Supports replication of EJBs and services across multiple application server instances.

Involves load-balancing the requested services and EJBs among the replicated instances. Also supports fault-taulerance (fail-over) ...when one fails, the load is picked up by another
Concurrency

Supports mutlipthreading.

All components developed as single-threaded. Container manages concurrency and serialization access to shared resources

Resource Pooling supports allocation of a pool of instances and then assigns them to requesting clients. See lifesycle.

 

 

Horizontal Services

specified by J2EE .....the J2EE APIs.

 

JNDI

Java Naming and Directory Interface

interface to multiple naming and directory services.

JDBC

Java Database Connectivity

access to databases.

JSP Java Server Pages
Servlet

 

JTA

Java Transaction API

interfaces between a transaction manager and the parties involved in a distributed transaction system: resource manager, application server and transactional application.

JMS

Java message Service

API and framework that enables development of portable, message-based enterprise applications.

JCA

J2EE Connector Architecture

facilitates enterprise application integration.

JAXP

Java API for XML Processing

enables java code to parse and transform XML documents independent of a particular XML processing implementation.

JAAS

Java Authentication and Authorization Security

enables services to authenticate and enforce access controls upon users.

RMI over IIOP

(RMI/IIOP)

Remote Method Invocation over Internet Inter-ORB Protocol

Java's implementation of CORBA (Comon Object Request Broker Architecture) that allows for distributed computing capabilities

 

JavaMail framework for builing mail and messaging applications
JAF

JavaBean Activation Framework

services used by JavaMail to determin type of an piece of data, encapsulate access to it, discover operations available on it and instantial the appropriate bean to perform said operation.