Day of the Dove

, Dec 23, 2006

Another great post by Pete Lacey.

A good argument introduced in a recent discussion thread (I’ll try to dig up the reference) was that if your existing backends expose a coarse-grained interface, let’s say via CORBA, the move towards WS-* is not as big as the one towards REST. I think I agree — adopting REST principles will ultimately lead to more advantages, but I don’t think there’s a doubt that at least in many occasions, the necessary investment is higher.

On December 24, 2006 5:26 PM, Eric Newcomer said:

Yes, we often have customers of our CORBA products whose management team will come up with suggestions like “why don’t we just replace CORBA with Web services?”

We usually recommend against this for two reasons: it does not make sense to reinvest in implementing the same business functionality if what you already have is meeting your needs it will end up costing you a lot to get back the same business value in a new technology, and it is likely that other investments will give you a greater return (kind of economic argument) — and second Web services are basically just interfacing and interoperability technologies, they are not a complete environment in and of themselves. If you want to host your Web services on a CORBA environment, you can do that, in whole or in part, whatever best meets your requirements. You don’t need to look at this as a “all or nothing” type of proposition, they way you might have viewed a proposed transition to JEE from CORBA, for example.

On the question of what’s a better fit, I also think that’s very important. When I first started looking at Web services, I thought the RPC-style was there to fit with RPC based applications, and the document-style was there to fit with asynchronous messaging based applications.

I realize more emphasis on RPC has somehow crept into implementations, but I believe there are also multiple implementations of asynchronous style Web services that to me are pretty much just interfaces into MOM based applications.

Despite SOAP etc. being modeled abstractly enough to fit both styles, few tools seem to have attempted to really implement Web services this way, with the possible exception of JBI’s message abstraction layer.

I think this adds to the confusion, and I think it’s unfortunate that the tools do not typically implement Web services more abstractly (and yes, I know, my employer’s tools have tended to fall into that trap as well - the sort of customer push toward incremental adoption of a new interfacing technology) but we are working to fix that, starting with our open source projects.

On January 8, 2007 8:05 AM, Stefan Tilkov said:

Sorry for the late reply. You are right, the point with regards to MOM-based architectures is just as valid — if a system already exposes a message-oriented interface, adding a Web services layer (using appropriate tools) might be an option too.