Understanding Sun Master Index Processing (Repository)

Learning About Master Index Message Processing (Repository)

This section provides a summary of how inbound and outbound messages can be processed in a master index application. A master index application cross-references records stored in various computer systems of an organization and identifies records that might represent or do represent the same object. The master index application uses Java CAPS components to connect to and share data with these external systems. The following topics provide information about inbound and outbound message processing.

Figure 1 illustrates the flow of information through a master index application that includes a JMS Topic to which updates to the index are published.

Figure 1 Master Index Processing Flow

Diagram shows the flow of information through a master
index system.

Master Index Inbound Message Processing (Repository)

An inbound message refers to the transmission of data from external systems to the master index database. These messages can be sent into the database through a number of Services. Inbound messages can be stored in journal files and tracked in the log files. The steps below describe how inbound messages are processed.

  1. Messages are created in an external system, and the enveloped message is transmitted to the Enterprise Service Bus through that system’s eWay.

  2. The Enterprise Service Bus identifies the message and the appropriate Service to which the message should be sent. The message is then routed to the appropriate Service for processing.

  3. The message is modified into the appropriate format for the master index database, and validations are performed against the data elements of the message to ensure accurate delivery. The message is validated using the Java code in the Service’s Collaboration and other information stored in the master index configuration files.

  4. If the message was successfully transmitted to the database, the appropriate changes to the database are processed.

  5. After the master index application processes the message, an enterprise-wide universal identifier (EUID) is returned (for either a new or updated record). That EUID can be sent back out through a different Service to the external system. Alternatively, the entire updated message can be published using the outbound OTD (see Master Index Outbound Message Processing (Repository)).

Figure 2 below illustrates the flow of a message inbound to an Sun Master Index application.

Figure 2 Inbound Message Processing Data Flow

Diagram shows the flow of information when an inbound
message is processed.

About Inbound Messages

The format of inbound messages is defined by the inbound OTD, located in the client project for each external system. The inbound messages can either conform to the required format for the master index application or they can be mapped to the correct format in the Collaboration. The required format depends on how the object structure of the master index application is defined (in the Object Definition file in the master index project).

In addition to the objects and fields defined in the Object Definition file, you can include standard master index application fields. For example, you must include the system and local ID fields and you can also include transaction information, such as the date and time of the transaction, the transaction type, user ID, and so on. If you want to use transaction information from the source systems, be sure to include the fields in the OTD.

Transaction fields include the following:

Master Index Outbound Message Processing (Repository)

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.


Note –

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.

  1. 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.

  2. 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.

  3. 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.


    Note –

    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.

Figure 3 Outbound Message Processing Data Flow

Diagram shows the flow of information for message sent
out from the master index application.

About Outbound Messages

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.

Outbound OTD Structure

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. 

Outbound Message Trigger Events

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).

Sample Outbound Message

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>