InfoQ

Interview

Jim Webber on "Guerilla SOA"

Interview with Jim Webber on Aug 24, 2007 02:26 AM

Community
SOA
Topics
Web Services ,
REST ,
WS Standards
Tags
MEST ,
WSDL ,
SSDL ,
SOAP
Summary
In this interview, recorded at QCon London, Jim Webber, ThoughtWorks SOA practice leader talks to Stefan Tilkov about Guerilla SOA, a lightweight approach to SOA that does not rely on big middleware products, a message-oriented architectural style called MEST and its differences to REST, and the SOAP Service Description Language (SSDL).

Bio
Dr. Jim Webber is the SOA Practice lead for ThoughtWorks, where he works on Web Services-based systems for clients worldwide. He has extensive Web Services architecture and development experience and was the lead developer with Hewlett-Packard on the industry's first Web Services Transaction solution. Jim is is co-author of the book "Developing Enterprise Web Services - An Architect's Guide."
This is Stefan Tilkov at QCon and I am interviewing Jim Webber. Can you tell us a bit about yourself?
So the title of your talk here at QCon is "Guerilla SOA". Can you tell us a little bit about what that is supposed to mean?
So is this something that is only usable in smaller scenarios or does it scale up to big deployments or big scenarios?
It sounds a little different than the approach prioritized by some of the vendors, I think. So is this approach compatible with large scale middleware products as well?
So you mentioned tight coupling as a risk. Can you elaborate on that?
So what would be an alternative to that approach?
Yes you said that we actually have the same problems we had with CORBA but we now have them with a different type of technology. Do you have an idea of what we could do instead?
So you mentioned services and messages as two abstractions? What about operations?
So for this to work all of the information that the other party needs to process this information has to be within that message?
As you mentioned REST, I just have to ask how do you compare the two, MEST and REST? Where are the commonalities and where are the differences?
What you described actually seems to fit very nicely with the ideas behind SOAP and you also mentioned WS-Addressing. It just doesn't exactly seem to match WSDL.
So is SSDL a standard?
Are there any implementations of SSDL yet?
Any hope of a similar thing for Java yet?
What do you see the industry moving towards with regards to these issues? Do you think that the RPC abstraction or the RPC style is going to still remain the most widespread style or do you think that the ideas are going to become more important?
When you mentioned that REST has this uniform interface with a set of operations and MEST similarly has one operation. Is this really an operation with application meaning? Isn't just an operation that is so uniform that it seizes to mean anything at all?
But in the REST world the idea behind that uniform interface seems to be that you can actually optimize the infrastructure based on those operations so you can do something different for a GET than you do for a POST. To do something similar on the MEST world you would have to look inside the XML and define somewhere what different types of XML messages you exchange.
When REST people criticize the WSDL folks, they point to WSDL 2.0, and say everything is better there and actually WSDL 2.0 can be used in some way to describe REST. Do you think WSDL 2.0 is an improvement over WSDL with regards to the RPC centricity?
show all  show all
RE: MEST by Jan Vegt Posted Aug 25, 2007 4:43 PM
Links to references by Joshua Graham Posted Aug 28, 2007 3:22 PM
Seems not that new by Stefano Pogliani Posted Sep 8, 2007 6:22 PM
A different approach with difference strenghts and weaknesses by Johannes Brodwall Posted Sep 13, 2008 7:56 PM
  1. Back to top

    RE: MEST

    Aug 25, 2007 4:43 PM by Jan Vegt

    Based on experiences in SOA projects for the past few years as a Business/EAI/Data architect I am very impressed with the MEST idea. In the excellent interview with Anne Thomas Manes a few weeks ago here on InfoQ almost everything she said made a lot sense (in reference to my own experience) apart from one thing: this central notion and importance of type. Personally I think the MEST approach is a convincing answer. Thanks very much for publishing this interview, Jan ( Jan Vegt, 42, The Netherlands )

  2. Back to top

    Links to references

    Aug 28, 2007 3:22 PM by Joshua Graham

    My blog entry about this interview includes links to some of the sites and people Jim mentioned. http://grahamis.com/blog/2007/08/25/soa-101/

  3. Back to top

    Seems not that new

    Sep 8, 2007 6:22 PM by Stefano Pogliani

    What you describe here resembles very much to: 1. ebXML, for the message-oriented framework with Business Messages focus 2. WSCI, as a way to describe long-running conversations Where are the differences between what you describve here and what I pointed out? Thanks a lot Regards /Stefano

  4. RPC is highly coupled and often unrobust. On the other hand, message style requires a lot of work to do simple things. The design of a web system that uses a message-oriented style to query a data oriented services is not pretty.

    The danger of RPC style is that we use it to integrate systems that should be decoupled. The danger of messaging style is if we use it to distribute things that really should be colocated. Fowler's first law of distributed computing will always be relevant. Let's stop using shining new tools as an excuse to ignore it.

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.