The resource adapter (RA) is a system library that provides connectivity to an EIS system. The RA is the heart of the J2EE Connector Architecture and interacts with all the participants, that is, with the application server and the application component, as well as with the EIS system. Given its prime role in the JCA architecture, it is not surprising to note that the RA implements both the system contracts and the application contracts specified in the JCA specification.
EIS vendors must create RAs that comply with the JCA specification to be deemed Java Connector Architecture compliant. The RA implements the CCI. This makes the RA the black box behind the CCI. When a Java program uses an interface in the CCI, it is calling a component in the RA that implements that interface. This allows for a pluggable, component-based approach to solving Java-EIS integration.
The RA is where all the system-level functionality is achieved. The Java application and the EIS communicate with each other indirectly through the RA. The adapter translates requests from the Java application into calls on the EIS.
The system contracts define the interaction between the application server and the RA. The system contracts relate to the core functionalities required during the interaction for accessing EIS resources such as connectivity, transactions, and security.
RAs are the JCA equivalent of the JDBC drivers that you learned about earlier but on an enterprise scale. A JDBC driver enables client applications and application servers to interact with databases seamlessly. Similarly, an RA enables enterprise applications and application servers to interact with different EIS systems seamlessly.