Siebel Order Management Infrastructure Guide > Service-Oriented Architecture >
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.