Web Services

The phrase "web services" is the just the tip an iceberg of overhyped and obfuscated computer technology. To unravel this alphabet soup of acronyms can be pretty daunting, but here we go. My interest in this began when I became interested in accessing Terraserver to get maps and images. Terraserver is a specific instance of a web service, my definition for which would be any service on port 80 that goes beyond HTTP. Technically, this defition is wrong on several counts, but in practice covers most, if not all web services of actual interest.

The "usual" web service rides on top of HTTP on port 80, and provides some kind of RPC (remote procedure call) facility. Most commonly, this is done via SOAP, which uses XML to pack up (marshall) procedure call arguments and responses. The web service scheme has a couple of high level layers that allow run time discovery (UDDI or WD-Inspection) and description (WSDL) of web services.

Perhaps the simplest web service scheme is XML-RPC. There is also CORBA. However, if you want to use some existing web service, you will have to play their game, and that most likely means dealing with SOAP.

To give you a feel for what you are getting into, consider the following explanation. A URN is a universal resource name. A URI is a universal resource identifier. A URL is a universal resource locator. A URL is a URI and so is a URN. There, that should be clear, any more questions? Oh, and lest I forget, there also exist URC's.

Seriously, a URN is just a name in some namespace, nothing more. A URL tells you where to find a resource, and how to access it.

Perl SOAP::Lite

The quickest way I have found to get going with SOAP is to use the Perl package called SOAP-Lite.
On my fedora system, this was easily installed via:

yum install Perl-SOAP-Lite
A directory of sites offering web services can be found at:
Feedback? Questions? Drop me a line!

Uncle Tom's Computer Info / tom@mmto.org