February 2005


netaehso on 18 Feb 2005 09:53 am

Brain.Save(), Steve Maine’s blog, has an excellent piece on Isomorphism that, in the ideal world, everyone could swear they undertood before attempting to write a web service. The vast majority of coders out there will never get this write for a very simple reason - they are too used to cutting writing code in a particular language/environment/platform and they make the mistake of carrying over these habits when it comes to modelling services.

Steve makes some references CORBA in his article, commenting that

Previous distributed object systems focused on establish a common local programming model and treated the mechanism of inter-object communication as an implementation detail. The late arrival of a standardized inter-ORB wire protocol to the CORBA scene is, I think, evidence that wire-level interoperability was a secondary concern for them.

History illustrates that IIOP did arrive late but I don’t think Steve is giving CORBA the credit it deserves here. (Some comparisons before reading on - SOA has XSD/WSDL/Policy for definition and SOAP for protocol, CORBA has IDL for definition and IIOP for protocol)

  • The early CORBA specifications were more concerned with constructing a canonical form for service interfaces (IDL) than defining the local programming model. In fact, it wasn’t until the arrival of the POA in CORBA 2.3 that the local programming model for implementing CORBA servers was tied down in fine detail.
  • The OMG had no choice but to pin down the IDL specification before tackling the underlying IIOP specification. There’s a very, very good reason for that - it allowed the various language mapping experts to start writing language bindings, ORB vendors to develop products and early adapters to start modelling solutions on CORBA IDL, knowing that better interoperabily was on the way.

Would it have made sense for the OMG to have produced the IIOP specification first? If they had done that, there would have been no way of expressing the service contract between the peer local programming languages involved in the interaction. Remember, IIOP uses binary encoding, not verbose text/XML encoding! It may be that Steve is forgetting the vacuum that CORBA filled at the time. People just didn’t want interoperability beyond a single vendor’s offering - everyone was used to being locked into COM or using sockets or an client/server RPC on Unix

Steve’s statement that “wire level interoperability is the only thing that matters” is an interesting one. Wire-level interoperability is all well and good but SOA still needs a higher level canonical form that humans can use to interpret service definitions.

Let me put it this way, which would you be happiest with receiving if you were thinking of interoperating with a 3rd party’s service:

  1. A set of raw SOAP messages (and the SOAP/WS-Adressing/WS-Policy specifications) illustrating wire-level interoperability
  2. An annotated XSD/WSDL/Policy document
  3. An Indigo interface of CLR types annotated with custom attributes.

(There’s no need to answer that, it was a rhetorical question) From a SOA tool vendors perspective, it would be nice not to have to wrry about all those intermediate constructs like WSDL and just go straight from the native definition to “on the wire interoperabilty” the way you know best. But you are assuming that your tool developers have the competence to hand craft the mapping perfectly and you are assuming that your customers don’t have some other requirement for at least producing WSDL (e.g. modelling tool interop).

I’ve always wondered if the CORBA vendors wouldn’t gain wider acceptance into the SOA ’scene’ if they just went and renamed CORBA to CSORBA (Common Service Object Request Broker Arch). Folks get so hung up on the difference between a “service” and a CORBA object. Steve rightly hints at this again in his article when he states:

…distributed objects are a perfectly reasonable way of looking at web services. I think that’s true to some degree; as long as you recognize that those ‘distributed objects’ are an illusion of your model and don’t exist in any real way beyond your network port, distributed objects are as good a model as any other isomorphism

Hmmmmm, the Portable Object Adapter anyone?

P.S. Steve, I did enjoy the SOAP vs REST comment at the end!

dumbaehso on 04 Feb 2005 08:36 am

You know the 49% of folks in the US that didn’t vote for George Bush? Well, some of them want to apologise to the rest of the world (not the GOP!) Check out their photo gallery, quite cool.

They have published a book, also titled “Sorry Everybody”, available from Hylas Publishing or Amazon.com (.co.uk).

patentsaehso on 03 Feb 2005 05:38 am

Great news, the EU Commission have decided to restart the whole debate on software patents in a more open and well, for want of a better word, honest, way.

Read more at the FFII, taint.org and Groklaw.

Kudos, again, to Poland for their opposition all along. And shame on you, Charlie McCreevy.

netaehso on 03 Feb 2005 04:41 am

A while back, my sister in the US told me she was using a telco service called Skype - that didn’t mean too much to me but she forgot to tell me she was calling from her PC, not her telephone. Yesterday I noticed Skype released v1.0 on the Mac (and Linux).

Here’s a good article with the low-down - think IM client but with the ability to dial regular land lines, for as little as 0.017euro per minute, to many countries, including Australia and the U.S.

Well worth using, if only to teach your local incumbent telco a lesson. Of course the big telco’s will bully the hell out of them, it’ll be interesting to see how long they last before being bought out…

macaehso on 02 Feb 2005 07:07 am

Or maybe it’s only the executives that don’t have one that are annoyed. It seems that Microsoft’s campus is being over-run by white ear buds, despite there being several Microsoft centric offerings available.

The source estimated 80 percent of Microsoft employees have a music player — that translates to 16,000 iPod users among the 25,000 who work at or near Microsoft’s

That must really bug the crap out of the Windows Digital Media division alright (but only the ones that won’t buy one)…