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.](images/ServiceOrientedArchitecture_V.gif)
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.](images/ServicesIntegration_Outbound_V.gif)
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.](images/CallingExternalSvcFromCOM_V.gif)
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.](images/WebServProcess_V.gif)
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:
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:
|
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:
|
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:
|
SelfServiceRegistration |
This is the self service registration process, and it invokes the SelfServiceRegistration workflow. It consolidates the following processes:
|
SelfServicePostLogin |
SelfServicePostLogin is invoked after a user logs into the self service application, and it invokes the SelfServicePostLogin workflow. It consolidates the following processes:
|
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.