Service Orientation and Its Role in Your Connected Systems Strategy: Building Distributed Applications
Service-orientation is a means for building distributed systems. At its most abstract, service-orientation views everything from the mainframe application to the printer to the shipping dock clerk to the overnight delivery company as a service provider. Service providers expose capabilities through interfaces. Service-oriented architecture maps these capabilities and interfaces so they can be orchestrated into processes. The service model is "fractal": the newly formed process is a service itself, exposing a new, aggregated capability. Fundamental to the service model is the separation between the interface and the implementation. The invoker of a service need only (and should only) understand the interface; the implementation can evolve over time, without disturbing the clients of the service. Interestingly, the same interface can be offered by many implementations; several key benefits of service-orientation derive from this abstraction of the capability from how the capability is delivered. This white paper presents the Microsoft Corporation vision for service-orientation and service-oriented architecture in enterprise computing.