4Configuration Roadmap

Siebel Connector for IAA-XML Configuration Overview

The Siebel Connector for IAA-XML comprises of four pre-built business services:

  • FINS IAA-XML Transaction Manager

  • FINS IAA-XML Data Transformation Engine

  • FINS IAA-XML Converter

  • FINS IAA-XML Dispatcher

The Siebel Connector for IAA-XML can be configured to support several types of IAA Business Object Model packages. The following illustrates the main steps in configuring the Siebel Connector for IAA-XML, which are as follows:

  1. Using FINS IAA Wizard:

    • Build integration object.

    • External/internal/envelope integration objects.

  2. Using Data Mapper:

    • Build data transformation map.

    • Map external integration object to an internal integration object.

  3. Using Workflow Manager:

    • Configure workflow process.

    • Instantiation.

Main Steps to Configure the Siebel Connector for IAA-XML. This image is described in surrounding text.

The following checklist shows the high-level procedures for configuring your system to use the Siebel Connector for IAA-XML.

Check Box Procedure

Install the MQSeries Financial Services Edition.

For details, see The MQSeries Financial Services Edition.

Creating the integration objects in Siebel Tools.

For details, see Creating Integration Objects in Siebel Tools.

Configuring the IAA-XML business service in Siebel Tools.

For details, see Configuring the IAA-XML Business Service

Configuring the transformation maps in Siebel Client.

For details, see Configuring the IAA-XML Business Service

Configuring events to trigger the workflow in real time using Runtime Event Manager (Inbound).

For details, see Configuring the IAA-XML Business Service

Configuring server tasks to dispatch the message to workflow (Outbound).

For details, see Configuring the IAA-XML Business Service

Configuring the Siebel Connector for IAA-XML for sending an IAA-XML message.

For details, see Configuring the IAA-XML Business Service

Configuring the Siebel Connector for IAA-XML for receiving an IAA-XML message.

For details, see Sample Workflow IAA Server Party Package Workflow.

Design your workflow.

For details, see Configuring the Data Transformation Maps

To illustrate this procedure consider a scenario where Siebel Financial Services application sends a newly created contact to an external application for adding it to its database and also receives a newly generated contact record from an external applications to add to Siebel database. This illustration corresponds to the <AddPartyRequest> and <AddPartyResponse> commands in IAA-XML. We use the MQ Server Transport in this configuration roadmap but you can use other transports when applicable.

The MQSeries Financial Services Edition

IAA-XML is generic framework to support XML messaging in the financial services industry. It also supports the IBM MQSeries Financial Services Edition (MQSFSE) as shown in the following image.

Note: The MQSFSE is used as the default implementation through out this chapter. For details on MQSFSE, see IBM documentation.
Integration Between Siebel Applications and MQSFSE. This image shows Siebel Call Center, Siebel eFinance and Siebel eInsurance connected by two-way arrows to Siebel Connector for IAA-XML. Siebel Connector for IAA-XML is connected by two-way arrow to MQFSE which is connected by two-way arrow to Adapter. Adapter is connected by two-way arrow to Legacy Systems.

You can use the MQSFSE product to integrate Siebel applications with various legacy applications as shown in the image. The adapters and connectors translate the application-specific information into the IAA-XML format understood by MQSFSE hub. The MQSFSE hub provides the routing, data manipulation, application cross-reference, publish or subscribe, logging, and security services required to make sure successful delivery of the appropriate IAA-XML message to the appropriate destinations. This IAA-XML message is then translated by the adapters, between the MQSFSE hub and the destination, into the application-specific data requirements.

In order to support the key feature of Cross Reference function, the Siebel Connector for IAA-XML is designed to generate the IAA-XML Message Header. An example of the header is as follows:

	<Message id='1FEG6200108:13:16' version=’1.4’ bodyType=’IAA-XML’
		timeStampCreated='2001-08-08 20:13:16'
		timeStampExpired=’2001-11-08 20:13:16’
		sourceLogicalId='FrontEnd'
		authenticationId='SysAdmin'
		crfPublish=’false’
	<Default>
		<DefaultTime zoneOffset='00:00'/>
		<DefaultCurrency currencyCode='USD'/>
		<DefaultUnit measuredConcept=’weight’>kg</DefaultUnit>
	</Default>
	<CrfActionGroup bodyCategory=’AddPartyRequest’>
		<CommandReference refid=’cmd0’/>
		<KeyGroup id=’R3’ keyGroupType=’PersonName’>
		 <AlternateId value=’12-F12V’
    		sourceLogicalId=’SIEBEL’
    		attributeString = id number’
    		state=‘’/>
		</KeyGroup>
		…
	</CrfActionGroup>
	<COMMAND>
		<AddPartyRequest id=’xy’ cmdType=’request’>
		<Person>
       <KeyGroup refid = ‘R3’/>
		…
		</Person>
		</AddPartyRequest>
	</COMMAND>
		…
	</Message>

Certain values in the header are automatically generated by the connector, but you can specify the others in the envelope integration object and external integration objects. The following table describes all the elements and how they are configured. For system generated attributes, there is no configuration available.

Note: For details on IAA-XML, see IBM documentation.

Attribute Description Configuration

Message element structure in the first (top) level

A container for Commands that can also contain elements such as Defaults, and CrfActionGroup. Valid elements include the following:

id

Unique Id of the message. Every instance of every message has a unique Id.

System generated

SessionId

Multiple Messages may be sent on the same topic OR a one message may start chain of messages. In both case, the sessionId associates these messages together. Associated messages have the same sessionId value. For example, the sessionId for the messages containing a Command and the one containing its Response are the same.

System generated

version

Version of IAA-XML architecture or message structure. This attribute applies only to IAA-XML if bodyType=’IAA-XML’.

IAA Envelope Integration Object->Message Integration Component->Message_version Integration Component Field, XML Literal Value. The default is 1.4.

bodyType

Describes the architecture of the message content. Defined values: IAA-XML, EID.

IAA Envelope Integration Object->Message Integration Component->Message_version Integration Component Field, XML Literal Value. The default is IAA-XML.

timeStampCreated

The time the message was created in the source system. Format: yyyy-mm- ddThh: mm:ss.ffffff timestamp.

System generated

timeStampExpired

The time when the message expires.

IAA Envelope Integration Object->Message Integration Component->Message_timeStampExpired Integration Component Field, XML Literal Value.

sourceLogicalId

Logical Id of the system that issued the message.

IAA Envelope Integration Object->Message Integration Component->Message_sourceLogicalId Integration Component Field, XML Literal Value. The default is Siebel.

destinationLogicalId

Logical Id of the system that should receive the message. Typically this attribute is used for notification when the publish-subscribe mechanism is not used.

IAA Envelope Integration Object->Message Integration Component->Message_destinationLogicalId Integration Component Field, XML Literal Value. The default is BackEnd.

authenticationId

Id of the user that issued the message.

IAA Envelope Integration Object -> Message Integration Component -> Message_authenticationId Integration Component Field, XML Literal Value.

crfPublish

Indicates whether to publish the hub activity to subscribers and defines the default value for the crfPublish attribute within CrfActionGroup. Valid values are true or false.

IAA Envelope Integration Object->Message Integration Component->Message_crfPublish Integration Component Field, XML Literal Value. The default is false.

crfCmdMode

Defines response type that will be generated by the hub and defines the default value for the crfCmdMode attribute within CrfActionGroup. Valid values are alwaysRespond, neverRespond, onlyRespondInError.

IAA Envelope Integration Object->Message Integration Component->Message_crfCmdMode Integration Component Field, XML Literal Value The default is alwaysRespond.

txnScope

Valid values are all or any.

‘All’ means all commands in the Message are part of a transaction.

‘Any’ means that Commands are transaction independent.

IAA Envelope Integration Object->Message Integration Component->Message_txnScope Integration Component Field, XML Literal Value.

Default element structure in Message

The following XML attributes can appear many times in a message with the same value. Using the Defaults section allows these attributes to be predefined which reduces message size.

DefaultTime element structure in Default

Applies to type Timestamp.

zoneOffset

Default time zone offset from UTC. Values must be between –720 and +720. Value is typically an exact number of hours (a multiple of 60) but the offset may also include half and quarter hours.

IAA Envelope Integration Object->DefaultTime Integration Component-> DefaultTime_zoneOffset Integration Component Field, XML Literal Value

DefaultCurrency element structure in Default

Applies to type CurrencyAmount.

currencyCode

Default currency code (for currency amounts not specifying a currency code) using the ISO-4217 values.

IAA Envelope Integration Object->DefaultCurrency Integration Component-> DefaultCurrency_currencyCode Integration Component Field, XML Literal Value

DefaultUnit element structure in Default

Define default unit of measure. For example, kg for weight.

measuredConcept

Measured concepts includes weight, distance, temperature, and so on.

IAA Envelope Integration Object->DefaultUnit Integration Component-> DefaultUnit_measuredConcept Integration Component Field, XML Literal Value

CrfActionGroup element structure in Message

Grouping of hub activity related to a command section. This must be defined for each command contained in the message and is required if the hub processing the message.

bodyCategory

Name of Workflow script that the adapter wants used to process a message.

any external integration object->Integration Object User Property-> Name:CrfActionGroup_bodyCategory, Value:<specify the values here>.

crfPublish

Determines whether or not the messages need to be published specific to this action. Valid values are true or false.

IAA Envelope Integration Object->CrfActionGroup Integration Component-> CrfActionGroup _crfPublish Integration Component Field, XML Literal Value. The default is false.

crfCmdMode

Type of required response for action group. Valid values are alwaysRespond, neverRespond, or onlyRespondInError. This attribute is a specialized version of cmdType attribute defined for IAA-XML commands.

IAA Envelope Integration Object->CrfActionGroup Integration Component-> CrfActionGroup _crfCmdMode Integration Component Field, XML Literal Value The default is alwaysRespond.

destinationLogicalId

Logical Id of destination system receiving the message specific to this action group.

any external integration object->Integration Object User Property-> Name:CrfActionGroup_destinationLogicalId, Value:<specify the values here>.

CommandReference element structure in CrfActionGroup

Refers to a (command) in the core (business content) section of the message.

refid

Reference to a COMMAND element corresponding to this action group.

System generated

KeyGroup element structure in CrfAction CrfActionGroup

Defined for each aggregate contained in a particular command. For the MQSFSE hub, the message header contains the KeyGroup information instead of the aggregate. The aggregate refers to its KeyGroup using refid. When there are multiple keys, multiple alternate ids will show within KeyGroup. It assumes all keys are related by UUID.

id

Identifier for referencing key blocks within a message.

System generated

refid

Reference to key block (used at aggregate level to reference their keys in the header).

System generated

keyGroupType

Type of key. Corresponds to aggregate type.

System generated

UUID element structure in KeyGroup

Universal unique identifier for accessing all keys for all systems corresponding to this entry.

System generated

AlternateID element structure in KeyGroup

Alternative or system specific key used by a system to identify an aggregate.

value

Key value stored in a particular system (if different from UUID).

System generated

sourceLogicalId

Id of the system owning this key.

IAA Envelope Integration Object->AlternateId Integration Component-> AlternateId_sourceLogicalId Integration Component Field, XML Literal Value. The default is Siebel.

attributeString

Set of strings that some systems may require to be held in the hub cross reference file (CRF). Valid separator is comma.

IAA Envelope Integration Object->AlternateId Integration Component-> AlternateId_attributeString Integration Component Field, XML Literal Value.

state

Action on the key.

referenced. Key is information sent from one system to another and that CRF should not have an entry for it.

add. Key was created in a system and needs to be added to CRF, only for message into hub.

added. Key was created in the originating system and in the CRF, only for message coming from hub.

exists. Key is in the CRF & should be translated for another system.

modify. Key was modified in the originating system and needs to be modified in the CRF, only for message into hub.

modified. Key was modified in the originating system and in the CRF, only for message coming from hub.

delete. The key needs to be removed from the CRF, only for message into hub

any external integration object->Integration Object User Property-> Name:AlternatedId_state, Value:<specify the values here>.

newValue

Value to which the key should be modified. If a newValue is present, then the atttributeString attribute (if present) contains the new attributeString.

Not Supported

Creating Integration Objects in Siebel Tools

In order to use the Siebel Connector for IAA-XML you need to build three different types of integration objects:

You use the Integration Object Builder in Siebel Tools to create these integration objects. The Builder first walks you through steps for selecting your project, business service, and .DTD file and then provides you with the option of creating all three types of integration objects or just the ones you need.

Note: All the integration objects used in the following procedures are included in the Sample database.

To Create Integration Object

  1. Start Siebel Tools.

  2. Lock the appropriate project.

  3. Choose File > New Object... to display the New Object Wizards dialog.


    New Object Wizard. This image is described in surrounding text.
  4. In the New Object Wizards dialog, select the EAI tab and double click the Integration Object icon.

    The Integration Object Builder appears.


    Integration Object Builder. This image is described in surrounding text.
  5. In the Integration Object Builder, fill in the two fields in the dialog box:

    1. Select the project you locked in step 2.

    2. Select the FINS IAA Wizard Service as your source system of the integration object.

  6. Click Next.

    The FINS IAA Wizard Service dialog box appears.


    FINS IAA Wizard Service Dialog Box. This image is described in surrounding text.
  7. In the FINS IAA Wizard Service dialog, select the .DTD file you want the wizard to use and click Next to build the envelope integration object. For details, see Creating IAA Envelope Integration Objects.

    Note: The .DTD file you use to create your integration objects has to comply with IAA-XML standard.

    Creating IAA Envelope Integration Objects

    The envelope integration object is not required for all integration processes. If your integration process does not require envelope integration object you can skip this section by clicking Next. Otherwise you can build the envelope integration object using the following procedure.

    To Create IAA envelope Integration Objects

    1. Determine whether or not you only need envelope integration object and select the appropriate option on the FINS IAA Wizard Service dialog box.

    2. Provide a meaningful name for the envelope integration object and click Next.

      Note: It is recommended to use Message as you Envelope Root Tag unless you have customized your .DTD file.

      FINS IAA Wizard Service. In this image, the following check box is selected: Create Envelope integration object. The Envelope Root Tag field has the value Message. The Name of the Integration Object field has the value IAA Envelope.
    3. On the next dialog box of the FINS IAA Wizard Service that appears, select the components you would like to include in your integration object and click Next.

      In this image, check boxes next the following options are selected: Message, CfActionGroup, Default, ErrorInfo, Include Component.

      The next dialog box for building external integration object appears. For details, see Creating IAA External Integration Objects.

      Note: Any component that has a plus sign (+) next to it is a parent in a parent-child relationship with one or more child components. If you deselect the parent component, the children of that component are deselected as well. You cannot include a child component without also including the parent. The Integration Object Builder enforces this rule by automatically selecting the parent of any child you choose to include. You should only select the business components required for your business processes to avoid unnecessary performance deterioration.

      Creating IAA External Integration Objects

      The external integration object maps the internal integration object components and fields to IAA-XML aggregations and fields. The external integration object is used by both the FINS IAA-XML Data Transformation Engine and FINS IAA-XML Converter to construct the IAA-XML aggregations and format. To build the external integration object you use the Integration Object Builder.

      To create IAA external integration objects

      1. Create envelope integration object. For details, see Creating Integration Objects in Siebel Tools.

        After you create you envelope integration object and click Next the following dialog box of FINS IAA Wizard Service appears.


        FINS IAA Wizard Service External Request Integration Object. In this image, in the External Request Integration Object Section, the Request Command field has the AddPartyRequest value and Integration Object Name field has the AddPartyReq vlaue. In the External Response Integration Object section, the Response Command field has the AddPartyResponse value and the Integration Object Name field has the AddPartyResp value.
      2. Pick the appropriate Request and Respond Command from each picklist and give unique and meaningful names to your external request and respond integration objects.

        You may encounter an error similar to the following: Tag FinancialValuation is already open.


        Error pop-up. This image is described in surrounding text.

        This is a benign error, due to a recursive element references in your .DTD document, and can be ignored.

      3. Click Next to move to the next dialog box to select the IAA aggregates for your external request integration object.


        FINS IAA Wizard Service — Select integration components dialog box. In this image, check boxes next to the following options are selected: AddPartyRequest, Person, Include component.
        Note: Any component that has a plus sign (+) next to it is a parent in a parent-child relationship with one or more child components. If you deselect the parent component, the children of that component are deselected as well. You cannot include a child component without also including the parent. The Integration Object Builder enforces this rule by automatically selecting the parent of any child you choose to include. You should only select the business components required for your business processes to avoid unnecessary performance deterioration.
      4. Click Next to move to next screen to select the IAA aggregates for your external response integration object.


        FINS IAA Wizard Services screen — Select Integration components. In this image, check boxes next to the following options are selected: AddPartyResponse, Person, Include component.
      5. Click Next to move to the next screen to build your internal integration object as described in Creating IAA Internal Integration Objects.

        Creating IAA Internal Integration Objects

        The internal integration object has the hierarchy of Siebel business object and business components as well as the fields. It maps to the objects in Siebel application and is created using Integration Object Builder in Siebel Tools. This internal integration object is required in order to facilitate the FINS IAA-XML Transaction Manager to package the data gathered. This service will gather the data needed for a particular message and package it into the hierarchy defined in the internal integration object.

        To create IAA Internal Integration Objects

        1. Create envelope and external integration objects. For details, see Creating Integration Objects in Siebel Tools and Creating IAA External Integration Objects.

          After you build these integration objects and click Next on the last dialog box, the dialog box for building internal integration object appears.


          This image is described in surrounding text.

          You can either select an existing integration object from the picklist on the FINS IAA Wizard Service or click Next to build a new internal integration object.

        2. Click Next to build a new internal integration object and on the screen that appears, pick the appropriate Business object to build your internal request integration object and give a unique and meaningful name to your internal integration object.


          In the Internal Request Integration Option section, the Siebel Business Object field has the value Contact and Integration Object Name field has the value IAAPartyContact. The following check box is selected in the Internal Response Integration Object section: Use the same integration object as request.
        3. For the internal response integration object you can either use the same internal request integration object or have the wizard build you a separate integration object by choosing a business object from the picklist and providing a meaningful name for you internal response integration object. In this illustration the same internal integration object is used.

        4. Click Next to move to the next dialog box to select the components for your integration object.


          Check boxes next to the following options are selected: Contact, Contact_Business Address, Contact_Position, Include Component.
        5. Deselect any of the component listed on this dialog box to ignore that component. If you do not include a component, you will be unable to integrate data for that component between the Siebel Financial Services applications and another system.

          Note: Any component that has a plus sign (+) next to it is a parent in a parent-child relationship with one or more child components. If you deselect the parent component, the children of that component are deselected as well. You cannot include a child component without also including the parent. The Integration Object Builder enforces this rule by automatically selecting the parent of any child you choose to include.
        6. Click Next for the wizard to build the integration object.

        7. Click Yes on the message your receive to confirm your desire to build this integration object.

          The wizard start building the integration object and then displays error or warning messages generated during the process. Review the messages and take the appropriate action to address them.

        8. Click Finish to complete the process of creating a new Siebel integration object.

          Your new integration objects appear in the list of integration objects in Siebel Tools.


          Object Explorer screen. This image is described in surrounding text.

          IAA Dispatcher Map

          The IAA dispatcher map is an integration object that contains the rule sets used by the FINS IAA-XML Dispatcher. The default IAA dispatcher map is IAADispMap. If you have the correct project locked, the wizard updates the user properties of the default IAA dispatcher map. Otherwise, the wizard creates a new IAA dispatcher map with the following name format and updates its user properties.:

          IAADispMap_<currently locked project name>

          To view the Dispatcher Map user properties

          1. From Siebel Tools, choose Object Explorer > Integration Object.

          2. Query for the dispatcher map name. For example. IAADispMap.

          3. Navigate to the user properties of the dispatcher map to see its user properties.


            Dispatcher Map — User Properties. This image is described in surrounding text.

            The first two rows in the User Properties applet are the rule sets created by the wizard for AddParty scenario.

            The name of the user property represents the rule the dispatcher tries to match and the value represents the value the dispatcher needs to insert. For example, the name, Message/COMMAND/AddPartyRequest/Person, is the path the dispatcher try to locate in the message received and if it finds the match then it uses the information in the value column,

            Message/COMMAND/AddPartyRequest;AddPartyRequest_ERqIRqMapIn;AddPartyRequest_IRsERsMapOut;AddPartyReq;IAAPartyContact;IXMLOperation_ADD, to determine the values it needs to insert as follow:

            Each value is made up of six tokens that are separated by “;" and each token represents a specific information.

            • First token is the location to insert the remaining 5 tokens at runtime. For example, Message/COMMAND/AddPartyRequest.

            • Second token is the name of data transformation map for mapping external request integration object indicated by ERq to internal request integration object indicated by IRq. For example, AddPartyRequest_ERqIRqMapIn.

            • Third token is the name of data transformation map for mapping internal response integration object IRs to external response integration object ERs. For example, AddPartyRequest_IRsERsMapOut.

            • Forth token is the external request integration object. For example, AddPartyReq.

            • Fifth token is the internal response integration object. For example, IAAPartyContact.

            • Sixth token is the operation corresponding to <AddPartyRequest> command. For example, IXMLOperation_ADD Which is configured in FINS IAA Wizard user properties. This token will be used as key to operation for FINS IAA-XML Transaction Manager.

            The data transformation map names must be used when configuring the transformation maps. For details, see Configuring the Data Transformation Maps. The map names have to be unique and you need to modify the dispatcher map entries to reflect the new name. The same principle applies to all the tokens.

          4. Deliver the changes to the integration branch.

            Configuring the IAA-XML Business Service

            Siebel Financial Services provides an object called a business service, which you can reuse in multiple applications. The Siebel Connector for IAA-XML provides the following pre-built business services which you can configure to meet your business requirements:

            • FINS IAA-XML Transaction Manager

            • FINS IAA-XML Data Transformation Engine

            • FINS IAA-XML Converter

            • FINS IAA-XML Dispatcher

            You can configure business services by manipulating their user properties or you can create your own business service in Siebel Tools.

            Note: Once you have configured your business services to accomplish the tasks required for your business scenario, you must deliver the changes to the integration branch.

              FINS IAA-XML Transaction Manager

              You can extend this business service by manipulating its Operation user property as follows:

              The basic format for value entry for each operation is as follow:

              IAAOperation_Query

              Service/Method/Argument;Argument; or /Method/Argument;Argument;

              • Service, Method, and Argument are separated by "/".

              • Each Argument ends with ";".

              IAAOperation_XMLQuery

              EAI Siebel Adapter/Query/#XMLHierarchy;

              • The default Service name is "EAI Siebel Adapter" and the default argument name is "SiebelMessage."

              • !SiebelMessage means turning off the SiebelMessage.

              • #XMLHierarchy means replacing SiebelMessage with XMLHierarchy.

              IAAOperation_ADD_ROLL_BACK

              EAI Siebel Adapter/Delete/RollbackOnSame;

              • RollbackOnSame means that the current operation is used for rollback operation, and the rollback operation is performed based on the incoming instance. The default value is the instance, which was stored in memory before the request message was sent.

              IAAOperation_Get Value

              FINs Industry/BC Facility Service/HierarchySearchSpec/!SiebelMessage;A=>B;

              • A=>B means getting argument value of "A" from argument value of "B" where argument "B" is Connector Integration Object Instance's arguments.

              • The following information lists all the user properties examples for the FINS IAA-XML Transaction Manager.

              Name Value

              IXMLOperation_ADD

              EAI Siebel Adapter/Upsert/

              IXMLOperation_ADD_ROLL_BACK

              EAI Siebel Adapter/Delete/RollbackOnSame;

              IXMLOperation_DEL

              EAI Siebel Adapter/Delete/

              IXMLOperation_FIND

              FINS Industry BC Facility Service/HierarchySearchSpec/!SiebelMessage;IntObjectName=>SiebelFINSRespIntObjName;

              IXMLOperation_MOD

              EAI Siebel Adapter/Synchronize/

              IXMLOperation_MOD_ROLL_BACK

              EAI Siebel Adapter/Synchronize/

              IXMLOperation_QUERY

              EAI Siebel Adapter/Query/

              IXMLOperation_QUERY_BY_ID

              EAI Siebel Adapter/Query/PrimaryRowId;!SiebelMessage;

                FINS IAA-XML Data Transformation Engine

                You can configure this business service using the IgnoreEmptyTag integration map argument. You can access this argument when configuring the data transformation maps in the Data Maps screen. When this argument is available, the FINS IAA-XML Data Transformation Engine can remove the empty-value integration component fields in the integration object received.

                  FINS IAA-XML Converter

                  The following displays the only user property you can configure for this business service. This value will appear in the pre-header section of your IAA-XML message.

                  Name Value

                  XMLEnvIntObjectName

                  Name of the envelope integration object created by the wizard.

                  Besides, the FINS IAA-XML converter uses the IAA-XML hierarchy represented in the external integration object to guide the message through the converting process. If there are elements in the external integration object instance received that do not have a definition defined in the integration object definition, the converter errors out. If you expect such a situation, you can set the Ignore Undefined XML Tag parameter on the user property of the corresponding integration object.

                  Note: This user property is created by wizard and is set to Y. You can turn it off if you wish the converter to error out.

                    FINS IAA-XML Dispatcher

                    You can modify both user properties for this business service as shown in the following table.

                    Name Value

                    DispatcherMapName

                    Name of the dispatcher map created by the wizard.

                    XMLEnvIntObjectName

                    Name of the envelope integration object created by the wizard.

                      Configuring the Data Transformation Maps

                      One of the steps in configuring the integration objects for your integration process is to map the components and fields in your internal integration object to the message elements in the external integration object. These maps will be used by the FINS IAA-XML Data Transformation Engine to move the data from one integration object to another. For each integration process you need to configure two maps for inbound and two maps for outbound process. These map names are in the user properties entry of the dispatcher map integration object. The map names are created by the FINS IAA Wizard when it creates the integration objects.

                      Following four maps are the maps you need to configure for the illustration:

                      • AddPartyRequest_ERqIRqMapIn (server receiving a request)

                      • AddPartyRequest_IRsERsMapOut (server sending out response)

                      • AddPartyResponse_IRqERqMapOut (client sending out a request)

                      • AddPartyResponse_ERsIRsMapIn (client receiving response)

                      If you wish, you can change the map name in the user properties of the dispatcher map after configuring the data transformation map.

                      The following procedure walks you through configuring the AddPartyRequest_ERqIRqMapIn data transformation map which is used for receiving an inbound request.

                      To configure the DTE map

                      1. Start Siebel Client.

                      2. Navigate to the Administration - Integration screen > Data Map Editor > Integration Object Map view.

                        The Integration Object Map applet appears.

                        Integration Object Map applet. This image is described in surrounding text.
                      3. Create a new record in this applet.

                        • Name. This name must be the same as the data transformation map name created by the wizard and stored in the dispatcher map list. For example, AddPartyRequest_ERqIRqMapIn where ERq indicates external request integration object and IRq indicates internal integration object.

                      4. Select the source integration object and the target integration objects for the mapping. Keep the following definitions in mind:

                        • Source Object. For an outbound request or inbound response message, the source object is the internal integration object. For an outbound response or inbound request message, the source object is the external integration object. For example, AddPartyReq is the source object for inbound request.

                        • Target Object. For an outbound request or inbound response message, the target object is the external integration object. For an outbound response or inbound request message, the target object is the internal integration object. Fro example, IAAPartyContact is the target object for inbound request.

                      5. Map the source components and the target components.

                        Integration Component Map. The Source Component Name to Target Component Name mappings shown in this image are as follows: for the Contact record, Person (source) is mapped to Contact (target). For the Personal Address record, PostalAddress (source) is mapped to Personal Address (target).
                      6. Map fields to fields.

                        Integration Field Map. Some of the Source Expression to Target Field Name mappings shown in this image are as follows: [firstName.PCDATA_firstname] is mapped to First name, [gender.PCDATA_gender] is mapped to M/F, [middleNames.PCDATA_middleNames] is mapped to Middle Name, and so on.
                      Note: For details on creating data maps, see Business Processes and Rules: Siebel Enterprise Application Integration.

                      Configuring Runtime Event Manager

                      Oracle supports triggering workflows based on runtime events such as Write Record, which gets triggered whenever a record is written. Using a runtime event allows you to incorporate configured workflow functions into actual applications.

                      Note: For details, see Siebel Events Management Guide.

                      The example in this section describes a runtime event that triggers a workflow when a new contact record is added by users through Siebel Financial Services Application. In the following procedure, a runtime event as well as the corresponding action is defined.

                      To create a runtime event

                      1. Start Siebel client.

                      2. Navigate to the Administration - Runtime Events screen > Events > Events view.

                      3. Add a new record and set the following fields:

                        • Sequence. 1

                        • Object Type. BusComp

                        • Object Name. Contact

                        • Events. WriteRecord

                        • Conditional Expression. LoginName=’SADMIN’

                      4. Select the Action Set Screen from the dropdown menu.

                      5. Create a new Action Set record and set the following fields:

                        • Name. Trigger Workflow.

                        • Action Type. BusService

                        • Sequence. 1

                      6. In the More Info applet you can alter the following values to meet you business requirements:

                        • Business Service Name. Workflow Process Manager

                        • Business Service Method. RunProcess

                        • Business Service Context. "ProcessName", "IAA Add Party outbound Workflow"

                      Configuring Server Tasks

                      A server task is an instantiation of a server component. To run a server task, you need to run a component request, which will request for one or more server task to run. The server task you need to run for your Siebel Connector for IAA-XML is Siebel EAI MQSeries Server Transport. The Siebel EAI MQSeries Server Transport is designed to provide a messaging solution to help you integrate data between Siebel Business Applications and external applications that can interface with the IBM MQSeries. The EAI MQSeries Server Transport transports messages to and from IBM MQSeries queues. In order to run this server task successfully you need to first configure two named subsystems.

                      To configure named subsystem

                      1. Start Siebel client.

                      2. Navigate to the Administration - Server Configuration screen > Profile Configuration > Profile Configuration view.

                      3. Create a new record in the Component Profiles list and provide the required information.

                        • Name- Name of the Named Subsystem. For example, IAAMQConnSubsys.

                        • Type- Type of the Named Subsystem, MQSeriesServerSubsys.

                          Note: The subsystem type that you select should have a checkmark in the Is Named Enabled field.
                      4. Save the record.

                      5. In the Enterprise Profile Configuration list, modify following parameters:

                        • MqPhysicalQueueName -<Queue name to receive inbound request message from>

                        • MqQueueManagerName- <Queue manager name who own the queues>

                        • MqRespPhysicalQueueName- <Queue name to send response message to>

                        • MqSleepTime- 100 <or longer if needed>

                      6. Save the record.

                      7. Create another Named Subsystem with following name and parameters.

                        • Name- <Any name>. For example, IAAMQDataSubsys

                        • Type- EAITransportDataHandlingSubsys

                        Note: The subsystem type that you select should have a checkmark in the Is Named Enabled field.
                      8. Save the record.

                      9. In the Enterprise Profile Configuration list, modify following parameters:

                        • DispatchWorkflowProcess- IAA Server Party Package Workflow

                      10. Save the record.

                      After creating and configuring your Named Subsystem you need to configure the MQSeries Receiver.

                      To configure MQSeries Receiver parameters

                      1. Start Siebel client.

                      2. Navigate to the Administration - Server Configuration screen > Enterprises > Component Definitions view.

                      3. Query for MQSeries Server Receiver and set the following:

                        • Receiver Connection Subsystem- Name from Step 3 in the procedure to configure named subsystems. For example, IAAMQConnSubsys.

                        • Receiver Data Handling Subsystem- Name from Step 7 in the procedure to configure named subsystems. For example, IAAMQDataSubsys.

                        • Receiver Method Name- ReceiveDispatch or ReceiveDispatchSend.

                        • Default Tasks- 1 or number of tasks desired.

                      4. Restart the Siebel Server and make sure the MQSeries Server Receiver server component is running.

                      Note: For details on creating and configuring server tasks, see Siebel System Administration Guide and for details on configuring MQSeries, see Transports and Interfaces: Siebel Enterprise Application Integration.

                      Configuring Outbound and Inbound Integration

                      Oracle’s Siebel Business Applications provide several sample workflows as reference implementations in the Sample database that can be either used as is or you can modify them based on your business requirement before using them in your environment. The following sections walks you through two of these sample workflow.

                      Note: For details on Siebel Workflow, see Siebel Business Process Framework: Workflow Guide.

                        Sample Workflow IAA Add Party Outbound Workflow

                        This is a sample workflow process that gets Contact information from database and converts it into IAA-XML AddPartyRequest format. This IAA-XML message is then sent to MQ Series. Other Applications will be able to retrieve the message from MQ.

                        The following image shows the graphical representation of the IAA Add Party Outbound workflow.

                        IAA Add Party Outbound Workflow. This image is described in surrounding text.

                        The steps in this workflow are as follows:

                        1. Query Record from Database.

                        2. Transform to IAA format.

                        3. Convert to XML format.

                        4. Package into XML Doc.

                          Process Properties

                          The IAA Add Party Outbound Workflow process has the following properties.

                          Name Data Type

                          Converter Request Prop Set

                          Hierarchy

                          DTE Request Prop Set

                          Hierarchy

                          Dispatch Key

                          String

                          Dispatch Map Name

                          String

                          Error Code

                          String

                          Error Message

                          String

                          IAA Request Msg

                          String

                          Object Id

                          String

                          Output File Name

                          String

                          Process Instance Id

                          String

                          Siebel Operation Object Id

                          String

                          SiebelOperation

                          String

                          Transaction Manager Request Prop Set

                          Hierarchy

                          XML Response Prop Set

                          Hierarchy

                          Note: You set workflow process properties when you need a property that will be global to the entire workflow.

                          The first step, after Start, uses the FINS IAA-XML Transaction Manager to query a party from your Siebel application, using the following input and output arguments.

                          Input Arguments (FINS IAA-XML Transaction Manager)

                          Input Argument Type Value Property Name Property Data Type

                          DispatcherMapName

                          Literal

                          IAADispMap

                          IXML Map Path

                          Process Property

                          Dispatch Key

                          String

                          Primary Row Id

                          Process Property

                          Object Id

                          String

                          Outbound Operation

                          Literal

                          IXMLOperation_QUERY_BY_ID

                          Output Arguments (FINS IAA-XML Transaction Manager)

                          Property Name Type Output Argument

                          Transaction Manager Request Prop Set

                          Output Argument

                          XML Hierarchy

                          The second business service transforms the information using the FINS IAA-XML Data Transformation Engine business service with the Transform To External Hierarchy and following input and output arguments.

                          Input Arguments (Second Business Service)

                          Input Arguments Type Property Name Property Data Type

                          XML Property Set

                          Process Property

                          Transaction Manager Request Prop Set

                          Hierarchy

                          Output Arguments (Second Business Service)

                          Property Name Type Output Argument

                          DTE Request Prop Set

                          Output Argument

                          XML Property Set

                          The third business service invokes the FINS IAA-XML Converter with the PropSetToXMLPropSet method to convert the IAA-XML Hierarchy to an IAA-XML String using the following input and output arguments.

                          Input Arguments (Third Business Service)

                          Input Arguments Type Property Name Property Data Type

                          XML Hierarchy

                          Process Property

                          DTE Request Prop Set

                          Hierarchy

                          Output Arguments (Third Business Service)

                          Property Name Type Output Argument

                          Converter Request Prop Set

                          Output Argument

                          XML Hierarchy

                          The result of this step is stored in output argument Converter Request Prop Set.

                          As the last step of the workflow, the forth business service of the workflow invokes the XML Hierarchy Converter with the XML Hierarchy to XML Document method to generate the outgoing XML document using the following input and output arguments.

                          Input Arguments (Fourth Business Service)

                          Input Arguments Type Value Property Name Property Data Type

                          EscapeNames

                          Literal

                          false

                          XMLHierarchy

                          Process Property

                          Converter Request Prop Set

                          Hierarchy

                          Output Arguments (Fourth Business Service)

                          Property Name Type Output Argument

                          IAA Request Msg

                          Output Argument

                          <Value>

                            Sample Workflow IAA Server Party Package Workflow

                            This is a sample workflow process that handles an inbound IAA Party Packages from external application. The following image shows the graphical representation of the IAA Server Party Package Workflow.

                            IAA Server Party Package Workflow. This image is described in surrounding text.

                            The steps in this workflow are as follows:

                            1. Convert XML Hierarchy (Dummy ConvReq ErrHdl)
                              • Dispatch Message. (Dispatch Err Handler)

                              • Convert Message (Conv Inside ErrHdl)

                              • DTE Request In (DTE Inside ErrHdl)

                              • Transaction Manager (TraMgrErrHdl)

                            2. DTE Request Out (DTE RespErrHdl)

                              • Converter Response (ConvResp ErrHdl)

                              • Converter Hierarchy Dummy ConvRespErrHdl

                            3. ErrorHandler

                            4. ErrorCnv

                            Process properties

                            The IAA Add Party Outbound Workflow process has the following properties.

                            Name Data Type Default String

                            <Value>

                            String

                            None/NA.

                            Cnv Req Prop

                            Hierarchy

                            None/NA.

                            Conv Resp Prop

                            Hierarchy

                            None/NA.

                            Core Req Prop

                            Hierarchy

                            None/NA.

                            DTE Req Prop

                            Hierarchy

                            None/NA.

                            DTE Resp Prop

                            Hierarchy

                            None/NA.

                            DTE Store Prop

                            Hierarchy

                            None/NA.

                            Disp Req Prop

                            Hierarchy

                            None/NA.

                            Err Hierarchy Prop

                            Hierarchy

                            None/NA.

                            Error Code

                            String

                            None/NA.

                            Error Message

                            String

                            None/NA.

                            Inbound Request

                            String

                            <Value>

                            Inbound Result

                            String

                            None/NA.

                            Input File Name

                            String

                            C:\DeleteOutbound.xml

                            Object Id

                            String

                            None/NA.

                            OnlyIOI

                            String

                            true

                            Output File Name

                            String

                            C:\DeleteInbound.xml

                            Process Instance Id

                            String

                            None/NA.

                            Siebel Operation Object Id

                            String

                            None/NA.

                            Tran Req Prop

                            Hierarchy

                            None/NA.

                            Trans Code

                            String

                            None/NA.

                            Trans Error Message

                            String

                            None/NA.

                            Trans Resp Prop

                            Hierarchy

                            None/NA.

                            Note: You set workflow process properties when you need a property that will be global to the entire workflow. Also note that name <Value> for the first process property and the default string for the Inbound Request process property has to be typed in the exact form shown here in order to use MQSeries Receiver server component. Siebel Workflow is case-sensitive, and <Value> is a different property than <value>.

                            The first step, after Start, uses the XML Hierarchy Converter with the XML Document to XML Hierarchy to convert the XML message received to an XML hierarchy, using the following input and output arguments.

                            Input Arguments (to convert XML message)

                            Input Argument Type Value Property Name Property Data Type

                            XML Document

                            Process Property

                            Inbound Request

                            String

                            Escape Name

                            Literal

                            false

                            Output Arguments (to convert XML message)

                            Property Name Type Output Argument

                            Core Req Prop

                            Output Argument

                            XML Hierarchy

                            The second business service dispatches the message using the FINS IAA-XML Dispatcher business service with the Dispatch Message method and following input and output arguments.

                            Input Arguments (Second Business Service)

                            Input Arguments Type Value Property Name Property Data Type

                            DispatcherMapName

                            Literal

                            IAADispMap

                            XMLEnvIntObjectName

                            Literal

                            IAA Envelope

                            XML Property Set

                            Process Property

                            Core Req Prop

                            Hierarchy

                            Output Arguments (Second Business Service)

                            Property Name Type Output Argument

                            Disp Req Prop

                            Output Argument

                            XML Property Set

                            The third business service invokes the FINS IAA-XML Converter with the XMLPropSetToPropSet method to convert the IAA-XML Hierarchy to property sets using the following input and output arguments.

                            Input Arguments (Third Business Service)

                            Input Arguments Type Value Property Name Property Data Type

                            XMLEnvIntObjectName

                            Literal

                            IAA Envelope

                            XML Hierarchy

                            Process Property

                            Disp Req Prop

                            Hierarchy

                            Output Arguments (Third Business Service)

                            Property Name Type Output Argument

                            Cnv Req Prop

                            Output Argument

                            XML Hierarchy

                            Next step, the forth business service of the workflow invokes the FINS IAA-XML Data Transformation Engine with the Transform To Siebel Hierarchy method to transform the message to Siebel hierarchy using the following input and output arguments.

                            Input Arguments (Fourth Business Service)

                            Input Arguments Type Property Name Property Data Type

                            XML Property Set

                            Process Property

                            Cnv Req Prop

                            Hierarchy

                            Output Arguments (Fourth Business Service)

                            Property Name Type Output Argument

                            DTE Req Prop

                            Output Argument

                            XML Property Set

                            The fifth business service of the workflow invokes the FINS IAA-XML Transaction Manager with the Execute Transaction method and following input and output arguments.

                            Input Arguments (Fifth Business Service)

                            Input Arguments Type Value Property Name Property Data Type

                            Only produce Integration Object Instance

                            Process Property

                            OnlyIOI

                            String

                            StatusObject

                            Literal

                            true

                            XML Property Set

                            Process Property

                            DTE Req Prop

                            Hierarchy

                            Output Arguments (Fifth Business Service)

                            Property Name Type Output Argument

                            Trans Code

                            Output Argument

                            ErrMsgId

                            Trans Error Message

                            Output Argument

                            ErrText

                            Trans Resp Prop

                            Output Argument

                            XML Property Set

                            Then the workflow invokes the FINS IAA-XML Data Transformation Engine with the Transform To External Hierarchy method to transform the message to external hierarchy using the following input and output arguments.

                            Input Arguments (to transform the message)

                            Input Arguments Type Property Name Property Data Type

                            IAA DTE Property Set

                            Process Property

                            DTE Store Prop

                            Hierarchy

                            XML Property Set

                            Process Property

                            Trans Resp Prop

                            Hierarchy

                            Output Arguments (to transform the message)

                            Property Name Type Output Argument

                            DTE Resp Prop

                            Output Argument

                            XML Property Set

                            Once the message is in the external hierarchy, the workflow invokes the FINS IAA-XML Converter with the PropSetToXMLPropSet method to convert the message to XML hierarchy using the following input and output arguments.

                            Input Arguments (to convert the message)

                            Input Arguments Type Value Property Name Property Data Type

                            XMLEnvIntObjectName

                            Literal

                            IAA Envelope

                            XML Hierarchy

                            Process Property

                            DTE Resp Prop

                            Hierarchy

                            Output Arguments (to convert the message)

                            Property Name Type Output Argument

                            Conv Resp Prop

                            Output Argument

                            XML Hierarchy

                            As a last step, the workflow invokes the XML Hierarchy Converter with the XML Hierarchy to XML Document method to covert the XML hierarchy to the XML document using the following input and output arguments.

                            Input Arguments (to convert the hierarchy)

                            Input Arguments Type Property Name Property Data Type

                            XML Hierarchy

                            Process Property

                            Conv Resp Prop

                            Hierarchy

                            Output Arguments (to convert the hierarchy)

                            Property Name Type Output Argument

                            <Value>

                            Output Argument

                            XML Document

                            The MQSeries Receiver component picks up the output from the converter and send it back to the queue.

                            If the workflow process encounters an error, it will stop processing and passes all process properties to the ErrorHandler to generate a meaningful error to notify the external system.

                            Note: For details on error handling process, see IAA Server Party Package Workflow in Sample database.

                              Sample IAA Party Package

                              The IAA Party Package used through out this chapter is included in the Sample database of Siebel Financial Services application for reference implementation. The package contains all the integration objects, data transformation maps, and workflows needed.

                              The "FINS IAA Insurance Party Application" project, in Siebel Tools, includes all the integration objects. You can list all the transformation maps in Siebel Financial Services application with a query specification of "IAA*Party*" in the Comments field of the Integration Object Map screen. You can also list all the workflows in Siebel Financial Services application with a query specification of "IAA Connector" in the Group field of Workflow Processes screen.

                              The Party package supports the following message sets:

                              • AddPartyRequest

                              • AddPartyResponse

                              • ModifyPartyRequest

                              • ModifyPartyResponse

                              • DeletePartyRequest

                              • DeletePartyResponse

                              • FindPartyRequest

                              • FindPartyResponse

                              Sample IAA Policy Package

                              Although the IAA Party Package was used throughout the scenario provided in this chapter, you can use the IAA Policy Package instead. The IAA Policy Package is also included in the sample database of Siebel Financial Services application. The package contains all the integration objects, the data transformation maps, and the workflows needed for the scenario.

                              The "FINS IAA Insurance Application" project, in Oracle’s Siebel Tools, includes all the integration objects. You can list all the transformation maps in the Siebel Financial Services application with a query specification of "IAA*Policy*" in the Comments field of the Integration Object Map screen. You can also list all the workflows in Oracle’s Siebel Financial Services application with a query specification of "IAA Connector" in the Group field of Workflow Processes screen.

                              • The Policy package supports the following message sets:

                              • SubmitApplicationRequest <for AutoPolicy>

                              • SubmitApplicationResponse <for AutoPolicy>

                              • SubmitApplicationRequest <for HomePolicy>

                              • SubmitApplicationResponse <for HomePolicy>

                              • SubmitApplicationRequest <for LifePolicy>

                              • SubmitApplicationResponse <for LifePolicy>

                              • InquiryFinancialServicesAgreementsRequest <for AutoPolicy>

                              • InquiryFinancialServicesAgreementsResponse <for AutoPolicy>

                              • InquiryFinancialServicesAgreementsRequest <for HomePolicy>

                              • InquiryFinancialServicesAgreementsResponse <for HomePolicy>

                              • InquiryFinancialServicesAgreementsRequest <for LifePolicy>

                              • InquiryFinancialServicesAgreementsResponse <for LifePolicy>