SOA vs Web 2.0? This is just nuts

UPDATE:  I’ve been thinking and posting more about this topic here (further defining SOA and Web 2.0 and how they inter-relate) and here (what I believe is the solution–which doesn’t exist, yet–for fixing this "misunderstanding).

There’s been a lot of discussion lately about "SOA vs. Web 2.0".  See these posts by John Hagel and Jeff Nolan.  This is just wrong, wrong, wrong.

In my eyes they are the EXACT SAME THING.  This debate about REST vs. SOA, is completely off base.  You’re debating about what method the user interface should use to access services.  A service is a service, it doesn’t matter if it’s called using SOAP or REST or a freakin’ TCP/IP socket.

The real point is, the software needs to be written as a service.  If it’s built properly (and this is very important, as certain Web 2.0 companies <cough>37signals</cough> have basically derided proper, loosely coupled, software architecture as limiting) you can throw another interface facade on top of the logic code an expose your service whichever way you want.  Hell, if I decide I want to expose my service via smoke signals tomorrow, all I have to do is write a smoke signal interface for the business logic layer of my application.  Not that there’s anybody to consume it, but hey, when the smoke signal guys get all up in arms about it I can be the first vendor to embrace their standard :)

There are already mechanisms out there for rich Web clients to consume SOAP services, REST just happens to be the most popular mechanism to access services by a browser right now for whatever reason.  I personally like SOAP 100x better than REST, I think it’s more enterprise-ready, and there are many, many specs out there for extending it and making it secure.  But really, WHO CARES what an app uses to access a service?

To clarify:  when a Web 2.0 app makes an HTTP request in the background to get data, it’s calling a service of some type.  When you click submit and it updates data in the background, it’s calling a service of some type.  Now, there are exceptions, such as when a Web app makes a direct call to a business logic layer, but the entire point of Web 2.0 and AJAX is that you’re trying to avoid round-trips to the server, which is where most of that happens. 

The real problem is people who don’t understand both camps trying to have a debate about why they’re right and the other guy is wrong.  How can you debate something you don’t understand?  You’re both saying the same thing, just in a different language.

Share and Enjoy:
  • Print
  • Digg
  • Facebook
  • Google Bookmarks
  • HackerNews
  • Reddit
  • http://blogs.zdnet.com/Hinchcliffe Dion Hinchcliffe

    Jason,

    In this author's humble opinion you are oversimplifying the problem, and reducing it to purely Web services terms.

    Web 2.0 is about an architecture of participation, applications as platforms, bring-your-own-content (ala flickr, del.icio.us, MySpace), and rich user experiences.

    SOA is about a service-centric view of things that also turns applications into platforms. But it is missing a lot of the important things that Web 2.0 offers.

    So there is definitely overlap, but they are also different in their respective overall visions and each camp could learn a something from the other (though SOA could learn a lot more from Web 2.0 if you ask me.)

    Furthermore, the world of Web 2.0 is moving so much more quickly that it's unlikely that the SOA world will ever be able to respond and will likely remain an interesting side phenomonon, particularly as the vision for SOA is so services-based. Whereas Web 2.0 is much about centrality of people and their data (but also, over services.)

    That's my take on the whole argument. But you can see, REST vs. SOAP is not the center of it.

    Best,

    Dion Hinchcliffe

  • http://profile.typekey.com/jasonkolb/ jasonkolb

    Good points, all.

    The main thing that I think people are missing, however, is that there is a LOT of overlap between the two. If we're talking about ideologies, however, then yes, Web 2.0 is much more user-centric, and yes I agree 100% that those in the "pure SOA" camp need to pay attention to that and realize that it brings a lot of value to end users. My main point was that SOA and Web 2.0 are in no way mutually exclusive, and one isn't going to "win" over the other–there's just no way to keep score :)

  • http://www.jroller.com/page/balaria Abhishek Balaria

    Well, I completely agree that architecturally Web 2.0 and SOA are exactly the same thing. And there is a big overlap even in the implementation technologies, in the Enterprise SOA you have Web Services, AJAX based rich interfaces and even Wikis (e.g. confluence). The big different I see is in the manageability and control over these services. As a mashup you have no SLA with Google Maps or Amazon and what happens if Google just decides to change the API or make other changes that break your mashup. Saying "don't be evil" is not a good enough SLA :-)

    Shameless promotion: I have been posting similar thoughts on my blog @ http://jroller.com/page/balaria?entry=web_2_0_and_soa

  • http://profile.typepad.com/satpal12021 satpal

    Hi,
    Saltmarch Media is organizing its 3rd Edition of Business Technology Summit 2010 on 11 Nov 2010 to 12 Nov 2010. The Summit will focus on Soa, SaaS, PaaS, Cloud Computing and web services. Its a two day summit which will take place in Nimhans Convention Centre, Bangalore. For more details log on to btsummit dot com