Siebel Master Data Applications Reference for Industry Applications > Architecture and Framework > About Siebel Master Data Applications Architecture >
Siebel Connector and Integration of Siebel Master Data Applications
Siebel Connector for Master Data Applications describes a set of configurable components for integration among enterprise applications and Siebel Master Data Applications. The Siebel Connector for Master Data Applications comprises five prebuilt business services:
- UCM Transaction Manager
- UCM Converter
- UCM Dispatcher
- UCM Security Manager
- UCM Publish/Subscribe Service
UCM Transaction Manager
The UCM Transaction Manager executes operations specified in Universal Customer Master Application message instances as Siebel database transactions. The UCM Transaction Manager also:
- Evaluates heterogeneous commands and executes the transactions.
- Invokes business services, including Siebel eAI, that are configured in its user properties. These business services can be invoked multiple times.
- Translates Universal Customer Master Application command elements to Siebel Adapter actions and combines return results as a single property set.
Table 2 lists the user properties for UCM Transaction Manager.
Table 2. User Properties of UCM Transaction Manager
|
|
|
DispatcherMapName |
CIFDispMap |
Transaction Manager uses this map to tag the body information for other components. This value can be set as a runtime input argument as well. |
EnableAgentLock |
TRUE |
Enable system preference EAIAgent |
IXMLOperation_ADD |
EAI Siebel Adapter/Insert/ |
Predefined operation |
IXMLOperation_DELETE |
EAI Siebel Adapter/Delete/ |
Predefined operation |
IXMLOperation_QUERY |
EAI Siebel Adapter/Query/ |
Predefined operation |
IXMLOperation_QUERYPAGE |
EAI Siebel Adapter/QueryPage/NewQuery=>IXML_NewQuery;SearchSpec=>SearchSpec;StartRowNum=>IXML_StartRowNum;PageSize=>IXML_PageSize;SERVICE_VALUE_RETURN;$LastPage=>IXML_LastPage;$NumOutputObjects=>IXML_NumOutputObjects; |
Predefined operation |
IXMLOperation_QUERY_BY_ID |
EAI Siebel Adapter/Query/PrimaryRowId;!SiebelMessage; |
Predefined operation |
IXMLOperation_SYNCH |
EAI Siebel Adapter/Synchronize/ |
Predefined operation |
IXMLOperation_UPDATE |
EAI Siebel Adapter/Update/ |
Predefined operation |
The UCM Transaction Manager uses the prebuilt methods described in Table 3 to process inbound messages.
Table 3. Pre-built Methods for UCM Transaction Manager
|
|
|
Execute |
Execute Transaction |
Executes the transaction by invoking predefined business services |
ExecuteOutbound |
Execute Outbound |
Executes the outgoing transaction |
ExecuteSave |
Execute and Save |
Executes the transaction and saves result into memory |
UCM Transaction Manager business service uses combinations of user property, method and method arguments to achieve different tasks. Table 4 lists the method arguments available to use with UCM Transaction Manager business service.
Table 4. Method Arguments for Use with UCM Transaction Manager
|
|
|
OnlyIOI |
FALSE |
Used for Inbound integration. The inbound message may contain header, body, and envelope sections. When the Transaction Manager takes the proper operation against the Siebel application, the integration object instances for response are generated as well. Information from the request message is dropped if this value is set to true, reducing overhead for the UCM Converter and others. If this value is not set to true, the request information is still carried over. |
ReportErrInMsg |
FALSE |
If set to true, the method will try to generate an error object within the message (default is false). |
RollbackInError |
FALSE |
If set to true, the method will try to trigger a rollback operation when an error is encountered (default is false). |
XMLHierarchy |
N/A |
Property set in UCM integration object hierarchy. |
IXMLMapPath |
|
The dispatch map entry for the current transaction. |
PrimaryRowId |
|
The primary row Id for the integration object. |
SearchSpec |
|
Run time search specification. |
SiebelFINSOperationOut |
|
Operation name, defined in the IAA transaction manager user property. |
PlaceToSave |
|
Specifies whether the result should be saved into memory or into a file. Valid value is File or Mem. |
Although these arguments are available for use by UCM Transaction Manager, not all can be used with each method. Table 5 lists the arguments for each method.
Table 5. Execute Method Arguments
|
|
|
|
|
|
Method: Execute |
OnlyIOI |
Produce only Integration Object Instance |
String |
Input |
Y |
If set to true, the method will take out all headers and envelope information and return only integration object instances. |
ReportErrInMsg |
Report Error In Message |
String |
Input |
Y |
If set to true, the method will try to generate an error object within the message (default is false). |
RollbackInError |
Rollback In Error |
String |
Input |
Y |
If set to true, the method will try to trigger a rollback operation when an error is encountered (default is false). |
XMLHierarchy |
XML Property Set |
Hierarchy |
Input / Output |
Y |
XML Message Hierarchy |
Method: Execute Outbound |
IXMLMapPath |
IXML Map Path |
String |
Input |
N |
Dispatch map entry for the current transaction. |
PrimaryRowId |
Primary Row Id |
String |
Input |
Y |
Primary row Id for the integration object. |
SearchSpec |
Search Specification |
String |
Input |
Y |
Run time search specification. |
SiebelFINS OperationOut |
Outbound Operation |
String |
Input |
N |
Operation name, defined in the IAA transaction manager user property. |
XMLHierarchy |
XML Hierarchy |
Hierarchy |
Output |
N |
XML Message Hierarchy |
Method: Execute Save |
IXMLMapPath |
|
String |
Input |
N |
Dispatch map entry for the current transaction. |
PlaceToSave |
Save into File/Mem |
String |
Input |
Y |
Specifies whether the result should be saved into memory or into a file. Valid value is File or Mem. |
PrimaryRowId |
|
String |
Input |
Y |
Primary row Id for the integration object. |
SearchSpec |
|
String |
Input |
Y |
Run time search specification. |
UCM Converter
The UCM Converter converts Siebel Master Data Applications messages received to a property set for inbound communication. The converter iterates through the requests and responses in the message to construct error information (if any), and also constructs the envelope and header section of the message. Table 6 lists the user properties for this converter.
Table 6. User Properties for UCM Converter
|
|
|
EscapeNames |
true or false |
If set to true, the converter replaces illegal XML name characters with escape characters. Otherwise, it ignores illegal XML name characters. The default value is true. |
HierarchyFormat |
XML Hierarchy |
Format of the property set input or output. For internal use. |
XMLEnvIntObjectName |
<integration object name> |
Name of an integration object that defines the content and hierarchy for the envelope and header section of CRMML. The default envelope integration object is Siebel Master Data Applications Envelope. |
This service provides several ready-to-use methods as described in Table 7.
Table 7. Methods for UCM Converter
|
|
|
GenerateErrorPropSet |
GenerateErrorPropSet |
Constructs the XML hierarchy to respond to external systems when undesired operation or configuration errors occur. |
PropSetToXML |
PropSetToXML |
Converts an integration object hierarchy to an XML document. |
PropSetToXMLPropSet |
PropSetToXMLPropSet |
Converts an integration object hierarchy to an XML hierarchy. |
XMLPropSetToPropSet |
XMLPropSetToPropSet |
Converts an XML hierarchy to an integration object hierarchy. |
XMLToPropSet |
XMLToPropSet |
Converts an XML document stored in the value member of the input property set to an integration object hierarchy. |
For each method defined, the UCM Converter business service takes input arguments and produces output arguments. These arguments are described in Table 8.
Table 8. Arguments for the UCM Converter
|
|
|
ErrorCode |
N/A |
Actual error code to be set to the <ErrorId> element in CRMML fault section. |
ErrorMessageText |
N/A |
Actual error text to be set to the <ErrorDescription> element in CRMML fault section. |
GeneralErrorMessageText |
N/A |
Generic text to be prepended to the error text. |
XMLHierarchy |
N/A |
Property Set in the external integration object or XML hierarchy used as input/output. |
<Value> |
N/A |
Output XML document. |
EscapeNames |
N/A |
Escape characters not valid for XML tags. Otherwise, remove invalid characters. |
IgnoreCharSetConvErrors |
N/A |
If some characters cannot be represented in the destination character set (for example, local codepage), the errors can be ignored. By default, the errors are not ignored. In both cases, a warning log entry is produced. |
XMLCharEncoding |
N/A |
XML character encoding to use in the output XML document. If the encoding is blank or not supported, an error will be produced. |
XMLHeaderText |
N/A |
Text to prepend to the beginning of XML document data. |
ExternalEntityDirectory |
N/A |
Location of external entity files, such as DTD files. |
ValidateExternalEntity |
N/A |
If true, the parser will be set to validate against external metadata (for example, a DTD). |
FailSecurityHierarchy |
N/A |
Property Set storing the operations which fail the security system check. |
Each UCM Converter method uses a group of these method arguments to convert the data for the next service in the integration process. Table 9 lists the arguments for each method.
Table 9. Argument Specifications
|
|
|
|
|
|
Method: GenerateErrorPropSet |
ErrorCode |
ErrorCode |
String |
Input |
N |
Actual error code to be set in the IAA Fault section. |
ErrorMessageText |
ErroMessageText |
String |
Input |
N |
Actual error text to be set in the IAA Fault section. |
GeneralError MessageText |
GeneralError MessageText |
String |
Input |
Y |
Generic text to be prepended to the error text. |
XMLHierarchy |
ErrXMLHierarchy |
Hierarchy |
Input / Output |
Y |
Input request hierarchy/output response hierarchy. |
Method: PropSetToXML |
<Value> |
XML Document |
String |
Output |
Y |
Output XML document. |
EscapeNames |
Escape Names |
String |
Input |
Y |
Escape characters not valid for XML tags. Otherwise, remove invalid characters. |
IgnoreCharSet ConvErrors |
Ignore Character Set Conversion Errors |
String |
Input |
Y |
If some characters cannot be represented in destination character set (for example, local codepage), the errors can be ignored. By default, the errors are not ignored. In both cases, a warning log entry is produced. |
XMLCharEncoding |
XML Character Encoding |
String |
Input |
Y |
XML character encoding to use in the output XML document. If encoding is blank or not supported, an error will be produced. |
XMLHeaderText |
XML Header Text |
String |
Input |
Y |
Text to prepend to beginning of the XML document data. |
XMLHierarchy |
XML Hierarchy |
Hierarchy |
Input |
N |
XML Property Set hierarchy. Document property set is a child of XML Property Set child of the Service Arguments. |
FailSecurityHierarchy |
FailSecurityHierarchy |
Hierarchy |
Input |
Y |
|
Method: PropSetToXMLPropSet |
XMLHierarchy |
XML Hierarchy |
Hierarchy |
Input |
N |
XML Property Set hierarchy. Document property set is a child of XML Property Set child of the Service Arguments. |
Method: XMLToPropSet |
<Value> |
XML Document |
String |
Input |
N |
Input XML document. |
EscapeNames |
Escape Names |
String |
Input |
Y |
XML Tags may contain names that have invalid characters escaped. Character escape format is internal to Siebel. |
ExternalEntity Directory |
External Entity Directory |
String |
Input |
Y |
Location of external entity files, such as DTD files. |
IgnoreCharSet ConvErrors |
Ignore Character Set Conversion Errors |
String |
Input |
Y |
If some characters cannot be represented in destination character set (for example, local codepage), the errors can be ignored. By default, the errors are not ignored. In both cases, a warning log entry is produced. |
ValidateExternal Entity |
Validate External Entity |
String |
Input |
Y |
If true, the parser will be set to validate against external metadata (for example, a DTD). |
XMLCharEncoding |
XML Character Encoding |
String |
Output |
Y |
Character encoding of the XML document, detected by the converter independent of the parser. |
XMLHierarchy |
XML Hierarchy |
Hierarchy |
Output |
Y |
Output XML Property Set Hierarchy. Document property set is a child of the XML Property Set child of Service Argument output. |
UCM Dispatcher
The UCM Dispatcher is responsible for receiving and dispatching inbound messages. It receives the inbound message and scans the message for any operations specified in its rule sets dispatcher map, and associates the integration objects for the connector components. It then parses the envelope of the message, converts it to the header property set, and passes the integration objects for the specified action, the envelope layer property set, and the XML message to the connector components for further processing. Table 10 lists the user properties for UCM Dispatcher.
Table 10. User Properties for UCM Dispatcher
|
|
|
DispatcherMapName |
<integration object name> |
Name of an integration object that details the dispatching rules and syntax for the CRMML standard. This map is usually created along with the other integration objects by the wizard. The default map name is "CIFDispMap." |
XMLEnvIntObjectName |
<integration object name> |
Name of an integration object that defines the content and hierarchy for the envelope and header section of CRMML. The default envelope integration object is "UCM Envelope." |
The UCM Dispatcher business service provides ready-to-use methods and method arguments described in Table 11.
Table 11. UCMDispatcher Methods
|
|
|
DispatchMessage |
Dispatch Message |
Validates the incoming XML message. If the message conforms to the dispatching rules, integration object names and other necessary information will be attached. It also checks for the respective envelope, header and fault section of the message and identifies them. |
For each method defined, the UCM Dispatcher business service takes input arguments and produces output arguments. These arguments are described in Table 12 and Table 13.
Table 12. UCM Dispatcher Method Arguments
|
|
|
XML Hierarchy |
N/A |
Property Set in XML hierarchy. |
Table 13. Method Arguments for DispatchMessage Method
|
|
|
|
|
XMLHierarchy |
XML Hierarchy |
Hierarchy |
Input/Output |
No |
UCM Security Manager
The UCM Security Manager acts as the gatekeeper of the Siebel Universal Customer Master Application. It verifies the System ID in the message header against the System Registrations in the Siebel Universal Customer Master Application before the system can perform its desired operations. After a system passes the registration verification process, the UCM Security Manager cycles through the heterogeneous commands in the body. The UCM Security Manager checks the privilege of the individual operations in the body sections against the privileges in the Customer Master for the particular object and operation. Any fail operation instances in the body are removed from the XMLHierarchy and attached to the FailSecurityHierarchy. Table 14 lists the user properties for the UCM Security Manager.
Table 14. User Properties for UCM Security Manager
|
|
|
IXMLOperation_ADD |
Insert |
Field Name value pair. Checks the Insert field for privilege if the UCM Dispatcher tags the business process as an IXMLOperation_ADD operation. |
IXMLOperation_DELETE |
Delete |
Field Name value pair. Checks the Delete field for privilege if the UCM Dispatcher tags the business process as an IXMLOperation_DELETE operation. |
IXMLOperation_QUERY |
Query |
Field key value pair. Checks the Query field for privilege if the UCM Dispatcher tags the business process as an IXMLOperation_QUERY operation. |
IXMLOperation_QUERYPAGE |
Query |
Field key value pair. Checks the Query field for privilege if the UCM Dispatcher tags the business process as an IXMLOperation_QUERYPAGE operation. |
IXMLOperation_UPDATE |
Update |
Field key value pair. Checks the Update field for privilege if the UCM Dispatcher tags the business process as an IXMLOperation_UPDATE operation. |
The UCM Security Manager processes only inbound messages. Table 15 lists and describes the method that processes inbound messages.
Table 15. Process Method for UCM Security Manager
|
|
|
SecurityCheck |
Security Check |
Supports only inbound requests to the Siebel Connector for Master Data Applications. This method checks the System ID in the Envelope against the Siebel Universal Customer Master Application for System Registration. It also checks the individual business process in the body for privileges to perform operations specified. |
UCM Security Manager business service uses a combination of user property and method arguments for its methods to achieve different tasks. Table 16 lists the method arguments available to use with UCM Security Manager business service.
Table 16. Method Arguments for Use with UCM Security Manager
|
|
|
SecurityEnforced |
N/A |
Use to turn on or off the Security checking process. When this value is set to false the UCM Security Manager will bypass the registration verification process and the operation privilege checking process. UCM Security Manager will perform its security checking operations only when the value is set to true. |
XMLHierarchy |
N/A |
Property set in UCM integration object hierarchy. |
FailSecurityHierarchy |
N/A |
Property set in Siebel Master Data Applications integration object hierarchy. It includes failed system registration verification body instances or individual business processes that have no privilege to perform the operation specified. |
Table 17 lists the detailed arguments for the method Security Check.
Table 17. Arguments for Method Security Check
|
|
|
|
|
SecurityEnforced |
Security Enforced |
String |
Input |
N |
XMLHierarchy |
XML Hierarchy |
Hierarchy |
Input or Output |
N |
FailSecurityHierarchy |
Fail SecurityHierarchy |
Hierarchy |
Input |
Y |
UCM Publish/Subscribe Service
The UCM Publish/Subscribe Service supports both Real Time and Daily Batch publish types. The Real Time publish module takes the Siebel Connector for Master Data Applications output message, which could include heterogeneous body segments with different business object types, as an input message. It dynamically constructs a unique output message for each system based on the Business Object type that the system registered in the Publish/Subscribe administration view. The Real Time publish module sends the constructed messages to the registered systems through a registered protocol type. Similarly, the Daily Batch publish module publishes the synchronization information of registered Business Object types. The module constructs messages according to Siebel Master Data Applications message specification and sends them to the registered system through registered protocol types at the registered publish time. Both publish modules then update the Last Publish time to the system in the Publish/Subscribe table. The UCM Publish/Subscribe Service has no user properties. It uses the prebuilt methods described in Table 18 to publish messages.
Table 18. Method for UCM Publish/Subscribe
|
|
|
PublishMethod |
Publish |
Dynamically routes to Real Time or Daily Batch publish style according to the incoming message style. |
UCM Publish/Subscribe Service uses a combination of methods and method arguments to achieve different tasks. Table 19 lists the method arguments available to use with UCM Publish/Subscribe Service business service.
Table 19. Method Arguments for Use with UCM Publish/Subscribe
|
|
|
XMLHierarchy |
N/A |
Property set in UCM integration object hierarchy. It is the input of real-time publish. |
Account |
N/A |
Input of Account integration object name to be used during Daily Batch publishing time. It is the keyword for identifying the integration object associated with CIFAccount messages. |
Contact |
N/A |
Input of Contact integration object name to be used during Daily Batch publishing time. It is the keyword for identifying the integration object associated with CIFContact messages. |
Household |
N/A |
Input of Household integration object name to be used during Daily Batch publishing time. It is the keyword for identifying the integration object associated with CIFHousehold messages |
Although these arguments are available to be used by UCM Publish/Subscribe Service, not all can be used with each method. Table 20 and Table 21 list the arguments for each method.
Table 20. Argument Details for Publish Method (Real Time)
|
|
|
|
|
XMLHierarchy |
XML Hierarchy |
Hierarchy |
Input |
|
Table 21. Argument Details for Publish Method (Daily Batch)
|
|
|
|
|
Account |
Batch Account Integration Object Name |
String |
Input |
|
Contact |
Batch Contact Integration Object Name |
String |
Input |
|
Household |
Batch Household Integration Object Name |
String |
Input |
|
NOTE: For Daily Batch, configure one of the integration objects to be used in each batch publish workflow.
Transport Adapter
Transport Adapter is a prebuilt business service providing an interface between Siebel eBusiness Applications and external applications. Transports allow Siebel Master Data Applications to exchange data with external applications using standard technologies for both synchronous and asynchronous communication protocols. Transports provide connectivity to virtually any communication protocol that can represent data as text or binary messages, including MQSeries from IBM, and HTTP. For details on transport adapters, see Transports and Interfaces: Siebel eBusiness Application Integration Volume III. Siebel EIM and Integration of Siebel Master Data Applications
Siebel EIM is an important component of Siebel Master Data Applications. It bulk imports and exports data residing in other back-office systems into Siebel Master Data Applications and consolidates and replicates information from these sources. Siebel EIM provides a schema abstraction and has high throughput. Some features of Siebel EIM include:
- Denormalized interface tables
- Declarative mapping defined in Siebel Tools
- Automated SQL generation
- Support for parallelized import
For further information about Siebel EIM, see Siebel Enterprise Integration Manager Administration Guide.
|