Conceptual View of Service-Oriented Computing
We’ll be making reference to the previously defined elements throughout this site. Understanding them individually is just as important as understanding how they can relate to each other because these relationships establish some of the most fundamental dynamics of service-oriented computing.
Figure: A conceptual view of how the elements of service-oriented computing can inter-relate.
Let’s therefore revisit these elements with an emphasis on how each ties into others:
– Service-oriented architecture represents a distinct form of technology architecture designed in support of service-oriented solution logic which is comprised of services and service compositions shaped by and designed in accordance with service-orientation.
– Service-orientation is a design paradigm comprised of service-orientation design principles. When applied to units of solution logic, these principles create services with distinct design characteristics that support the overall goals and vision of service-oriented computing.
– Service-oriented computing represents a new generation computing platform that encompasses the service-orientation paradigm and service-oriented architecture with the ultimate goal of creating and assembling one or more service inventories.
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: A service inventory establishes a pool of services, many of which will be deliberately designed to be reused within multiple service compositions.