Siebel Order Management Infrastructure Guide > Service-Oriented Architecture >
About Service-Oriented Architecture (SOA)
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, mobile, or wireless, 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/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.
Figure 1 illustrates a service-oriented architecture.
Figure 1. Service-Oriented Architecture
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.