System-Level Contracts J2EE Connector Architecture

Understanding Resource Adapters 2-5 ■ One or more external message sources MS1, MS2, which could be an Enterprise Information System EIS or Message Provider, and which send messages inbound to WebLogic Server. ■ One or more ActivationSpecs Act Spec, each of which corresponds to a single MessageListener type MLT-i. ■ A MessageEndpointFactory created by the EJB container and used by the resource adapter for inbound messaging to create proxies to MessageEndpoint instances MDB instances from the MDB pool. ■ A message endpoint application a message-driven bean MDB and possibly other J2EE components that receives and handles inbound messages from the EIS through the resource adapter.

2.2.2 System-Level Contracts

To achieve a standard system-level pluggability between WebLogic Server and an EIS, WebLogic Server has implemented the standard set of system-level contracts defined by the J2EE Connector Architecture. These contracts consist of SPI classes and interfaces that are required to be implemented in the application server and the EIS, so that the two systems can work cooperatively. The EIS side of these system-level contracts are implemented in the resource adapters Java classes. The following standard contracts are supported: ■ Connection management contract - Enables WebLogic Server to pool connections to an underlying EIS and enables application components to connect to an EIS. Also allows efficient use of connection resources through resource sharing and provides controls for associating and disassociating connection handles with EIS connections. ■ Transaction management contract - A contract between the transaction manager and an EIS that supports transactional access to EIS resource managers. Enables WebLogic Server to use its transaction manager to manage transactions across multiple resource managers. ■ Transaction inflow contract - Allows a resource adapter to propagate an imported transaction to WebLogic Server. Allows a resource adapter to flow-in transaction completion and crash recovery calls initiated by an EIS. Transaction inflow involves the use of an external transaction manager to coordinate transactions. ■ Security contract - Provides secure access to an EIS and support for a secure application environment that reduces security threats to the EIS and protects valuable information resources managed by the EIS. ■ Life cycle management contract - Enables WebLogic Server to manage the life cycle of a resource adapter. This allows bootstrapping a resource adapter instance during its deployment or application server startup, and notification to the resource adapter instance when it is undeployed or when the application server is being shut down. ■ Work management contract - Allows a resource adapter to do work monitor network endpoints, call application components, and so on by submitting Work instances to WebLogic Server for execution. ■ Message inflow contract - Allows a resource adapter to asynchronously or synchronously deliver messages to message endpoints residing in WebLogic Server independent of the specific messaging style, messaging semantics, and messaging infrastructure used to deliver messages. Also serves as the standard message provider pluggability contract that enables a wide range of message 2-6 Programming Resource Adapters for Oracle WebLogic Server providers Java Message Service, Java API for XML Messaging, and so on to be plugged into WebLogic Server through a resource adapter. These system-level contracts are described in detail in the J2CA 1.5 Specification http:java.sun.comj2eeconnector .

2.3 Resource Adapter Deployment Descriptors