So, what is going on in the world of Web services? I'm looking at a
ton of analyst reports saying Web services won't be mainstream for
another two or three years. One firm says that only 16% of companies
will use Web services this year. I suppose it comes down to your
definition of Web services. Which is another question I get a
lot-what is a Web service? Some people have a very broad definition
and include Web sites that execute functionality. Some have a narrow
definition and only include a SOAP-accessible piece of functionality
with WSDL published to a UDDI server. Some define it as XML over HTTP
regardless of whether any standards are followed. So when someone
says Web services will be adopted by 35% of companies within the next
87.3 days, what does that mean?
I always hear people say things like, "That is a Web Service with a
capital W and capital S," referring to something that implements all
of the standards. A Web service is one that doesn't - i.e., XML over
HTTP. There's another group that uses the phrase services-oriented
architecture to encompass both Web services and things like EJBs. Or,
we can have multi-channel systems - distributed systems using XML
over HTTP or EJBs or .NET going to multiple audiences such as
browsers and wireless devices.
I'd like to make one suggestion: Why don't we call them WebServices -
one word. Then at least we'd have a better chance at finding them on
search engines and ignoring the consulting and network companies. A
long shot, I know. But I've been wanting to say it for a
while.
There's still confusion in the mass marketplace about what Web
services are and what the benefit is. Luckily, I think a lot of the
superhype has died down and we're talking about just plain normal
hype. Here's an example of superhype - Web services let you build
"self-healing" applications. Right. Nothing in software is
self-healing - unless you specifically write healing code. And that
doesn't sound self-healing, it sounds like someone wrote a lot of
code to make something appear to be self-healing. Once something that
wasn't part of the self-healing algorithm breaks, so much for
self-healing.
Here's a case where self healing could work: You buy things from the
Ubiquitous Widget Company, including Widget #1024. Today you ask them
for widgets and their site is down or they are out of stock or they
put you on credit hold (did I mention you were a dot-com?). Time for
plan B: buy from another supplier. You go to the UDDI taxonomy and
find widget companies. Then you find the order entry service. Then
you get pricing and delivery terms. You then create an account with
them. You place an order. Hope the quality is good.
OK, let's look at the assumptions:
- Widget suppliers are well defined in the public UDDI
taxonomy to find supplier B.
- You can find the appropriate Web services you need for
supplier B. How do you programmatically know which one is the
order-entry service?
- Once you find the service, how
do you map your field names
to their field names?
- How does Supplier B know what
widget #1024 is?
These are some of the assumptions. Essentially, we say that
businesses and products all follow a well-defined-and
well-understood-taxonomy. That we all use the same names for our Web
services-or at least have some sort of metadescription of common
services. After that, our services use a common set of element or
field names-that Customer ID is the Customer ID all around the world
and not CustID or CID or ID or CustNum. Then we assume that the
semantics are the same. Is Price list price, my price? Is there a
discount field used to calculate price? There will be a lot of
wailing and gnashing of teeth before we see the day all of this is
true.
In the end, humans are still involved in almost every step of the way
with Web services. Perhaps we can have a partially self-healing
application. We can define the five suppliers we do business with,
and the mappings from our data to their Web service definitions. And
we can have tables that map our part numbers to theirs. A lot of
people already have all of these. What it requires is the programmer
to write the Web service that takes all of this into account.
What does mainstream really mean? Clearly, no one will be doing the
self-healing, pie-in-the-sky kind of Web services soon. However, many
companies are using XML over HTTP today. Are they using Web services?
I think they are - it covers my intuitive definition and that of many
analysts. I think they will quickly move to more formal Web services.
The massive interoperability that results will bring huge savings
when it comes to building systems and applications across an
enterprise. That alone is worth the price of admission to Web
services - even if it isn't self-healing.
Author Bio:
Steve Benfield is chief technology officer for SilverStream Software. SilverStream eXtend is the first complete environment for delivering service-oriented applications. SilverStream eXtend enables businesses to create, assemble, consume, and deploy Web services through J2EE or pervasive legacy integration. sbenfield@silverstream.com
All Rights Reserved
Copyright © 2004 SYS-CON Media, Inc.
E-mail:
info@sys-con.com