Experts in 
Software Development

 

 



Content Management 
When should you build, and when should you buy?
 

Web Services

Introduction

The great promise of web services is interoperability between the many diverse application platforms that exist today.  Internally, inside large companies which continually face the multi-platform, multi-vendor environment, it should be a godsend.  And it works, at least for the most part.  

Web Services represents a dramatic advance in the world of programming.  The idea isn't new.  Most experienced programmers recognize the paradigm as being the same as CORBA, DCE, and other RPC offspring.  The difference will be in the degree to which it is implemented.  All these other systems had a great idea.  Language neutrality, standardized interface definitions, and distributed services.   But they were all difficult to work with, and we didn't already have a distributed, secure, communications platform on which to implement the system, and a large number of computerized services built up with the Internet all of which are quickly converted to web services.

This version of distributed network services is different.  It is easy to implement and program.  There are still plenty of gotcha's that will require highly skilled programmers.  But alot of services will be generated as simple variants of existing web interfaces.

The world of web services is here, and it will become the de-facto API language for programming the Internet and your intranet.

Interoperability

The canonical test of interoperability is to create the same service on a variety of platforms, and create clients using those same platforms, and then see if they can talk together.  

Here are some the references to platforms for web services.

Perl  SOAP::Lite
Microsoft .NET  .NET Framework SDK
Java Apache SOAP version 2.2.
IBM Web Services Toolkit

A detailed example of creating a "Hello World" web service in the various platforms can be found in chapter 3 of Programming Web Services with SOAP.  Rather than repeat the detail of this work, we want to summarize some obvious conclusions:

First, making a client and server that does the canonical "Hello World!" example generally requires about 10 lines of code in the server, and 10 lines of code in the client.  This is the height of simplicity.

Second, unlike CORBA, or RPC, or DCE, there is no requirement that a Interface Definition Language (IDL) script be written first.  In fact most programmers of Web Services code would be hard-pressed to describe the XML that is used to facilitate the communication between the client and server.  They simply write the code, and the Web Services platform uses introspection to determine what the definition should be.  The IDL made the programming of CORBA a tedious, multi-step, and error-prone process.

The Microsoft HOWTO for making their version of web services interoperate with others.

Web Service Definition Language (WSDL) 1.1

 

Copyright 2002  [Phase2 Software Corporation]. All rights reserved.
Revised: March 06, 2002 .