HomeDigital EditionSys-Con RadioSearch Web Services Cd
B2B Beginning WS Business Process Management Case Studies Content Management Distributing Computing e-Business Electronic Data Interchange Enterprise Industry Insight Integration Interviews Java & Web Services .NET Portal Product Reviews Scalability & Performance Security SOAP Source Code UDDI Wireless WS Standards WS Tips & Techniques WSDL WS Editorials XML

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

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.