InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

The Open Group SOA Source Book

Posted by Boris Lublinsky on May 13, 2009

Sections
Enterprise Architecture
Topics
Governance ,
SOA ,
Enterprise Architecture
Tags
Services ,
TOGAF ,
Service Design ,
Service Contracts

 

The Open Group has just published SOA Source Book a snapshot of the work at The Open Group in standardization of SOA design and implementation. The book covers a lot of ground from SOA definition to SOA architecture and its relationship to the enterprise architecture to SOA Governance.

The book defines SOA as "an architectural style that supports service orientation". The main characteristics of a service, as defined by the book, are:

  • Is a logical representation of a repeatable business activity that has a specified outcome (e.g., check customer credit; provide weather data, consolidate drilling reports)
  • Is self-contained.
  • May be composed of other services.
  • Is a "black box" to consumers of the service.

And the most distinctive features of the SOA architectural style are:

  • It is based on the design of the services - which mirror real-world business activities - comprising the enterprise (or inter-enterprise) business processes.
  • .
  • Service representation utilizes business descriptions to provide context (i.e., business process, goal, rule, policy, service interface, and service component) and implements services using service orchestration.
  • .
  • It places unique requirements on the infrastructure - it is recommended that implementations use open standards to realize interoperability and location transparency.
  • .
  • Implementations are environment-specific - they are constrained or enabled by context and must be described within that context.
  • It requires strong governance of service representation and implementation.
  • It requires a "Litmus Test", which determines a "good service".

The book also defines the following main building blocks of SOA:

  • Service
    ...a repeatable activity that has a specified outcome. A service has a provider, can have one or more consumers, and produces effects that are of value to its consumers.
  • Business Processes
    ... an activity that is related to the enterprise's business mission and that is conducted in a defined, repeatable way. The software services of an SOA exist to support the enterprise's business processes. This relation can and should be symbiotic. Analysis of the business processes is the main way of identifying software services. On the other hand, the existence of the right software services enables new business processes to be developed, to meet new business opportunities.
  • Human Actors
    Human actors appear when business processes are modeled, and also in models showing other aspects of the system, such as management and security.
  • Events
    ... events appear when business processes are modeled, and also in models showing other aspects of the system, such as management and security.
  • Service Descriptions, Contracts, and Policies
    An important feature of services in SOA is that they have descriptions that state clearly what they do and how to interact with them. A service contract may be an implicit agreement that the service will conform to its description, or it may be a more formal agreement, which could be recorded in a signed internal enterprise document, or be a legal contract executed between enterprises. A service policy is a course of action that a service provider intends to follow in providing a service, or intends that the service consumers should follow. Service description, contract and policy building blocks appear in models that show how services are consumed. In SOA, this is a very important aspect of system implementation and operation.
  • Service Compositions
    Service composition is a provider's concept. It relates, not to what a service does, but to how it is performed. Services can be composed of other services. Business processes can be composed of services and other business processes. Service compositions appear in models that show how business processes are supported by services.
  • Information Items, Data Items, and Data Stores
    Data can be defined as "a re-interpretable representation of information in a formalised manner suitable for communication, interpretation or processing" ... they appear in models that show how services are performed, models that show how services are integrated with each other and with other system components, models that show how the architected system processes data, and in models showing other system aspects, such as performance, management, security, and governance.
  • As Richard Veryard states in his post:

    Most of the ideas in the SOA Sourcebook have been circulating around the SOA world for some time.

    They can be found, for example, at CBDI Service Oriented Architecture Practice Portal or Applied SOA: Service-Oriented Architecture and Design Strategies book. Nevertheless, as Antony Reynolds concludes, the book is a "... good place to start getting someone's head around SOA concepts. Well worth a look."

  • This article is part of a featured topic series on SOA

No comments

Watch Thread Reply

Educational Content

Jesper Boeg on Priming Kanban

In this interview, Jesper Boeg, author of the new InfoQ book – Priming Kanban, discusses the keys to using Kanban effectively, and how to get started if you are currently using other approaches.

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.