“SOAP is really just another RPC protocol” ???

I just read this opinion article on “Are Web Services the New CORBA?” (Via Mark)

“SOAP is really just another RPC protocol”? How can a specification about how to process messages in a particular format without any request-response semantics, without any dispatching semantics, without any notion of a procedure and parameters, be associated with RPC? This is like saying that XHTML is another RPC protocol.

I don’t disagree with the entire commentary; indeed, many in the community are treating Web Services as the new CORBA. However, some of the WS-* protocols can be more naturally used to build service-oriented, message-focused applications and enable protocol-based integration.

2 responses to ““SOAP is really just another RPC protocol” ???”

  1. Technically speaking, you’re absolutely right, and I should have phrased that differently. That sentence would have been slightly more correct and still fulfilled its purpose if I had said: “SOAP is really just another messaging protocol.” What I still stand fully behind the intent of the article though. You’re saying that “some of the WS-* protocols can be more naturally used to build service-oriented, message-focused applications.” Again you’re technically correct, but the whole WS-* spec area has become so convoluted that it’s hard to see where core WS stops and where spec-land starts. Sure a lot of people need activatable services and a lot of people might need coordination between services, but do we really need a WS-Coordination spec? Sure a lot of people need reliable messaging, but do we really need to do this in the context of WS or would a traditional messaging system not be more appropriate for that? I find that WS is trying to be kitchen sink of integration. This is exactly where CORBA went off into lala land as well: they started specifying all these services (security, transactions, message, etc.) and facilities that hardly anyone implemented or used. If I have only one or two implementations of a spec’ed service, does the spec really provide any value? I might have a significantly different view point on specs than you do. I don’t see a lot of value in something that uses a convenient moniker like “Web Services” and starts to specify how the kitchen sink is supposed to interoperate with the refrigerator. Core web services to me is the early spec level that focused on addressing, discovery, and format, just like CORBA to me is the early CORBA, ignoring the Printing facility and all the verticals. Maybe we’re not even diagreeing all too much; I definitely ask for forgiveness for using sloppy terminology. Alex
  2. Hey Alex, thanks for your comment. You are right, we are not disagreeing a great deal. I agree that the community has overdone it with the WS-* specs. Only time will tell about the usefulness of those specs that define protocols/behaviour beyond the basic infrastructure. I personally see a difference between CORBA and WS at the infratructure level. Can we use both set of technologies to build the same applications? You bet. Does one make it easier to build a certain type of applications? I believe that WS technologies, if used appropriately, can more easily be used to build message-oriented, loosely-coupled, scalable distribute applications. Please note that i am not suggesting these features to be unique to WS. Btw… good article.