2Service-Oriented Architecture

Service-Oriented Architecture

This chapter discusses Oracle’s Siebel order management which is based on a service-oriented architecture (SOA), and the services that form the foundation of Customer Order Management (C/OM) functions. This chapter includes the following topics:

About Business Services

A business service defines reusable business logic that can be executed within the Object Manager. Business services are the building blocks of all C/OM functions.

Generally, a business service:

  • Can be a built-in service that is defined in Web Tools or a run-time service that is defined in the Siebel client application by administrators

  • Can be based on the CSSService Class (standard business service) or on specialized classes (specialized business service)

    Note: Specialized business services are used only by internal Siebel Engineering personnel. Do not use specialized business services unless their behavior is specifically documented.
  • Can be configured by properties or scripts (written in Siebel VB or Siebel eScript)

  • Can be used for generic code libraries that are called from other scripts

  • Can be referred to by commands associated with a menu item or toolbar button

About Service-Oriented Architecture

Service-oriented architecture (SOA) is the environment that supports the building of applications using service technology. Siebel order management is a composite application built following the discipline of SOA.

SOA allows for sharing of business logic across multiple access channels, using data and application features wherever they reside. An SOA application must include the following:

  • Smart clients. A set of clients—connected or mobile, and with multiple form factors—provides for multichannel, role-based access to the application. The clients are “smart” in the sense that appropriate application code is transparently loaded into the client, allowing high interactivity with no administration overhead; a smart client offers the advantage of both browser technology and client or server technology, without the drawbacks of either. Smart clients support role-based user interfaces.

  • Business processes. SOA supports process-enabled applications. Each process is declaratively defined as an orchestration of services. The location of services is transparent to the applications, and the processes may cross applications. Various sections of a process may be implemented in different applications, each executed under the control of its own process controller, whether BPEL-compatible or custom.

  • Application services. All application functions are modeled using service technology. All services—whether data services, business services, or integration services—follow the service paradigm. Data services use the methods associated with data. Business services may drive role-based user interfaces or they may implement automated steps. Integration services (or integration applications) map services consumed to services offered between applications, so that all services appear to be local to each application, smoothing out the differences in object structure and service interface semantics.

  • Data sources and service sources. At the logic level, all applications are peers as providers and consumers of services and data.

The following figure illustrates a service-oriented architecture.

Service-Oriented Architecture. This image is described in surrounding text.

SOA allows for abstraction of the application interface from the application’s implementation. Because of this abstraction and standardization, generalized (coarse-grained) services can be used for a wide range of needs. Using generalized services means that there is reduced demand for new services, and services can be reused in unforeseen contexts. At the same time, services that are fine-grained can be used for the composition of new services.

How Siebel C/OM Is Built on a Service-Oriented Architecture

Siebel order management is a composite application following the principles of SOA as follows:

  • Services are autonomous, and they act independently of one another. C/OM business functions are based on independent services involving pieces of code and data. Each service is a unique piece of code that stands alone, independent of other services. Services share standards, schema, and contract—but because services are autonomous, each one has its own implementation, deployment, and operational environment. For this reason, a service can be rewritten or replaced with no impact on partner services.

  • Messaging carries information between services. Services interact through messaging. The only way into and out of a service is through messages. A message’s schema describes the format and content of the message. A message’s contract describes the message sequences allowed in and out of the service. The schema definition and the contract definition give a service its black box nature. A partner service of any given service is aware only of the sequencing of messages flowing back and forth, not of the service’s inner workings.

  • Boundaries are explicit. Explicit boundaries mean that there is no ambiguity regarding the location of each part of the code; it is clear whether the code resides inside or outside of the service. The same principle applies to data. It is known whether a database table resides inside or outside the service.

  • Service location and compatibility are describable and discoverable. Policies exist as formal criteria for getting a service to do its work and for specifying service location. The criteria are located in a document that outlines the service’s rules for use and its location.

In this release, C/OM business processes are implemented as workflows that invoke a series of internal services. The SOA also allows C/OM applications to incorporate external services into any business process.

Because Siebel order management is built upon SOA principles, C/OM business functions are encapsulated in well-defined services. Data is passed to and from services as hierarchical documents.

The C/OM Signals mechanism provides the service invocation framework. The C/OM Variable Maps mechanism defines, constructs, and persists the data passed to and from the services.

The service-oriented architecture of Siebel order management also means that C/OM business processes and functions can be exposed (as stateless services), so that they can be called by external applications. The service definition and run-time is supported by the Siebel ASI framework.

How Siebel C/OM Can Be Integrated with Other SOA Applications

Web Services is the most common enabler of SOA. Siebel Business Applications support both inbound and outbound Web Services. The Siebel application can:

  • Generate and read WSDL

  • Process and transform XML

  • Receive and process Web Service requests over HTTP

  • Invoke an external Web Service from any Siebel event, script, or Workflow

    Outbound Integration of C/OM Services

    You can call an external service from C/OM. Predefined integration interfaces can be implemented or hosted by an external application. Service can be provided by an external application, an integration server, a Siebel business service, or a Siebel business process (workflow).

    The following figure illustrates services integration for outbound integration.

    Services Interfaces for Outbound Integration. In this image, UI Event and Business Process are connected to Service Invocation Layer. Service Invocation Layer is connected to Map, Siebel Service and Integration Server Adapter. Repository (Service Metadata) is connected to Service Invocation Layer. Web Services is connected to SOAP (HTTP). XML is connected to the grouping: HTTP, MQ, MSMQ. Integration Server Adapter is connected to Integration Server. SOAP (HTTP), HTTP, MQ, MSMQ and Integration Server are all connected to External Application.

    Calling an External Service from C/OM

    The workflow process shown in the following figure provides an example of calling an external service from Siebel order management. The figure shows a workflow process that includes a subprocess called Check Inventory Levels. The subprocess includes a step called Perform Inventory Check, which involves a Web service invocation.


    Example: Check Inventory Level During Product Recommendations Algorithm. In this image, there are two connected workflows ( a main workflow and a subprocess workflow). In the main workflow, the workflow items are connected to each other in the following order: Start, Look Up Recommended Products, Check Eligibility, Remove Ineligible Products, Check Inventory Levels, Price Products, Format Messages, End. The second (subprocess) workflow image is connected to the main workflow at Check Inventory Levels. The subprocess workflow has the following steps: Start, Transform Line Items to XML, Perform Inventory Check (Web Service Invocation), Transform XML to Line Items, End.

    Web Service Performance

    C/OM services such as Pricer or Eligibility are designed to work on batches of data to improve end-user response times. Any external service called by Pricer or Eligibility must support a batched interface that processes an entire set of data (such as all line items in an order) in a single invocation. Thus the overhead associated with Web Service invocation and with context establishment within the Web Service is only incurred once instead of, potentially, hundreds of times.

      How Siebel C/OM Can Be Used with SOA

      Siebel customer order management can be used as a service by any SOA application though the process flow illustrated in the following figure. In this flow:

      • The external application UI first identifies (through a business process extraction layer) the right set of Web services that it needs to call to support the business process event.

      • The external application layer then:

        • Identifies the right sequence of Web service invocations.

        • Prepares the input to these Web services, and generates the SOAP message appropriately.

      • The Siebel Business Application server Web service listener will receive the soap message, and if needed, facilitates session management and converts the SOAP message to a native property set.

      • The signal service invokes a COM signal, or calls the native service and invokes the COM order management workflow or business service to complete the task.

      • Once the task is completed in the Siebel Business Application, the Siebel application returns a SOAP message back to the calling application which in turn extracts the output and updates the UI.

      Example: Using Siebel C/OM with SOA. This image is described in surrounding text.

        Web Services for Customer Order Management

        The Web services used for customer order management are listed in the following table.

        • Web Services in Version 8.1 describes the new, modified, and consolidated web services to support release 8.1 of the software.

        • The following table lists the workflows that you must activate in order to use the Web services for customer order management.

        For more information about these Web services and for information about enabling Web services, see Siebel CRM Web Services Reference.

        Namespace Name

        http://siebel.com/OrderManagement/ABO

        ABOWebService

        http://siebel.com/OrderManagement/Asset

        AssetWebService

        http://siebel.com/OrderManagement/Quote/PSP

        CalculatePriceWS

        http://siebel.com/OrderManagement/External/PSP

        CalculatePriceWS

        http://siebel.com/OrderManagement/Catalog

        CatalogWebService

        http://siebel.com/OrderManagement/Contact

        ContactWebService

        http://www.siebel.com/OrderManagement/ContextService

        ContextServiceWrapperService

        http://siebel.com/OrderManagement/Quote/PSP

        EligibilityCompatibility

        http://siebel.com/OrderManagement/Order

        OrderWebService

        http://siebel.com/OrderManagement/Configurator

        ProductConfigurator

        http://siebel.com/OrderManagement/Quote/PSP

        ProductRecommendation

        http://siebel.com/OrderManagement/Promotion

        PromotionWebService

        http://siebel.com/OrderManagement/Quote

        QuoteAddItemsWS

        http://siebel.com/OrderManagement/Quote

        QuoteWebService

          Web Services in Version 8.1

          This topic describes the new, modified, and consolidated web services to support release 8.1 of the software:

          • The first table in this topic lists the Web services that are new for customer order management.

          • The second table in this topic lists the new self service Web services that were added for customer order management.

          • The third table in this topic lists the new Communications, Media, and Utilities (CMU) Web services for customer order management.

          • The fourth table in this topic lists the Web services that were modified for customer order management.

          • The fifth table in this topic lists the Web services that have been consolidated for customer order management.

            New Web Services

            The following table lists the Web services that are new for customer order management.

            Type Web Service Name Description

            Catalog

            Get Categories

            Retrieves a list of all available product categories in a single Web service interaction.

            Publish Catalogs

            Retrieves all catalog objects (categories, products, attributes, attribute domains) for a given catalog including private catalog objects based on current catalog access control, and eligibility enforcement options.

            Shopping Cart

            Price Lists

            Gets all active price lists for a given context.

            Order Detail

            New UI data service (UDS) based on Quote and Order Web services that activate and return only the information (fields) that you requested.

            Quote Detail

            Quoting

            Promotion

            Get Promotion

            Gets commitments for a given promotion asset.

            Modify Promotion or Asset

            Upgrades or migrates a promotion instance to another promotion. Supports promotion upgrade or downgrade process from an external application.

            Modify Promotion or Asset

            Modifies a promotion or asset item from an external application through the modify asset Web service.

              New Self Service Web Services

              The following table lists the new self service Web services that were added for customer order management.

              Self Service Web Service Description

              SelfServicePostLogin

              Loads the logged in users responsibilities, contact details and primary account. If the primary account is null, loads the root account of the logged in user’s contact.

              SelfServiceRegistration

              Performs the following actions for user registration:

              • Creates a user

              • Creates a contact

              • Creates an account, if required

              • Assigns responsibilities

              • Triggers approval process, if applicable

              This Web service also performs the reset password and update password transactions.

              SelfServiceContact

              Allows you to insert, delete, update, and query a contact, contact details, and the accounts associated with a contact.

              SelfServiceAccount

              Allows you to insert, delete, update, and query accounts, account addresses, and contacts associated with accounts.

              SelfServiceAccountRootPath

              Queries the account hierarchy details of the requested account.

              SelfServiceAllAccountsList

              Queries accounts and account details.

              SelfServiceUser

              Retrieves user details and user responsibilities.

              SelfServiceWebSite

              Allows you to insert, update, delete, and query the Self Service site and its details.

              OrderDetailWebService

              Queries Order header, Order Line, Order Payments, Order Approval, and Shipment details.

              SelfServiceSmtpEmail

              Send an email using the Outbound Communications Manager business service.

              SelfServiceTemplateRule

              Queries the Self Service Site template rules.

              SelfServiceTimeZone

              Queries the time zone and time zone translation details.

              SelfServicePaymentHistory

              Gets the payment history for a contact or account.

              SelfServiceAccountBillingProfile

              Performs Insert, Delete, Update, and Query on the accounts billing profile.

              SelfServiceAddress

              Gets the Address details for a particular account or contact.

              SelfServiceResponsibility

              Queries responsibilities.

                New Communications, Media, and Utilities Web Services

                The following table lists the new Communications, Media, and Utilities (CMU) Web services for customer order management.

                CMU Web Service Description

                CatalogWebService

                Equivalent to the Publish Catalogs Web service.

                OrderDetailWebService

                Equivalent to the Order Detail Web service.

                SelfServiceAccount

                Equivalent to the SelfServiceAccount Web service.

                SelfServiceAllAccountsList

                Equivalent to the SelfServiceAllAccountsList Web service.

                  Modified Web Services

                  The following table lists the Web services that were modified for customer order management.

                  Web Service Description

                  PromotionWebService

                  The following methods have been added:

                  • Promotion Commitments

                  • Upgrade Promotion

                  QuoteWebService

                  Allows you to insert, update, query, and delete the quote header, quote item, and quote payments.

                  ProductConfigurator

                  To support release 8.1 of the software, updates the Web service:

                  • To meet all new requirements

                  • To fix any issues found

                    Consolidated Web Services

                    The following table lists the Web services that have been consolidated for customer order management.

                    Web Service Description

                    QuoteCheckOutWebService

                    This is the Submit Order Web service that invokes the QuoteCheckOut workflow. The workflow consolidates the submit order functionality, and the credit card validation process.

                    QuotingWebService

                    This Web service is used to save a quote, and it invokes the Web Channel Quoting Workflow. This workflow consolidates the following processes:

                    • Run the eligibility and compatibility workflow

                    • Re-price the quote

                    • Calculate delta for ABO quote

                    • Perform promotion instance check

                    • Calculating shipping charge

                    • Calculate Tax

                    SelfServiceRegistration

                    This is the self service registration process, and it invokes the SelfServiceRegistration workflow. It consolidates the following processes:

                    • Create a user

                    • Create a contact

                    • Create an account, if required

                    • Assign responsibilities to the user

                    • Trigger approval process, if applicable

                    SelfServicePostLogin

                    SelfServicePostLogin is invoked after a user logs into the self service application, and it invokes the SelfServicePostLogin workflow. It consolidates the following processes:

                    • Load contact details and responsibilities

                    • Load primary account id and root account details

                      Workflows to Activate for Customer Order Management

                      In addition, to use the Web services for customer order management, you must activate the following workflows:

                      • CalculatePriceExternal

                      • Check Eligibility & Compatibility - Default

                      • Compatibility Multiple Popup Workflow

                      • Configurator Eligibility Compatibility Workflow

                      • Configurator External Validate Workflow

                      • Configurator Load

                      • Configurator PAC Query

                      • Configurator Product Info Lookup

                      • Configurator Save

                      • Contact - New Order

                      • Contact - New Quote

                      • ContextServiceWrapperService-OrderHeader-Verify

                      • ContextServiceWrapperService-OrderItem-Verify

                      • ContextServiceWrapperService-QuoteHeader-Verify

                      • ContextServiceWrapperService-QuoteItem-Verify

                      • Get Config Item Price

                      • Get Product List Price

                      • Goto_Order

                      • Goto_Quote

                      • ISS Approval (Agreement)

                      • ISS Approval (Order)

                      • ISS Approval (Quote)

                      • ISS Post Approval Workflow (Agreement)

                      • ISS Post Approval Workflow (Order)

                      • ISS Post Approval Workflow (Quote)

                      • ISS Promotion Agreement Covered Assets Sub Process

                      • ISS Promotion Agreement Management Sub Process

                      • ISS Promotion Commitment Compliance Check SubProcess

                      • ISS Promotion Create Agreement Details

                      • ISS Promotion Disconnect Integration SubProcess

                      • ISS Promotion Disconnect Process

                      • ISS Promotion Disconnect Process - for Verify

                      • ISS Promotion Recommendation SubProcess

                      • ISS Promotion Upgrade Process

                      • ISS Promotion Verify SubProcess

                      • ISS Validation (Agreement)

                      • ISS Validation (Order)

                      • ISS Validation (Quote)

                      • PSP Driver Workflow Process

                      • PSP Dynamic Matrix - Refresh Matrix Cache

                      • PSP Refresh Cache On Cache Key - Price List

                      • PSP Waterfall Driver Workflow Process

                      • PSP Waterfall Synch Test Workflow

                      • PSP Waterfall Synch to DB Workflow

                      • Pricing Procedure - Bundle Discount Unit Test

                      • Pricing Procedure - Calculate Net Price

                      • Pricing Procedure - Default

                      • Pricing Procedure - Keep Discount Flag

                      • Pricing Procedure - Service

                      • Pricing Procedure - Volume Discount

                      • Product Compatibility - Default

                      • Product Eligibility & Compatibility - Default

                      • Product Recommendation Delete Msgs

                      • Product Recommendation Driver Workflow

                      • Product Recommendation Get Recommended Products

                      • SIS OM Active Order Sub-Process

                      • SIS OM Active Order Sub-Process - Contact

                      • SIS OM Active Quote Sub-process - Contact

                      • SIS OM Apply Completed Service Order Line Item to Service Profile

                      • SIS OM Auto Select Order Billing and Service Accounts

                      • SIS OM Go to Products & Services Sub-Process

                      • SIS OM Go to Quote Detail View Sub-Process

                      • SIS OM Modify Products & Services Process

                      • SIS OM Modify Products & Services Process - Contact

                      • SIS OM Modify Products & Services Process - Quote & Order

                      • SIS OM New Products & Services Process

                      • SIS OM New Products & Services Process - Contact

                      • SIS OM New Products & Services Process - VORD

                      • SIS OM Profile Process

                      • SIS OM Profile Process - Order

                      • SIS OM Quote To Order Workflow PMT Version

                      • SIS OM Submit Order Process

                      • SIS OM Suspend, Resume Asset Sub-Process

                      • SIS OM Suspend, Resume Asset Sub-Process - Contact

                      • SIS OM Suspend, Resume Products & Services Process

                      • SIS OM Suspend, Resume Products & Services Process - Contact

                      • SIS OM Suspend, Resume Products & Services Process - Quote & Order

                      • SIS OM Ungroup Order

                      • SIS OM Ungroup Quote

                      For more information about activating workflows, see these Web services and for information about enabling Web services, see Siebel Business Process Framework: Workflow Guide.