Skip to content
Solely for the Purpose of Catching $PAMRZ

Defining “Service Oriented Architecture” by Analogy

This post is the first in a series over the next few days that in total will attempt to lay the groundwork for a discussion of applying the Service Oriented Architecture (or SOA) software design pattern to systems and solutions in the library space. It starts with comparing the SOA concept with a multi-modal transportation network. Subsequent posts will outline use cases and describe how SOA can be applied to libraries.

An Analogy: Transportation

Imagine for a moment that you have a goal to get from your house in Cleveland, Ohio, to a hotel in Denver, Colorado. How might you accomplish this? Perhaps you will drive in your car to off-site parking near an airport. You’ll park your car and ride a shuttle bus to the airport where (if you successfully get through security) you board an airplane for Denver. When you get off, you walk to the taxi stand and take a taxi to the hotel.

Each of these modes of transportation — your car, the shuttle bus, the airplane, and the taxi — came together as you needed them. Or, said another way, when you set out from your home in Cleveland, you had not specified the entire transportation network from exactly which shuttle bus you would take to exactly which taxi you would use. In addition, at the intersection of each of these transportation modes — where one mode stopped and you were not yet at your goal — there is likely more than one option you can use that will take you a step closer to your destination. For example, you could have started from your house with a walk to a light rail station that took you directly into the airport terminal, thus eliminating the car ride and the shuttle bus.

In this analogy, one could call the transportation modes “services.” A service can be defined as “the capability to perform work for another, the specification of the work offered for another, and the offer to perform work for another.” 1 The car, airplane, bus, taxi, and light rail are all services used to reach the end goal.

Definition

In the same way that the airplane, bus, taxi, and/or light rail came together to form a transportation conglomerate, we can combine units of software applications in new ways to reach goals. This pattern of combining pieces to reach a whole is called “Service Oriented Architecture.” For a formal definition, one can turn to the OASIS Reference Model for Service-Oriented Architecture which says

Service Oriented Architecture (SOA) is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. 2

But what of another alternative to our transportation analogy — you could have driven your car the entire way from Cleveland to Denver, right? That is a single service that would certainly allow you to reach your end goal. Is it the most efficient way, though? The cheapest, fastest, safest? To continue the analogy into SOA, reaching your goal in this way is like “hard coding” an application to do only one thing. By making this choice to structure the solution as a single path, options that may be cheaper and more efficient over some portion of the solution are eliminated.

There are several key aspects to pull out of the OASIS 3 definition that distinguish a multi-modal system from a single tool solution. First is “distributed capabilities” — the concept that the solution’s components are not collocated. In the transportation analogy, the car, bus, airplane, and taxi are spread across the continent. In a system based on the SOA concepts, services are spread across the network. A corollary to the “distributed capabilities” concept is that the components are found and brought together on an ad hoc basis. Just as the how the shuttle bus, airplane, and taxi were brought together in the right sequence of time and space, components of of an SOA system can be discovered and linked at the time of the request of service. In a static system, as with the car-only analogy, the components are pre-defined to run in a single pattern within a closed system.

The second distinguishing characteristic is arguably more important than the first: the distributed components of the SOA system “may be under the control of different ownership domains.” Back to the analogy — there isn’t one entity that owns the car, the bus, the airplane and the taxi. Yet these components, in spite of different business rules and schedules, come together in a solution to transport you from here to there. The same is true in SOA systems; in an e-commerce transaction that results in the shipping of a Bose QuietComfort 2 Noise-Canceling Headset from Amazon.com to your home, you can bet that as part of the execution of that request there are communication between Amazon’s order fulfillment services and UPS’s shipping manifest services.

Next up…

The next posting in this series will look at a few use cases and begin to describe the granularity of the term “service” in an SOA.

Footnotes

  1. OASIS Reference Model for Service-Oriented Architecture, Committee Specification 1, dated 2 Aug 2006, lines 169-171. The document was retrieved from http://www.oasis-open.org/committees/download.php/19679/soa-rm-cs.pdf on 18-Sep-2006. []
  2. A product of the OASIS Service Oriented Architecture Reference Model Technical Committee (abbreviated as OASIS SOA-RM TC), Committee Specification 1, dated 2 Aug 2006, lines 128-129. The document was retrieved from http://www.oasis-open.org/committees/download.php/19679/soa-rm-cs.pdf on 18-Sep-2006. []
  3. OASIS is the Organization for the Advancement of Structured Information Standards — a not-for-profit, international consortium that sponsors the development and adoption of standards for security, e-business, and for public sector and application-specific markets. []
(This post was updated on 20-Sep-2006.)

1 Comment

  1. K.G. Schneider | September 19, 2006 at 9:10 pm | Permalink

    I think I see where you’re going with this. Don’t stop, the suspense is killing me!!

12 Trackbacks

  1. dzone: fresh links for developers | September 19, 2006 at 4:44 am | Permalink

    Kramer auto Pingback[...] 7 votes [...]

  2. panlibus | September 20, 2006 at 9:38 am | Permalink

    Kramer auto Pingback[...] Firstly I would recommend a read of the first post in Peter’s series, ‘Defining “Service Oriented Architecture” by Analogy’ which uses a transportation scenario to help enlighten the reader about what is meant by a Service Oriented Architecture. - Is it more efficient to just get in your car and drive from your home in Cleveland, Ohio to a hotel in Denver Colorado, or do you use the car, bus, plane, and taxi to achieve your goal. Never having driven that journey (except once in 1976 via Austin Texas, Phoenix, LA, San Fransisco, and Seattle - but that is another story!) I don’t know if that was the right analogy for me, but nevertheless it does work. [...]

  3. /home/nicomo/pro/notes | September 21, 2006 at 6:51 am | Permalink

    Service Oriented Architecture - le système d’information multimodal…

    Je commence à réfléchir à la façon dont je peux rédiger de façon pédagogique, synthétique et “politique” les objectifs de la BU d’Angers en terme de Système d’Info Doc. C’est pour le Contrat Quadriennal. Je pourr…

  4. Kramer auto Pingback[...] Service Oriented Architecture [...]

  5. Web services in Libraries « David, the Blog | September 26, 2006 at 5:10 pm | Permalink

    [...] Defining “Service Oriented Architecture” by Analogy [...]

  6. pintiniblog | October 10, 2006 at 3:25 am | Permalink

    Intégrer les dépôts et les autres outils de l’université…

    Rice University et IBM vont développer une plate-forme basée sur des standards OA afin d’intégrer les dépôts OA et les autres outils open source de l’université (tels que les packages de gestion des cours). Cette plate-forme s’appuie sur le mo…

  7. Kramer auto Pingback[...] http://dltj.org/2006/09/defining-soa-by-analogy/ (part 1 of a 3-part library-focused series; see also part 2 and part 3) [...]

  8. Kramer auto Pingback[...] An excellent analogy used to explain multi-core (dual core, quad core, 8 core and 16 core, etc.) given by Jonathan Schwartz, reminds me of the hyper parallel nature of Java and JEE (JCAPS) based SOA that is emerging as the defacto standard. The same analogy of Cars and Buses are used here to explain SOA as well. If I extrapolate this transportation analogy to explain the relationship between SOA and all the related acronyms;SOBA - Service Oriented Business Architecture (JBI)SOCA - Service Oriented Component Architecture (or SCA)SODA - Service Oriented Device Architecture (JME)SOEA - Service Oriented Enterprise ArchitectureSOFA - Service Oriented Framework ArchitectureSOGA - Service Oriented Governance Architecture (IBM)SOIA - Service Oriented Information Architecture (Oracle)SONA - Service Oriented Network Architecture (Cisco)SOSA - Service Oriented Security Architecture (ICA)It might sound silly but the Orientation is important to align Business Architecture, with Information Architecture to Application Architecture to Infrastructure Architecture and more. Alignment leads to Agility as explained by Dr. Chris Harding. Similar to the Total Vehicle Alignment needed in a Transportation Vehicle to Steer the Vehicle in the Direction we need to head. Systemic Alignment in Architecture speak to Steer the Enterprise in the Direction we need to head and ofcourse ICA (SOSA) is the Axel of Alignment that touches all these 9 dimensions (topic for another blog entry). [...]

  9. [...] I am pleased to announce the formation of Planet Library SOA — an aggregation of blog postings and resources related to the application of the Service-Oriented Architecture (SOA) software paradigm to library systems. You can follow the topic by reading the aggregation website, but the best way to follow along is by subscribing to one of the feeds (atom, rss1.0 or rss2.0) in your favorite newsreader. Those in the conversation at the beginning are Eric Schnell, Lorcan Dempsey, Richard Akerman, Stephen Anthony, and the Talis corporate blog. If you are looking for an introduction to the SOA topic with a slant towards library services, I humbly suggest you read my series on DLTJ starting with Defining “Service Oriented Architecture” by Analogy. [...]

  10. Digital Library Technologies | July 2, 2007 at 10:37 am | Permalink

    Kramer auto Pingback[...] useful three part article by Peter Murray (aka the Disruptive Library Technology Jester) that first defines SOA, then shows how it would work with WorldCat as an example, and finally how it would enable the [...]

  11. The Medium is the Message | July 23, 2007 at 9:32 am | Permalink

    links from Technorati. Sebastopol, CA : O’Reilly. 2002. Dempsey, Lorcan. The network reconfigures the library systems environment. (July 6, 2007). Iverson, Will. Real world web services. Sebastopol : O’Reilly, 2004. Murray, Peter. Defining “service oriented architecture” by analogy. (Sept 18, 2006). van Veen, Theo. Serving services in web 2.0. Ariadne (April 2006) 47. Wallace, Richard. The future is in web services. Panlibus (July 18. 2007). CONTENTS: Part One: Introduction Part Two: What We Have Today

  12. Kramer auto Pingback[...] to Peter Murray’s article and Richard Akerman’s Access_2006 presentation that first inspired my SOA [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *
Human Detection Scheme
(What's this?)
Comment Preview

Subscribe without commenting

From the Disruptive Library Technology Jester (http://dltj.org/), printed on Sunday the 12th of October 2008 at 3:15:43 PM EDT (-0400). The URL to this page is http://dltj.org/article/defining-soa-by-analogy/

[Creative Commons Logo] This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/us/ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.