This section describes how the connector for EJB handles request
processing, as illustrated in Figure 1.
The request processing scenario described here assumes that:
- The enterprise beans are deployed on a J2EE-compliant enterprise
application server, such as WebSphere Application Server.
- The application server is installed and running.
- The connector has been initialized, which loads the ProviderURL
and InitialContextFactory connector-specific properties.
These properties help to obtain the JNDI initial context, which is required to
initiate the connection to the EJB server and locate the enterprise bean's
home interface. The properties are cached and re-used throughout the
connector life cycle. For details about connector-specific properties,
see Connector-specific properties. For details about how the connector manages
security, see Configuring security.

Figure 1. Request processing for the connector for EJB
The connector for EJB processes business object requests in the following
manner.
- The connector receives a business object request from the integration
broker. The business object contains information about the
corresponding enterprise bean, including its JNDI name and the class name of
its home and remote interfaces.
- The connector uses its InitialContextFactory and
ProviderURL properties to begin the process of locating and
accessing the enterprise beans deployed on the application server.
InitialContext is part of the larger JNDI API supported by the
application server. It is the starting point for any JNDI lookup by a
client (such as the connector). The ProviderURL specifies
the service provider, which is a JNDI driver on the application server used
for locating the enterprise bean's home interface. The home
interface provides methods for creating or finding the enterprise bean remote
interface.
- After locating the home interface, the connector finds the remote
interface, which defines the enterprise bean business methods that a client
(in this case, the connector) can call.
For entity beans, the connector uses either a creator or finder type
method, depending on which has been implemented by the enterprise bean
developer (the connector knows which one to use based on the metadata in the
business object definition). These methods are defined in the home
interface and invoked by a client to obtain a remote/local interface reference
to an enterprise bean instance.
- Once the connector has located the remote interface, it can begin to
invoke enterprise bean methods. The parent business object sent by the
connector contains a child business object for each method defined in the
remote interface. The child business object's attributes are mapped
to parameters of the remote method of the corresponding enterprise
beans. Since enterprise beans are loaded dynamically, its methods are
discovered and called through reflection. The details of this step are
as follows:
- The connector's BO Handler checks the verb-level ASI of the parent
business object for one ore more lists of attribute names. A list is a
series of ordered, semi-colon-delimited attribute names.
- Each attribute of the parent business object contains a child business
object that represents a method to be invoked on the remote interface.
In other words, the verb ASI is not a list of methods, but a list of
attributes, each one having as a value a child object that represents a method
to be invoked.
- The connector executes the methods listed in the verb ASI, in the order in
which they are listed.
- After the methods are executed and values are returned from the EJB
application server, the connector loads the EJB object data into the business
object.
- The connector returns the business object with populated values from the
EJB application server to the integration broker.
The connector also returns a message to the integration broker indicating
that the original object request was either successful or unsuccessful (a FAIL
status). If the request was successful, the connector also returns the
updated business object to the broker.
