I updated my list of visited countries, which finally shows some red on the African continent, in the Kingdom of Morocco.

The meeting was in Rabat, the capital city, and it was pleasant enough. A bit like Ottawa I suppose, in that it looked and felt like a “lite” version of a larger, neighbouring city (Casablanca/Toronto). It was surprisingly liberal for a muslim country … or at least what I imagined a muslim country to be, never having been to one. I wasn’t expecting tight fitting pants to outnumber burkas by a couple of orders of magnitude. 8-)

And what trip to Africa would be complete without gastrointestinal problems? Alas, not this one 8-(

I’ll be uploading images to my Flickr photostream soon.

Dave made the following suggestion for a SOAP definition;

It’s a simple way to call procedures running on other machines, on other OSes, written in other languages, using different economic systems, without being forced to pay a tax to Microsoft, IBM, Apple, Sun or the W3C.

SOAP isn’t that at all. That’s XML-RPC. Dave’s a bright guy who writes great software, but when it comes to distributed systems, there’s a lot he doesn’t understand.

The SOAP 1.2 spec defines SOAP as;

SOAP Version 1.2 (SOAP) is a lightweight protocol intended for exchanging structured information in a decentralized, distributed environment. It uses XML technologies to define an extensible messaging framework providing a message construct that can be exchanged over a variety of underlying protocols. The framework has been designed to be independent of any particular programming model and other implementation specific semantics.

Which is a pretty decent definition, though not very detailed as to how one actually might use it. For a better definition, I look to SOAP’s brethren, PEP. It’s defined as;

The Protocol Extension Protocol (PEP) is an extension mechanism designed to accommodate dynamic extension of HTTP applications by software components; and to address the tension between private agreement and public specification.

Of course, SOAP isn’t tied to HTTP, but PEP didn’t really need to be either. It could also be patched to be an extension protocol for non-HTTP protocols, as SOAP 1.1 was “patched” in the form of SOAP 1.2.

Please, if SOAP has any chance of success, let’s try to distance it from RPC.