A Physical View of Service-Oriented Computing
To fully appreciate how service-oriented computing elements are ultimately used we need to explore how they translate into the real world. To do so, we need to clearly distinguish the role and position of each element within a physical implementation perspective, as follows:
- Service-oriented solution logic is implemented as services and service compositions designed in accordance with service-orientation design principles.
- A service composition is comprised of services that have been assembled to provide the functionality required to automate a specific business task or process.
- Because service-orientation shapes many services as agnostic enterprise resources, one service may be invoked by multiple consumer programs, each of which can involve that same service in a different service composition.
- A collection of standardized services can form the basis of a service inventory that can be independently administered within its own physical deployment environment.
- Multiple business processes can be automated by the creation of service compositions that draw from a pool of existing agnostic services that reside within a service inventory.
- Service-oriented architecture is a form of technology architecture optimized in support of services, service compositions, and service inventories.
This implementation-centric view brings to light how service-oriented computing can change the overall complexion of an enterprise. Because the majority of services delivered are positioned as reusable resources agnostic to business processes, they do not belong to any one application silo. By dissolving boundaries between applications, the enterprise is increasingly represented by a growing body of services that exist within an expanding service inventory.
Figure 1 – A service inventory establishes a pool of services, many of which will be deliberately designed to be reused within multiple service compositions.