Wednesday, September 01, 2004

Web services : whats the big deal ?

There is a lot of hulabaloo about Web-services nowadays.
There are even more pricy analyst articles and panel discussions
about SOA. The point being made is that before you use
Web-services you need to first fix your attitude.

It reminds me of the evangelical argument that one must
believe in order to understand the benefit of belief.

Technically, there is not much new about SOAP, UDDI,
WSDL and the host of other WS-* standards. Much of it
is a rehash of Corba, DCOM.

The main differences are market-driven, not technical,
but nonetheless significant :

1) Web-services work over the existing HTTP infrastructure
(webservers, load-balancers, proxies, firewalls etc.)

This allows Web-services to have broad network reach,
allows easy integration with Web-applications, and
leverages the skill-set of Web developers.

2) Web-services have widespread support.

This is the first interprocess communication standard, that
has support from all leading software vendors. This means
as an integration framework, it has much greater value than
a standard that say, misses out on 20% of your enterprise apps.

What are Web-services useful for ?

In general, pretty much all Web-service deployments fall into
one of the following categories (in decreasing order ) :

1) Portal-Apps : A webapp calls several internal enterprise apps (web-services).
2) App-App : An internal enterprise app needs data from another internal app.
3) Portal-Net : An enterprise webapp calls a widely-available standard
web-service available over the internet. (e.g. GoogleSearch, FedexTracker etc.)
The key aspect is that the service-provider provides the same APIs
to a large set of clients, and is not customized to the client app.
4) B2B : App to app communication between two business applications owned
by two different organizations. Organization separation is typically determined
by two key characteristics - separate network domains and separate trust domains
(different user and application ids).