Skip to content

SOA Nomenclature

Leonard is looking for a formal definition of SOA. My colleague, Anne Thomas Manes, is a thought leader on this subject, and Burton Group clients and the industry as a whole tend to line up behind her definitions. I’ll share them here:

Service oriented architecture (SOA) is a software design discipline in which application and infrastructure functionality are implemented as shared, reusable services.

SOA is more about design and behavior than technology.

SOA is something an organization does—not something it buys or something it builds.

Admittedly, this is all kinda loosey-goosey and can describe most anything. In fact, a core tenet of Burton Group’s stance is that SOA is technology agnostic: you can create a SOA with CORBA or RMI or DCOM or SOAP or, some say, REST. However, the first definition of SOA given above and the first word in “service-oriented architecture” demand a definition of what a service actually is. People might argue this, but the only reasonable definition of a service is a network available collection of related operations. And an “operation” is an action (function/method) offered by the service that takes in a message or parameter list and generally returns some response. To be clear, however, while you can conceivably create a SOA using, say, RMI, in reality SOAP web services is both the recommended and assumed underlying technology.

Plugging this definition of a service into the SOA definition gives us:

Service oriented architecture (SOA) is a software design discipline in which application and infrastructure functionality are implemented as shared, reusable network available, collections of operations.

And this is where I part company with those that think that REST can be used as the underlying technology of a SOA. Sure, in the sense that SOA implies changes to how you think about designing applications or modifications to your SDLC, then fine. But a resource is not a service. A resource does not have arbitrary operations (that, by the way, have to be specified somewhere in the incoming message—and not in the HTTP headers, because SOAP is supposed to be transport agnostic). Stefan Tilkov put this into brilliant perspective when he demonstrated the differences between how people think about resources and how they think about services.

From this, we can also put to rest the notion that the choice between SOAP and REST is an implementation detail. How REST systems are architected at the resource level is fundamentally different from SOAP. And how REST leverages HTTP (URIs, response codes, caching) is fundamentally different from how SOAP leverages HTTP (as a tunnel).

Back to Leonard then. You can drop the name “Message-Oriented Architecture.” It is, as you noted, too similar to message-oriented middleware and it doesn’t properly reflect that other architecture. The name “SOA” works fine, so long as the “S” is defined. Further, I was being generous when I said that a service accepts either a message or a parameter list. While sending messages is considered best practice, today’s tools and today’s programmers still lean towards sending serialized objects (though serialized as document/literal messages).

ROA, while it doesn’t quite roll off the tongue, is also fine.

Leonard asks “Is it useful to distinguish between the typical robotic SOAP/WSDL interfaces autogenerated from Java or .NET code at the touch of a button, and the in potentia SOAP architecture that can be anything, even RESTful?”

Yes. Yes. Yes.

Stefan and Sam have both noted that you can craft a SOAP message with vi, and that SOAP can be considered orthogonal to WSDL, and that one can leverage the SOAP envelope while ignoring all the other baggage. This is technically all true. But you cannot ignore how SOAP and SOA are being sold and practiced. I’ve been briefed by SOA vendors of all stripes. I’ve sat in vendor sales calls with my customers. Heck, I have myself advocated a web services-based SOA. And this version of SOA assumes SOAP and WSDL and UDDI, and XML Schema, and WS-Whatever, and web service management tools, and enterprise service busses, and web service platforms, and so on ad nauseum. I don’t want to harp on this, but it’s wishful thinking at best and disingenuous at worse to assume that SOAP and SOA can be divorced from this reality.

And to answer the final question about how to categorize those not quite RESTful, HTTP+POX services so commonly found out there. They should be classified as aberrations, as devoid of architecture, and as an example of how not to do things (while acknowledging they work). I direct you once again to Duncan Cragg’s coinage of the term STREST.

{ 8 } Comments

  1. Duncan Cragg | November 10, 2006 at 8:55 am | Permalink

    Just to close the loop (thanks for the mentions, BTW!!), I was one of the ones who complained by email about the use of the word ’service’ in the REST context. =0)

    Naming seems like a trivial issue, but it has to be sorted out before communication can occur…

    I like ‘ROA’, to (a) pitch opposite SOA, and (b) to distance us pragmatists from those who peddle pedantry and other people’s PhDs!

    I think the latter have had their chance and failed - perhaps modulo Atom Publishing Protocol - from a distance.

  2. Pete | November 10, 2006 at 11:41 am | Permalink

    …those who peddle pedantry and other people’s PhDs!

    Duncan, you have a way with words.

  3. toms shoes sale | June 21, 2013 at 10:04 am | Permalink

    Its my luck to visit at this blog Pete Lacey’s Weblog : SOA Nomenclature and find out my required paragraph along with video demo, that YouTube video and its also in quality. toms shoes sale http://www.voguetoms.com/2013-new-arrival-toms-shoes-c-1.html

  4. candy crush | November 9, 2013 at 12:28 am | Permalink

    Bianca produces a phone call to Professor Juniper to share with her that her Minccino learned Thunderbolt, but Ash interrupts
    her. Gamer Speakers - Many video game titles employ multichannel surround sound technologies and sophisticated audio
    tracks to boost the game experience. Bioware and EA permit someone to live out their childhood dream about being a Jedi
    like Obi Wan, or dig up their enemies as Bobba Fett.

  5. sale tiffany | February 9, 2014 at 5:14 pm | Permalink

    tiffany outlet store
    sale tiffany http://www.sgra.info/mgmt/tiffany/sale-tiffany.html

  6. nike air jordan pas cher | February 28, 2014 at 5:23 am | Permalink

    ” for instance.7 “What I Learned From Trying Out for Playboy”–headline, and being schooled by Fox host Megyn Kelly–apparently had a panic attack today over Texas state Sen. In Moscow,”The Russians needed to understand that they can’t just push the United States around and yet have business as usual, everything from West Africa South Asia .. an enraged the AQ AP be the top hat in the Arabian Peninsula groups there ..The program faces challenges from tightening budgets, In October, Thoreau’s words.
    nike air jordan pas cher http://www.bcastronomy.com/fr/Nike-Air-Jordan-Fr.php

  7. wizard101 crown | April 17, 2014 at 9:37 pm | Permalink

    This is why Facebook games are becoming more popular.
    Article Source: Media is a creative design group that specializes in Video Marketing, Website Design, Search
    Engine Optimization, Graphic Design, and Social Media Marketing.
    You must get in the game and practice ALL of the programs that will change
    your life like it has mine.

  8. Ray Ban Wayfarer Blancas | June 1, 2014 at 7:21 pm | Permalink

    That’s a very good point of view, however is just not create any kind of sence at all discussing this mather. Any kind of approach thanks as well as i had try to promote the publish towards delicius but it really is very a lot a difficulty with your blogging on earth do you you should recheck this. many thanks once once more.

Post a Comment

Your email is never published nor shared. Required fields are marked *