An outbound message refers to the transmission of data from the master index database to any external system. Messages can be transmitted from the master index application in two ways. The first way is by transmitting the output of executeMatch (an EUID). This is described inMaster Index Inbound Message Processing (Repository) and is only used for messages received from external systems.
The second way is by publishing updates from the master index application to a JMS Topic, which allows you to publish complete, updated single best records (SBRs) to any system subscribing to that topic. When updates are made to the database from either external systems or the Enterprise Data Manager, the master index application generates outbound messages in the format of the outbound OTD.
A Sun master index application only publishes the outbound message to JMS Topics and not to JMS Queues.
This section describes how the second type of outbound message is processed. A JMS Topic must be defined in the Connectivity Maps for the master index server project and the appropriate client projects for this type of processing to occur.
When a message is received from an external system or data is entered through the Enterprise Data Manager (EDM), the master index application processes the information and generates an XML message, which is then sent to the JMS Topic that is configured to publish messages from the master index application.
Messages published by the JMS Topic are processed through a Service whose Collaboration uses the master index outbound OTD. This Service modifies the message into the appropriate format.
The Enterprise Service Bus identifies the message and the external systems to which it should be sent and then routes the message for processing by an external system eWay.
Outbound messages are stored and tracked in the Enterprise Service Bus journal and log files.
Figure 3 below illustrates the flow of data for a message outbound from a master index application.
When you generate the master index application, an outbound OTD is created, the structure of which is based on the object definition. This OTD is used to publish changes in the master index database to external systems using a JMS Topic. The output of the executeMatch process is an EUID of the new or updated record. You can use this EUID to obtain additional information and configure a Collaboration and Service to output the data, or you can process all updates in the master index application through a JMS Topic using the outbound OTD.
The outbound OTD is named after the master index application (for example, OUTCompany or OUTPerson). This OTD contains eight primary nodes: Event, ID, SBR, and the standard Java methods marshal, unmarshal, marshalToString, unmarshalFromString, marshalToBytes, unmarshalFromBytes, and reset. The Event field is populated with the type of transaction that created the outbound message, and the ID field is populated with the unique identification code of that transaction. The SBR node is the portion of the OTD created from the Object Definition file. In the sample, the outbound OTD publishes messages in XML format. Table 1 describes the components of the SBR portion of the outbound OTD.
Table 1 Outbound OTD SBR Nodes
Node |
Description |
---|---|
EUID |
The EUID of the record that was inserted or modified. |
Status |
The status of the record. |
CreateFunction |
The date the record was first created. |
CreateUser |
The logon ID of the user who created the record. |
UpdateSystem |
The processing code of the external system from which the updates to an existing record originated. |
ChildType |
The name of the parent object. |
CreateSystem |
The processing code of the external system from which the record originated. |
UpdateDateTime |
The date and time the record was last updated. |
CreateDateTime |
The date and time the record was created. |
UpdateFunction |
The type of function that caused the record to be modified. |
RevisionNumber |
The revision number of the record. |
UpdateUser |
The logon ID of the user who last updated the record. |
SystemObject |
The object’s local identifier in a specified system. This field has three sub-fields: LID: The local ID assigned to the person in the system of origin. System: The processing code of the system of origin. Status: The status of the local ID in the enterprise record. |
Object_Name |
The fields in this node are defined by the object structure (as defined in the Object Definition file). It is named by the parent object and contains all fields and child objects defined in the structure. This section varies depending on the customizations made to the object structure. |
When outbound messaging is enabled, the following transactions automatically generate an outbound message that is sent to the JMS Topic (if a JMS Topic has been incorporated into the master index project).
Activating a system record
Activating an enterprise record
Adding a system record
Creating an enterprise record
Deactivating a system record
Deactivating an enterprise record
Merging an enterprise record
Merging a system record
Transferring a system record
Unmerging an enterprise record
Unmerging a system record
Updating an enterprise record
Updating a system record
The following text is a sample outbound message for a master index application based on a master person index. Your outbound messages might appear differently depending on how you configure the client project connectivity components.
<?xml version="1.0" encoding="UTF-8"?> <OutMsg Event="UPD" ID="00000000000000044005"> <SBR EUID="1000008001" Status="active" CreateFunction="Add" ChildType="Person" CreateSystem="System" UpdateFunction="Update" RevisionNumber="5" CreateUser="eview" UpdateSystem="System" UpdateDateTime="12/16/2003 17:40:44" CreateDateTime="12/16/2003 17:36:58" UpdateUser="eview"> <SystemObject SystemCode="CBMC" LID="434900094" Status="active"> </SystemObject> <Person PersonId="00000000000000017000" PersonCatCode="PT" LastName="WRAND" FirstName="ELIZABETH" MiddleName="SU" Suffix="" Title="PHD" DOB="12/12/1972 00:00:00" Death="" Gender="F" MStatus="M" SSN="555665555" Race="B" Ethnic="23" Religion="AG" Language="ENGL" SpouseName="MARCUS" MotherName="TONIA" MotherMN="FLEMING" FatherName="JOSHUA" Maiden="TERI" PobCity="KINGSTON" PobState="" PobCountry="JAMAICA" VIPFlag="N" VetStatus="N" FnamePhoneticCode="E421" LnamePhoneticCode="RAN" MnamePhoneticCode="S250" MotherMNPhoneticCode="FLANANG" MaidenPhoneticCode="TAR" SpousePhoneticCode="M622" MotherPhoneticCode="T500" FatherPhoneticCode="J200" DriversLicense="CT111333111" DriversLicenseSt="CT" Dod="" DeathCertificate="" Nationality="USA" Citizenship="USA" PensionNo="" PensionExpDate="" RepatriationNo="" DistrictOfResidence="" LgaCode="" MilitaryBranch="NONE" MilitaryRank="NONE" MilitaryStatus="NONE" StdLastName="WRAND" StdMiddleName="SUSAN"> <Phone PhoneId="00000000000000011001" PhoneType="CC" Phone="9895558768" PhoneExt=""> </Phone> <Phone PhoneId="00000000000000011000" PhoneType="CH" Phone="9895554687" PhoneExt=""> </Phone> <Address AddressId="00000000000000011001" AddressType="H" AddressLine1="1220 BLOSSOM STREET" AddressLine2="UNIT 12" AddressLine3="" AddressLine4="" City="SHEFFIELD" StateCode="CT" PostalCode="09877" PostalCodeExt="" County="CAPEBURR" CountryCode="UNST" HouseNumber="1220" StreetDir="" StreetName="BLOSSOM" StreetNamePhoneticCode="BLASAN" StreetType="St"> </Address> </Person> </SBR> </OutMsg> |