Service-orientation
Encyclopedia
Service-orientation is a design paradigm
Design paradigm
The term Design paradigm derives from the rather ambiguous idea of paradigm originating in Sociology of Science, which carries at least two main meanings:...

 to build computer software
Computer software
Computer software, or just software, is a collection of computer programs and related data that provide the instructions for telling a computer what to do and how to do it....

 in the form of services. Like other design paradigms (e.g. object-orientation
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...

), service-orientation provides a governing approach to automate business logic
Business logic
Business logic, or domain logic, is a non-technical term generally used to describe the functional algorithms that handle information exchange between a database and a user interface.- Scope of business logic :Business logic:...

 as distributed systems. What distinguishes service-orientation is its set of design principles
Service-Orientation Design Principles
The concept of service-orientation revolves around a set of principlesthat shape the development of the solution logic encompassed by a service. These principles are known as the service-orientation design principles....

 to ensure the manner in which it carries out the separation of concerns
Separation of concerns
In computer science, separation of concerns is the process of separating a computer program into distinct features that overlap in functionality as little as possible. A concern is any piece of interest or focus in a program. Typically, concerns are synonymous with features or behaviors...

 in the software. A service-oriented architecture
Service-oriented architecture
In software engineering, a Service-Oriented Architecture is a set of principles and methodologies for designing and developing software in the form of interoperable services. These services are well-defined business functionalities that are built as software components that can be reused for...

 (SOA) is governed by these principles. Applying service-orientation results in units of software partitioned into operational capabilities, each designed to solve an individual concern. These units qualify as services.

Service-orientation has received a lot of attention since 2005 due to the benefits it promises. These include increased return on investment
Return on investment
Return on investment is one way of considering profits in relation to capital invested. Return on assets , return on net assets , return on capital and return on invested capital are similar measures with variations on how “investment” is defined.Marketing not only influences net profits but also...

, organisational agility
Agility
* Agility is a physical trait of an animal or person, and a component of physical fitness. It is the ability to change the body's position and direction with speed and precision.Agility may also refer to:In Sport:...

 and interoperability
Interoperability
Interoperability is a property referring to the ability of diverse systems and organizations to work together . The term is often used in a technical systems engineering sense, or alternatively in a broad sense, taking into account social, political, and organizational factors that impact system to...

 as well as a better alignment between business and IT
Information technology
Information technology is the acquisition, processing, storage and dissemination of vocal, pictorial, textual and numerical information by a microelectronics-based combination of computing and telecommunications...

. It builds heavily on earlier design paradigms and enhances them with standardisation, loose coupling and business involvement.

History of service-orientation principles and tenets

In technology, different vendor SOA
Service-oriented architecture
In software engineering, a Service-Oriented Architecture is a set of principles and methodologies for designing and developing software in the form of interoperable services. These services are well-defined business functionalities that are built as software components that can be reused for...

 platforms have used different definitions of service-orientation. Some vendors promote different principles and tenets over others, but a fair amount of commonality exists.

Don Box
Don Box
Don Box is a Distinguished Engineer currently working at Microsoft.Along with Bob Atkinson, Mohsen Al-Ghosein, and Dave Winer, Don was one of the original four designers of SOAP, a basic messaging layer for web services....

 of Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 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 (subsequently Windows Communication Foundation
Windows Communication Foundation
The Windows Communication Foundation , previously known as "Indigo", is an application programming interface in the .NET Framework for building connected, service-oriented applications.-The architectures:...

) platform that was emerging at the time:
  1. Boundaries are explicit
  2. Services are autonomous
  3. Services share schema and contract, not class
  4. Service compatibility is based on policy


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 published on MSDN
Microsoft Developer Network
The Microsoft Developer Network is the portion of Microsoft responsible for managing the firm's relationship with developers and testers: hardware developers interested in the operating system , developers standing on the various OS platforms, developers using the API and scripting languages of...

 in 2004.

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
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

 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


Allen's book defines seven Service-Oriented Viewpoints (labelled SOV7):
  1. Transparence
  2. Customer fit
  3. Partner connectivity
  4. Adaptation
  5. Multi-channel capability
  6. Optimization
  7. 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.

Antecedents

Service-orientation inherits a number of principles from earlier paradigms including object-orientation, component-based software engineering and open distributed processing.

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.

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

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.

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
Service-oriented architecture
In software engineering, a Service-Oriented Architecture is a set of principles and methodologies for designing and developing software in the form of interoperable services. These services are well-defined business functionalities that are built as software components that can be reused for...

. 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.

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
Service-oriented architecture
In software engineering, a Service-Oriented Architecture is a set of principles and methodologies for designing and developing software in the form of interoperable services. These services are well-defined business functionalities that are built as software components that can be reused for...

. 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 Thomas Erl
Thomas Erl
Thomas Erl is a Canadian author, and public speaker known as a major contributor in the fields of service-oriented architecture, service-orientation and cloud computing.- Biography :...

 (http://searchwebservices.techtarget.com/qna/0,289202,sid26_gci1189356,00.html).

See also

  • Service-oriented architecture
    Service-oriented architecture
    In software engineering, a Service-Oriented Architecture is a set of principles and methodologies for designing and developing software in the form of interoperable services. These services are well-defined business functionalities that are built as software components that can be reused for...

     (SOA)
  • Service-oriented analysis and design
  • Service-oriented modeling
    Service-oriented modeling
    Service-oriented modeling is the discipline of modeling business and software systems, for the purpose of designing and specifying service-oriented business systems within a variety of architectural styles, such as enterprise architecture, application architecture, service-oriented architecture,...

  • Separation of concerns
    Separation of concerns
    In computer science, separation of concerns is the process of separating a computer program into distinct features that overlap in functionality as little as possible. A concern is any piece of interest or focus in a program. Typically, concerns are synonymous with features or behaviors...

  • Business Process Network
    Business Process Network
    Business process networks , also referred to as business service networks or business process hubs, enable the efficient execution of multi-enterprise operational processes, including supply chain planning and execution...

  • Chemical Leasing
    Chemical leasing
    In the chemical industry, chemical leasing is a business model in which the chemical company supplies a substance for a specific service, but retains ownership of the chemical. It is intended to shift the focus from increasing sales volume of chemicals towards a value added approach...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK