Resources in Java EE Applications
A resource is a program object that provides connections to such systems as database servers and messaging systems.
The Java EE Connector Architecture and Resource Adapters
The Java EE Connector architecture enables Java EE components to interact with enterprise information systems (EISs) and EISs to interact with Java EE components. EIS software includes such kinds of systems as enterprise resource planning (ERP), mainframe transaction processing, and nonrelational databases. Connector architecture simplifies the integration of diverse EISs. Each EIS requires only one implementation of the Connector architecture. Because it adheres to the Connector specification, an implementation is portable across all compliant Java EE servers.
The specification defines the contracts for an application server as well as for resource adapters, which are system-level software drivers for specific EIS resources. These standard contracts provide pluggability between application servers and EISs. The Java EE Connector Architecture 1.6 specification defines new system contracts such as Generic Work Context and Security Inflow. The Java EE Connector Architecture 1.6 specification is available at http://jcp.org/en/jsr/detail?id=322.
A resource adapter is a Java EE component that implements the Connector architecture for a specific EIS. A resource adapter can choose to support the following levels of transactions:
NoTransaction: No transaction support is provided.
LocalTransaction: Resource manager local transactions are supported.
XATransaction: The resource adapter supports the XA distributed transaction processing model and the JTA XATransaction interface.
See Chapter 45, Resources and Resource Adapters for a more detailed explanation of resource adapters.
Java Database Connectivity Software
To store, organize, and retrieve data, most applications use relational databases. Java EE applications access relational databases through the JDBC API.
A JDBC resource, or data source, provides applications with a means of connecting to a database. Typically, a JDBC resource is created for each database accessed by the applications deployed in a domain. Transactional access to JDBC resources is available from servlets, JavaServer Faces pages, and enterprise beans. The connection pooling and distributed transaction features are intended for use by JDBC drivers to coordinate with an application server. For more information, see DataSource Objects and Connection Pools.