The application can perform outbound communications using CCI interface, and it can create MDB to handle inbound communications.
The following process describes what happens when an application uses CCI to send and receive messages:
1 The application requests a connection to the EIS through the JNDI name of the connection factory for the SNA JCA LU62 Connector. The factory creates the connection using the connection properties predefined in the J2C console page of WebSphere Application Server. The application can also set the TP name predefined in the J2C console page.
2 When the application has an established connection, it performs an interaction verb to send and receive messages. The interaction verb has the following properties: verb type (send or receive), timeout, input record, and output record.
3 To perform the interaction, the SNA JCA LU62 Connector converts the input record or input message into string and then invokes the corresponding API of underlying EIS according to the interaction verb type.
4 The SNA JCA LU62 Connector returns the output record or message to the application.
5 The application continues with the interaction verb or closes the connection.
The following process describes what happens when an application uses MDB to handle inbound message asynchronously:
6 User creates a MDB that implements the interface of the Resource Adapter's message type. The activation specification values and JNDI name of activation specification should also be specified while creating MDB.
7 When the MDB is deployed to the Application Server, the Application Server will look up the Resource Adapter by matching the message type and activationSpec JNDI name of the Resource Adapter and the MDB.
8 The activationSpec instance of MDB and a MessageEndpointFactory instance will be transferred to the Resource Adapter for validation and registration. After the MDB is activated, the MDB is ready to receive messages.
9 The MDB can receive two types of messages: one type is pure inbound message that originates from partner host, which is called unsolicited message; the other type is the outbound reply message from partner host after the application sends outbound message at first by using CCI, which is called solicited message.
10 For the unsolicited inbound message that comes from EIS, the resource adapter will create an endpoint by calling createEndPoint() method of MessageEndpointFactory instance passed by Application Server when MDB is activated. Then JCA LU62 Connector will call onIncomingMessage method of the endpoint to notify the MDB of message arrival.
11 For the solicited outbound reply message, the JCA Connector will match the activation specification with the custom property of the connection factory. Then JCA LU62 Connector will call onOutgoingReplyMessage method of the endpoint to notify the MDB of message arrival.
12 When the Application Server stops or the MDB is undeployed, the Application Server will notify the resource adapter that the MDB is deactivated. Then the adapter will not deliver message to the MDB.
The SNA JCA LU62 Connector provides the rules that determine when the particular connection can be reused and under which circumstances it should be reused. For more information, see the JCA documentation.
The SNA JCA LU62 Connector supports the Security Management Contract. It uses a container-managed signon in which the container determines the user name and password for establishing a connection to an EIS instance. The client provides the user ID and password as part of the request message.
In the inbound communication model, the EIS initiates all communication to an application. The application can be composed of EJBs (session, entity and message-driven beans) and it can reside in an EJB container.
The figure below shows the process of the inbound communication:
The inbound communication is supported by Message Inflow contract of JCA1.5.
Instead of creating Java thread directly as in JCA 1.0 LU62 Connector, the JCA 1.5 LU62 Connector makes use of the Work Management that the application server supports. The Connector becomes more efficient and reliable by using the work management feature.
The Lifecycle Management Contract provides a way for an Application Server to manage the lifecycle of the resource adapter instance. The JCA 1.5 SNA Connector does some initialization work, such as loading the library when the Application Server starts up or when the resource adapter is deployed. The connector cleans and terminates the physical SNA connection when the application server shuts down or resource adapter is undeployed.