JCA resources
The J2EE Connector architecture (JCA) defines a standard architecture for connecting the J2EE platform to heterogeneous Enterprise Information Systems (EIS), for example...
- ERP
- Mainframe transaction processing
- Database systems
- Existing applications not written in the Java programming language
By defining a set of scalable, secure, and transactional mechanisms, the JCA enables the integration of EISs with appservers and enterprise applications.
WAS V6 provides a complete implementation of the JCA 1.5 specification, including the features of the JCA 1.0 Specification:
- Connection sharing (res-sharing-scope)
- A get/use/close programming model for connection handles
- A get/use/cache programming model for connection handles
- XA, Local, and No Transaction models of resource adapters, including XA recovery
- Security options A and C, as in the specification
- Applications with embedded .rar files
The new features for the JCA 1.5 specification are:
- Deferred enlistment transaction optimization
- Lazy connection association optimization
- Inbound communication from an enterprise information system (EIS) to a resource adapter
- Inbound transactions from an EIS to a resource adapter
- Work management, enabling a resource adapter to put work on separate threads and pass execution context, such as inbound transactions, to the thread
- Life cycle management, enabling a resource adapter to be stopped and started
The JCA Resource Adapter is a system-level software driver supplied by EIS vendors or other third-party vendors. It provides the following functionality:
- Provides connectivity between J2EE components, such as an appserver or an application client and an EIS.
- Plugs into an appserver.
- Collaborates with the appserver to provide important services, such as connection pooling, transaction, and security services.
JCA defines the following set of system-level contracts between an appserver and EIS: A connection management contract lets an appserver pool connect to an underlying EIS, and lets application components connect to an EIS. This leads to a scalable application environment that can support a large number of clients requiring access to EISs.
- A transaction management contract between the transaction manager and an EIS supports transactional access to EIS resource managers. This contract lets an appserver use a transaction manager to manage transactions across multiple resource managers. This contract also supports transactions that are managed internally to an EIS resource manager without the necessity of involving an external transaction manager.
- A security contract enables a secure access to an EIS. This contract provides support for a secure application environment, reducing security threats to the EIS and protecting valuable information resources managed by the EIS.
The resource adapter implements the EIS-side of these system-level contracts.
Implements the Common Client Interface (CCI) for EIS access. The CCI defines a standard client API through which a J2EE component accesses the EIS. This simplifies writing code to connect to an EIS data store. The resource adapter provides connectivity between the EIS, the appserver, and the enterprise application via the CCI.
Implements the standard Service Provider Interface (SPI). The SPI integrates the transaction, security, and connection management facilities of an appserver (JCA Connection Manager) with those of a transactional resource manager Multiple resource adapters (one resource adapter per type of EIS) are pluggable into an appserver. This capability enables application components deployed on the appserver to access the underlying EISs. This is shown in Figure 6-16.
The benefits of JCA include:
- Once an appserver implements JCA, any JCA-compliant resource adapter can plug in.
- Once a resource adapter implements JCA, it can plug in to any JCA-compliant appserver.
- Each EIS requires just one implementation of the resource adapter.
- The common client interface simplifies application integration with diverse EISs.