It sometimes amuses me to see old things coming back as brandnew stuff and see people trying to convince the world that this new invention now changes the world, requires new thinking, new architectures etc. etc.

Now the advocates of "contract first" design to Web-Services finally are saying that there is only one Method left with a single parameter, the XML request document. The call maybe oneway or may wait for a XML response document. The dispatching is done along the two dimensions message schema and endpoint address. To avoid misunderstandings, I strongly believe they are right. Here is why:

back in the early/mid nineties I was development lead for the middleware product line of Software AG and there we had architected a product called "ENTIRE Broker". This thing was designed for the mainframe, but there were versions for Windows and UNIXes as well. Basically the adressable endpoints were entities called "Service" and server programs sitting on various machines could register as implementors of this service. Internally the broker was a highly multitasked queuing network engine that routed messages originated by a client to one of the implementors of  a service (hence the name Broker). In addition to the send/receive queues there could be a pipeline of queues providing additional services to the message on its travel. The default communication pattern was oneway send, you could do req/resp. and even conversations were supported. And of course the physical network was abstracted away, it could run on a mixture of TCP/IP and LU6.2 without problems. So we finally had a messaging system with a single API, default oneway messaging, logical endpoint adressing and some kind of transport independence. Not to far away from todays ideas. Of course in these days the message format was a matter of mutual contract between client and server, typically hardcoded in the resp. apps. But that was Ok for a proprietary intranet product. And btw. this wasn't the only product build around these ideas in this time.

What does this tell me? The architectures now envisioned for Web-Services following these same principles are on the right track because these architectures have already proven their strength in previous times.

The real revolution is still this fascinating convergence of all these ideas driven by the internet standards and that we really may see the day were systems and applications can communicate regardless of their flavour and location.