|
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
|