Return to Home Page

Fundamental Design
Terminology and Concepts
    Introduction
    Design Characteristic
    Design Principle
    Design Paradigm
    Design Pattern
    Design Pattern Language
    Design Standard
    Best Practice

Elements of
Service-Oriented Computing
    Introduction
    Service-Oriented
Architecture (SOA)
    Services and
Service-Orientation
    Service Compositions
    Service Inventory
    A Conceptual View of
Service-Oriented Computing
    A Physical View of
Service-Oriented Computing

Goals and Benefits of
Service-Oriented Computing
    Introduction
    Increased Intrinsic Interoperability
    Increased Federation
    Increased Vendor Diversification Options
    Increased Business and Technology Domain Alignment
    Increased ROI
    Increased
Organizational Agility
    Reduced IT Burden

Service-Oriented Computing
in the Real World
    Services as Web Services
    About Web Services (Part I)
    About Web Services (Part II)
    Service Models and
Service Layers
    Service Inventory Blueprints
    Service-Oriented Analysis
    Service-Oriented Design

Additional Resources
    SOA Sites
    SOA Book Series
    SOA Training & Certification
    Free SOA Principles Poster
    Notification


Service-Oriented Computing in the Real World

About Web Services (Part II)

...continued from previous page
A typical Web service is comprised of the following:
- A physically decoupled technical service contract consisting of a WSDL definition, an XML schema definition, and possibly a WS-Policy definition. This service contract exposes public functions (called operations) and is therefore comparable to a traditional application programming interface (API).
- A body of programming logic. This logic may be custom-developed for the Web service, or it may exist as legacy logic that is being wrapped by a Web service in order for its functionality to be made available via Web services communication standards. In the case that logic is custom-developed, it generally is created as components and is referred to as the core service logic (or business logic).
- Message processing logic that exists as a combination of parsers, processors, and service agents. Much of this logic is provided by the runtime environment, but it can also be customized. The programs that carry out message-related processing are primarily event-driven and therefore can intercept a message subsequent to transmission or prior to receipt. It is common for multiple message processing programs to be invoked with every message exchange.


Figure: Three variations of a single Web service showing the different physical parts of its architecture that come into play, depending on the role it assumes at runtime.

A Web service can be associated with temporary roles, depending on its utilization at runtime. For example, it acts as a service provider when it receives and responds to request messages, but can also assume the role of service consumer when it is required to issue request messages to other Web services.

When Web services are positioned within service compositions, it is common for them to transition through service provider and service consumer roles. Note also that regular programs, components, and legacy systems can also act as service consumers as long as they are able to communicate using Web services standards.

This page contains excerpts from:

SOA: Principles of Service Design
by Thomas Erl

ISBN: 0132344823, Prentice Hall/PearsonPTR, Hardcover
240+ Full Color Illustrations, 573 pages

Download the free Color SOA Principles Poster at www.soaposters.com.
For more information about this book, visit
www.soabooks.com.
The Prentice Hall Service-Oriented Computing Series from Thomas Erl
Home    SOA Books    SOA Magazine    SOA School    SOA Principles    SOA Patterns    SOA Methodology    SOA Glossary    SOA Specs    Legal
Copyright © 2007-2008 SOA Systems Inc.