SOA and RESTful Data Services

For the longest time I have been a strong advocate of focusing on the data within SOA.

Too many of the early SOA advocates seemed to focus on the functionality exposed through a service and regard the data of secondary importance (almost as a side-effect of the function).  This tendency is not surprising as it comfortably fits within the way much code is written – sequencing function calls to achieve the goal.  However extending this into SOA undersells the value of good service design.  As Steve Jones puts it (talking about the same phenomenon of using services as BPM steps) :

“To be 100% crystal clear. If you are doing BPM and then just saying “step = service” then you are doing VISUAL Cobol and replacing function calls with service. The fact that you are using WS-* or XML does not make these elements services.”

It is probably fair to say that data modelling is now accepted as a normal mainstream SOA activity (I have previously written about data modelling in SOA here).  How to balance between the data and functional perspectives will depend on your organization as I said here:

“the balance between focus on the data exposed through the service and focus on the functionality exposed through the service depends on the type of organization and type of integration you require. If you business tends towards business processes which are primarily multi-step coordinations across applications which are self contained and transmit little data between them – then the predominantly functional approach suits. However, if your business shares and exchanges large amounts of data between the applications – then that emphasis on data must be incorporated within your SOA.”

If yours is a very data centric architecture, is the “classic” SOA approach suitable as it is often very function centric?  A recent Burton Group report suggested that a different approach may be needed:

“Because the REST style, unlike object oriented programming styles, is all about naming things with Uniform Resource Identifiers (URIs) so they can be retrieved, it is uniquely suited for creating data services applications, he said”

I do believe that it is necessary to bring an open-mind to the selection of architectures and technologies when implementing SOA and in particular moving beyond only using the often very function centric approaches provided by some SOA software vendors.  However, I would dispute that “Data Services” can be seen as truly distinct from whatever the alternative is (“Function Services” perhaps?).  All services exist somewhere along a gradient between function and data and in most cases the final implementation must deal with a range of services along that gradient.  With regard to the specific of REST as an alternative to SOAP and Web Services in general, my conclusion is you can use both to achieve many goals and both have there pluses and minuses (shock) -  there have been great discussions on the issue in the Integration Consortium web-site.

And finally, quoting again from the article on the Burton report …

“While acknowledging that everyone is “up to here” with buzzwords, Lacey offered yet another one, resource-oriented architecture (ROA), for data services using REST. ‘If REST is a style then a resource-oriented architecture is an implementation of that style in the same way that if object-oriented programming is a style, then Java is an implementation,’ Lacey said. ‘resource-oriented architecture is REST applied to the real world.’”

If anybody attempts to use ROA (Resource Oriented Architecture) as an acronym again, I will be onto fellow analysts MWD to start a new petition as we did last time for SOA2.0!

Ronan

Post to Twitter Post to Delicious Post to Facebook Post to LinkedIn

Comments are closed.


Twitter Goodies

Recent Comments

  • Gravatar icon of AJ Brown AJ Brown
    November 1, 2010 (8:36)
    CICS and PHP - DON'T PANIC It's great to see transactional support of any kind for a cloud language... be it PHP or not (whi...
  • Gravatar icon of Vivekanand Kurdikeri Vivekanand Kurdikeri
    July 16, 2010 (12:41)
    Does Micro Focus Server for SOA miss the point? I think Micro Focus has done a tremodeous introduction of Web Service from a COBOL. May not be a ...
  • Gravatar icon of Ian J Mitchell Ian J Mitchell
    June 15, 2010 (6:14)
    CICS and PHP - DON'T PANIC Hi Steve, Well, we don't actually *demand* that you host the PHP in regions separate to those ru...
  • Gravatar icon of Rick Warren Rick Warren
    April 3, 2010 (12:27)
    AMQP - Great idea, but it will never work As someone who has worked on DDS from an implementation perspective as well as an OMG standards p...
  • Gravatar icon of Steve Craggs Steve Craggs
    December 12, 2009 (9:15)
    Did Teilhard's JuxtaComm patent wipe out IBM, Microsoft and SAP? Subsequent to my post, the Calgary Herald ran an article (http://www.calgaryherald.com/business/P...
  • Gravatar icon of John O'Hara John O'Hara
    December 10, 2009 (9:01)
    AMQP - Great idea, but it will never work Now, this is a late reply! @Thorlin. I looked at DDS before embarking on AMQP (I also looked a...
  • Gravatar icon of Jeff Darcy Jeff Darcy
    December 7, 2009 (2:40)
    Come in Texas East District Court, your time is up The important thing to remember about patents is that they're all about the claims. While the bu...
  • Gravatar icon of Emil Emil
    October 27, 2009 (9:08)
    BAM vs BI Good article. Thanks, Emil
  • Gravatar icon of Business Opportunities Business Opportunities
    October 23, 2009 (11:04)
    So Oracle got Sun - but why? Oracle has stepped up the rhetoric when it comes to its plans for Sun. In a message to Sun custom...
  • Gravatar icon of Gaurav Agarwal Gaurav Agarwal
    September 16, 2009 (1:15)
    IBM gets Cognos to fill the gaps IBM has two BAM solutions now Cognos Now! and Websphere Business Monitor. Why two BAM solutions f...