1. Client connections can be balanced across the listener regions, using any of the
following methods:
v Connection optimization by means of dynamic Domain Name System (DNS)
registration.
v IP routing.
v A combination of connection optimization and IP routing.
2. OTS transactions can be balanced across the AORs, using either of the
following:
v CICSPlex System Manager
v A customized version of the CICS distributed routing program, DFHDSRP.
This chapter assumes that you are using the distributed routing program.
Important
It is convenient to talk of balancing (or dynamically routing) OTS
transactions across AORs. Strictly speaking, however, what are dynamically
routed are method requests for enterprise beans and CORBA stateless
objects. There is a correspondence between routing method requests
dynamically and routing OTS transactions dynamically: CICS invokes the
routing program for requests for methods that will run under a new OTS
transaction, but not for requests for methods that will run under an existing
OTS transaction—these it directs automatically to the AOR in which the
existing OTS transaction runs. However, because requests for methods that
will run under no OTS transaction can also be dynamically routed, the
correspondence is not exact.
We must be clear about what we mean by “new” and “existing” OTS
transactions. For the purposes of this chapter:
a. By a “new” OTS transaction we mean an OTS transaction in which the
target logical server is not already participating, prior to the current
method call; not necessarily an OTS transaction that was started
immediately before the method call.
b. By an “existing” OTS transaction we mean an OTS transaction in
which the target logical server is already participating, prior to the
current method call; not simply an OTS transaction that was started
some time ago.
For example, if a client starts an OTS transaction, does some work, and
then calls a method on an enterprise bean, so far as the CICS EJB server
is concerned this is a “new” OTS transaction, because the server has not
been called within this transaction’s scope before. If the client then makes a
second and third method call to the same target object, before committing
its OTS transaction, these second and third calls occur within the scope of
the existing OTS transaction.
Local and remote clients
Figure 61 on page 629 shows the typical situation, where the method requests to
be dynamically routed are issued by remote clients over a network connection. For
eligible requests, the distributed routing program is invoked for route selection in the
listener region. (Which method requests are eligible for distributed routing is
described in “Which requests can be dynamically routed?” on page 631.)
However, the “client” may not be a program on a remote workstation. It could, for
example, be an instance of an enterprise bean or CORBA stateless object, running
630 Customization Guide