Service-orientation
From Wikipedia, the free encyclopedia
Service-orientation is a design paradigm that specifies the creation of automation logic in the form of services. It is applied as a strategic goal in developing a service-oriented architecture (SOA). Like other design paradigms, service-orientation provides a means of achieving a separation of concerns.
Contents |
[edit] History of Service-Orientation Principles and Tenets
Service-orientation has been defined differently by different vendor SOA platforms. Some vendors promote different principles and tenets over others, but a fair amount of commonality exists.
Don Box of Microsoft was one of the first to provide a set of design guidelines referred to as his “four tenets of service-orientation” which he described primarily in relation to the Microsoft Indigo (now Windows Communication Foundation) platform that was emerging at the time. These tenets have since become fundamental design guidelines for related Microsoft-based documentation, such as the "Service Orientation and Its Role in Your Connected Systems Strategy" article that was published on MSDN.
The first publicly published research of service-orientation from an industry perspective was provided by Thomas Erl of SOA Systems Inc. who defined eight specific service-orientation principles common to all primary SOA platforms. These principles were published in “Service-Oriented Architecture: Concepts, Technology, and Design”, on the www.soaprinciples.com research site, and in the September 2005 edition of the Web Services Journal.
An article in the December 2005 edition of the IBM System Journal (by Cherbakov, Galambos, Harishankar, Kalyana, Rackham) entitled “Impact of service orientation at the business level” provided a study of how the service-orientation paradigm relates to fundamental componentization and the IBM Component Business Model (CBM). Further, in a published article entitled “SOA Simplified”, IBM Vice President for Strategy Sandy Carter emphasized the importance of service-orientation and its relevance to attaining true reuse.
Paul Allen wrote a book in which Service Orientation is defined as a paradigm, with three main components; 1) Business Architecture, 2) SOA, 3) Software Oriented Management. In his book he defines seven Service-Oriented Viewpoints (labelled SOV7).
- Transparence;
- Customer fit;
- Partner connectivity;
- Adaptation;
- Multi-channel capability;
- Optimization;
- One-stop experience;
The viewpoints do have a more high-level approach, and are not as specific and interlinked as the Service Orientation Principles of Erl. Allen uses them as starting point for stating questions during the design process.
[edit] Antecedents
Service-orientation inherits a number of principles from earlier paradigms including object-orientation, component-based software engineering and open distributed processing.
[edit] Object-Orientation
It is commonly acknowledged that several service-orientation principles have their roots in the object-oriented design paradigm. Some have claimed that service-orientation will ultimately replace object-orientation as the de facto design paradigm, while others state that the two are complementary paradigms and that there will always be a need for both.
[edit] Component-Based Software Engineering
Services inherit a number of features of software components, including
- Multiple-use
- Non-context-specific
- Composable
- Encapsulated i.e., non-investigable through its interfaces
- A unit of independent deployment and versioning
[edit] Open Distributed Processing
Open Distributed Processing (ODP) combines the concepts of open systems and distributed computing, which are essential characteristics of service-orientation. The key features of ODP are all inherited by service-orientation, including federation, interoperability, heterogeneity, transparency and trading/broking.
[edit] Service-Orientation and Service-Oriented Design
The term “service-oriented design” is usually used when referencing a formal process (the service-oriented design process) for designing services for SOA. When used in general terms as an approach for designing solution logic as services for SOA, service-oriented design can be considered synonymous with service-orientation.
[edit] Future of Service-Orientation
Service-orientation has continued to receive increased recognition as an important part of the service-oriented computing landscape and a valid design approach to achieving service-oriented architecture. Note that service-orientation principles are commonly referred to as "SOA principles". Due to the range of interpretations given to the notion of SOA, it is not always clear what is exactly being discussed. Both Allen and Erl stress the aspect of Service Orientation as an encompassing paradigm, see the book of Allen and this interview with Erl (http://searchwebservices.techtarget.com/qna/0,289202,sid26_gci1189356,00.html).
[edit] Literature
- Allen, Paul (2006). Service Orientation, winning strategies and best practices. Cambridge, UK: Cambridge University Press. ISBN 13-978-0-521-84336-2.