ORB Configuration


The ORB has the same basic requirements as other Inf processes, that is, a logical name and a definition for it's command queue. If the keyword "SERVER2" followed by a queue name, is defined an additional queue will be opened. This second queue is normally used for encrypted communication. If the keyword "MAINORB" followed by a queue name, is defined this ORB will try to contact the main orb and exchange service type information.

In order for the ORB to handle some requests uniquely it uses the concept of service classes . The minimum definition requires at least one class to define the default operation. The ORB's default handling of requests is to find an available server, assign the new request to it, and when the server completes, pass this response message back to the originator.
Classes are configured using the "ADDCLS" keyword followed by a minimum of four fields with one optional field. They are, class name, type, code, and flags. The optional field is an ascii set definition field name, which must be surrounded by double quotes. The class name is a convenience for the infCtl tool. The "Type" and "Code" define the service type and code which will trigger this class. A zero in either field will act as a wild card. The "Flags" field determines the exact operation and may be:
READY Make the request READY for assignment immediately.
CACHIT Cache the request, on hard disk, until it is complete
RSPIMM Acknowledge the request to the client immediately
SETMBR Defines a member of a set. The optional "Field Name" must be included.
SETRDY The last member of a set, makes the set ready for assignment. Also requires the optionsl "Field Name"


Below is an example of an ORB's class configuration:
CAG 2
PODS 3
TEST 4
FNF 5 # TEST FIRE & FORGET
#NameTYPECODEFLAGSFldNam
ADDCLS DLYONtid $(PODS) 8 RSPIMM+SETMBR "tid" # Marshal BGN
ADDCLS RDYONtid $(PODS) 9 RSPIMM+SETRDY "tid" # Marshal END
ADDCLS CAGWT $(CAG) 3 RSPIMM+READY
ADDCLS FNF $(FNF) DEFAULT RSPIMM+READY # FIRE & FORGET
ADDCLS DEFAULT DEFAULT DEFAULT READY # DEFAULT


The Default class is required and must be the last class defined. In this example the class CAGWT has a service type of 2 and a service code of 3, an acknowledge message is immediately sent to the requestor, and the request is immediately ready for assignment. The class FNF (fire & forget) has a type of 5, a code of anything, the server is sent an acknowledge immediately, and it is immediately ready for assignment. The class DLYONtid has a type 3, code 8, an immediate acknowledge is sent to the requestor, and is a set member based on the "tid" field. The class RDYONtid has type 3, code 9, is the last member of the set with matching "tid" fields, and makes the set ready to assign.