Bookshelf Home | Contents | Index | PDF |
Siebel Master Data Applications Reference for Industry Applications > Architecture and Framework > About Siebel Master Data Applications Architecture > UCM Business Objects LayerThe business logic layer for Siebel Master Data Applications contains object abstractions of entities and represents internal and external data. The logic layer also allows for complex entity relationships. For further information about the business objects layer and how to customize it, see Configuring Siebel eBusiness Applications. The business object manager consists of the Object Manager, Data Manager, and Siebel Master Data Applications Integration. Object Manager and Data ManagerThe object manager and data manager layer use: These business objects are customizable. For further information about the business objects and data objects layer, see Configuring Siebel eBusiness Applications. Siebel Industry eAI ArchitectureSiebel Industry eAI architecture is built to work with the Siebel eBusiness Application Integration (eAI) architecture and to support XML-based messaging communication infrastructure. Different applications require integration using messaging mechanisms. Connectors must be built to support various industry standards. Siebel eBusiness Applications allow you to build and deploy multiple connectors. For example, the Siebel Financial Services Application has built three connectors—Siebel Connector for Master Data Applications, Siebel Connector for ACORD XML, and Siebel Connector for IFX XML—based on the Siebel Industry eAI framework. Figure 7 illustrates the high-level architecture of the Siebel Industry eAI and the standard connectors. Siebel Connector for Master Data Applications is based on Siebel XML standards in addition to a predefined Universal Customer Master Application envelope, headers for identifying the sending system, and associated privileges information. It is designed to address the real-time requirement by defining business processes that include both a request and a response message. The Siebel Connector for Master Data Applications provides functions such as:
The Siebel Connector for Master Data Applications includes the UCM Dispatcher, UCM Converter, UCM Publish/Subscribe Service, UCM Security Manager, and UCM Transaction Manager.Master Data. Business Process FlowEach standard integration or custom integration is based on the creation of business process flows. A business process flow controls the entire business transaction instance. Figure 8 illustrates inbound (Receive-Send) business process flow. Some of the business flows might constitute messages published by Siebel Master Data Applications such as <InsertContactProduct>, <DeleteAccountAddress>, <UpdateContactProduct>, <UpdateHousehold>, <DeleteAccountAddressResponse>, <LookUpAccount>, <LookUpPersonalAddressByState>, and so on. These messages are included in Siebel Master Data Applications for Industry Applications. The processing flow for each of these business process flows is largely contained within a Siebel workflow process. The workflow process is instantiated by the Business Integration Manager after receiving the inbound request from enterprise applications. Inbound Data FlowAs illustrated in Figure 8, an inbound business process flow starts with a Receiver Server Component, such as the MQSeries or HTTP Receiver. The Receiver runs in the background, continuously waiting for messages to arrive from external applications. After receiving a CRMML message, the receiver then invokes the workflow process configured to handle and process the data. The workflow dictates the business logic behind the Siebel Connector for Master Data Applications as follows:
Workflow IntegrationSiebel Business Process Designer is the center of the business data flow. Workflow processes control the flow and transformation of data into and out of the Siebel eBusiness Applications. You create the workflow processes using a graphical user interface provided within Siebel eBusiness Applications, called the Siebel Business Process Designer. For details on workflow and the Siebel Business Process Designer, see Siebel Business Process Designer Administration Guide. Integration ObjectsIntegration objects are data containers used within the workflow environment. They represent the data structure of a Siebel Business Object or an external application's data object. You create integration objects with the Integration Object Builder provided in Siebel Tools. The Integration Object Builder creates Siebel Integration Objects from Siebel Business Objects, which are then used by components within the Siebel Master Data Applications Integration. Supporting integration objects for Siebel Master Data Applications business processes are shipped as part of the Siebel Master Data Applications. For more information on Integration Objects, see Overview: Siebel eBusiness Application Integration Volume I. Business ServicesBusiness services execute predefined or custom actions in a workflow process. Examples of business services include the UCM Transaction Manager, the EAI Siebel Adapter, the UCM Converter, and so on. These business services act on property sets passed to them. They perform business logic operations such as interfacing with the database, interfacing to external systems, or transforming one integration object into another. Many business services are provided, but you can create your own. Although you can use business services to perform many different functions, they all have a standard interface. Business services have object-like qualities, such as methods, method arguments, and user properties. These elements define how a business service can be used. Business services are defined in Siebel Tools. This guide describes those business services used to interface to external systems within an organization's application network. For more information on business services in general, Integration Platform Technologies: Siebel eBusiness Application Integration Volume II. CRMML StandardCustomer Relationship Management Markup Language (CRMML) is a Siebel messaging system targeted for CRM data exchange and remote business process invocation. CRMML allows different applications with different data models to share information, or replicate data through document exchange and cross reference objects. It also allows multiple applications to share business logic and business processes through remote procedure calls. CRMML is an extensible XML vocabulary. CRMML specification defines a set of syntax and rules to describe how to interpret messages and how to extend the messages beyond the current offer. CRMML messages contain a simple envelope, a header section, and a body section. The details are described in the following sections. CRMML Syntax and Rules. CRMML messages contain an envelope, a header section, and a body section. The message specification focuses on the hierarchy and definitions of header elements. It allows users to extend the body section with user-defined elements as long as the object descriptors in the header section describe the usages of the elements in a body section. The following example illustrates the layers of a CRMML message: <?xml version="1.0" encoding="UTF-8> <! CRMML Header section starts> <SystemId>www.mycompany.com</SystemId> <SystemRole>Insurance Application</SystemRole> <SystemName>Client UI System</SystemName> <SystemId>123-456-789</SystemId> <SystemRole>Service Provider</SystemRole> <SystemName>Siebel UCM System</SystemName> <MessageId>11SC3I2002053116:43:45</MessageId> <TransactionScope>any</TransactionScope> <Timestamp>01/01/2001</Timestamp> <EmailAddress>cifemail</EmailAddress> <FaxPhone>5555555555</FaxPhone> <FirstName>0099INFN</FirstName> <HomePhone>1111111111</HomePhone> Envelope and Header Section. The CRMML message has one envelope element <CRMML>. <CRMML> is the root element for a message. It contains one optional header element <CRMHeader> and one or more body elements. The envelope has no attributes. The header includes elements for sender and receiver. The following is an example for communication parties: <! CRMML Header section starts> <SystemId>www.mycompany.com</SystemId> <SystemRole>Insurance Application</SystemRole> <SystemName>Client UI System</SystemName> <SystemId>123-456-789</SystemId> <SystemRole>Service Provider</SystemRole> <SystemName>Siebel UCM System</SystemName> <FromSystem> is the sender and <ToSystem> is the receiver in this example. Both elements contain <SystemInfo> aggregate, which holds system ID, system role, and the name of the system. In the example, Sender's name is Client UI System and receiver is Siebel Master Data Applications System. Sender plays an insurance application role and receiver plays a service provider's role. The header also contains a message descriptor that depicts the body of the message and objects inside the body sections. An example of the message descriptor follows: <! CRMML Header section starts> <MessageId>11SC3I2002053116:43:45</MessageId> <TransactionScope>any</TransactionScope> <TimeToLive>OneYear</TimeToLive> The <MessageId> element can be unique to identify a single message, a pair of request or response messages, or a group of communication messages. Transaction scope can be any or all. <Timestamp> is the creation time of a message and <TimeToLive> is the expiration time of a message. Receiver should disregard a message if the message has expired. The <MessageDescriptor> can have zero or more <ObjectDescriptor> child elements. The following object descriptor example illustrates a metadata for remote procedure call in a message header: <ObjectId type="HREF" sytem="this">p1</ObjectId> <ObjectUsage>SoftwarePackage</ObjectUsage> <ObjectId type="HREF" sytem="this">m1</ObjectId> <ObjectUsage>Method</ObjectUsage> <ObjectId type="HREF" sytem="this">a1</ObjectId> <ObjectUsage>Argument</ObjectUsage> <InsertContactProfile ID="m1"> The first <ObjectDescriptor> refers to <CIFPartyPackage> element in the message body by HREF. It indicates that <CIFPartyPackage> is a software package. In this example, it is the Siebel Universal Customer Master Application. The second descriptor indicates that <InsertContactProfile> is a method in the package that the message intends to invoke. The third descriptor shows that <Contact> aggregate is the input argument for <InsertContactProfile>. For UCM implementation, the default usages of the first three elements are package, method, and argument; therefore, no objective descriptor is required for Universal Customer Master Application specific messages. Body Section. Body section contains user defined message elements. The following is an example body section and is one of the messages supported by the Siebel Master Data Applications. <InsertContactProfile ID="m1"> The example indicates that an external application requests to insert a contact profile to the Siebel Master Data Applications database. The contact detail information is contained within the <Contact> aggregate. |
Siebel Master Data Applications Reference for Industry Applications |