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

In many respects, Web services are nothing new. They are just a natural evolution of an approach to building systems that dates back 40 years. On the other hand, they hold the promise of truly transforming computing in the same way that client/server computing did over the past 15 years. This article tries to address the question, "What's all the excitement about?"

What is a Service?
Let's begin by defining the term "service." A service is a reusable piece of self-contained logic that knows how to do a task, but does not know why it is being called upon. A water fountain is a good example of a service: it is quite skilled at providing drinking water, but it has no idea that its client is thirsty.

Software developers long ago recognized the need for services. Without reusable and self-contained programming logic, they had to write the same code multiple times, and then maintain each of these multiple instances. In the early days of computing, when systems were limited to a single host platform, reusable services were called subroutines or external program calls. Regardless of the name, though, these were early versions of services.

As computing spread across multiple computers, the need arose for reusable services that could operate across machine boundaries. An entire industry evolved around this need, which became known as client/server (i.e.,client/service) computing. Fortunes were made by companies that built tools to help programmers build systems that interoperated across machine boundaries. Note that the concept of a service had not changed at all. Only the underlying environment had changed - transitioning from single to multiple machines.

Web Services
The evolving maturity of the Web takes the notion of a service to yet another level. In the world of client/server computing, service invocations are typically made within a single, private network, or at least within a pre-established network of partners. In addition, client/server components are generally "tightly coupled," which means that the client needs to have registered to use the service in advance. (This is analogous to a water fountain working for you only if you have registered in advance for its use.)

Web services, on the other hand, are typically invoked across the Internet or an intranet, and are always loosely coupled. In other words, there is no technical requirement for a Web service to know in advance which clients will access it. Indeed, new clients can "add themselves" simply by using the correct calling parameters and demonstrating proper authorization.

Since Web services can be made publicly available so easily, they promise to bring new possibilities to the way organizations work with each other, transforming B2B commerce over the next few years. This is the most common view of Web services, and is what most of the excitement is about.

Interestingly, though, Web services are emerging even more quickly as an integration mechanism within individual organizations for Application-to-Application communications (A2A). The loosely coupled architecture of Web services delivers a flexible, extensible architecture for companies trying to integrate disparate systems. Important companies in this space include webMethods, Tibco Software, SeeBeyond Technology, and Vitria Technology.

For externally-accessed Web services, the idea is that a service can be placed onto the Web, where any organization's applications can find it and use it easily - much like a drinking fountain. Once again, there has been no change to the concept of a service. Rather, the underlying environment in which services operate has changed fundamentally. And these changes in turn fundamentally transform the way we do business.

Some Examples
Let's take a look at how Web services are already beginning to change the face of computing to get a taste of this new technology's power:

An early example of Web services is Dun & Bradstreet's Global Access Toolkit (reviewed in WSJ, Vol. 1, issue 1). D&B provides creditworthiness and other information about businesses worldwide. Last year they implemented a Web services system (Global Access) that allows authorized customers to access D&B data across the Internet as if that data was local to their own system. For example, a commercial bank's loan application system might call out to Global Access with a client company's key identification information (name, address, etc.) while the rest of the loan application is still being entered by a user. Within seconds, the loan system receives D&B's credit rating, enabling a credit decision to be rendered even before the application is completed.

A much more broad-reaching Web services example is Microsoft's .NET My Services formerly code-named Hailstorm. Based on Microsoft's .NET platform, My Services promises to put many individual services into Web service form, including management systems for contact lists, calendars, inboxes (both e-mail and voice mail), money, and far more. Web services are so fundamental to Microsoft's strategy that they openly speak about redefining the company over the next five years as a provider of Internet software-based services, rather than a software producer.

In truth, nearly every developer-centric software company has jumped onto the Web services bandwagon. Major platforms include Microsoft's NET, Sun's Open Net Environment (Sun ONE), IBM's WebSphere, BEA's WebLogic, Cape Clear, Iona, SilverStream, OASIS, Apache, Borland, and many others.

Buzzwords - Four Key Technologies
Now that we understand the conceptual definition of a Web service, I'll mention the key underlying technology standards upon which Web services are based. The technologies listed below reflect current thinking, and are widely supported. Bear in mind, however, that other variants exist; this is a fast-changing world. That said, following are the key technologies behind Web services today:

  • XML (eXtensible Markup Language): An extension to the HTML language that allows data definitions to be transmitted along with the data itself. Prior to XML's development, it was difficult to write software that would interpret the contents of a Web page because the pages simply contained text and graphics. XML allows the individual fields in a page to be described, so that a piece of software can understand them. XML is by far the most universally accepted standard for Web service enablement.
  • SOAP (Simple Object Access Protocol): A standardized way of using the XML language to call a Web service. Just as the English language needs grammatical rules to be understood, SOAP is a "grammar" that uses XML to call a Web service.
  • UDDI (Universal Description, Discovery, and Integration): A central directory of Web services where services can be registered, much like the Yellow Pages. This permits potential customers (i.e., automated programs) to browse available services, and identify the location of these services and what information they require. For example, a system looking to purchase 100 tons of steel can browse a UDDI directory, find the services that vend steel, and submit price queries instantly and automatically.
  • WSDL (Web Services Description Language): A standardized way in which the interfaces (i.e., inputs and outputs) of Web services are described. A WSDL file is generally part of a UDDI directory entry, and thus enables the client software to determine how to use the published service.
Key Issues
The power of Web services is no longer in question. Over the next few years, they will fundamentally change the way most companies build and use software. Of course, as with any important new technology, Web services also raise new challenges. I will touch on just a couple in the following paragraphs. Each of these items could easily fill a complete introductory article in its own right, but it is worthwhile to at least mention them here.
  • Security: When we open our services to the world, all sorts of security issues arise. Some obvious examples include authentication, authorization, and bill/payment processing. Every situation is different, but all require a security analysis.
  • Discovery: A Yellow Pages for Web services is very powerful, but also complex. There is a large difference between publishing phone numbers categorized by business and publishing the very mechanisms for doing business with companies. Standards are not yet firm in this area, and they have a long way to go before reaching universal acceptance. In addition, there is a real question as to how popular UDDI or other methods will be beyond a certain class of universal services.
Conclusions
My hope is that this article has communicated two key messages that might at first seem contradictory. First, Web services are nothing new; they are simply the next step in service-oriented computing, which has been evolving for more than 30 years. There is no great mystery here, and they are not the solution to world hunger.

The second key point is that Web services change everything. They provide the mechanisms to automate the Web, and to bring enormous efficiencies to the marketplace. All technology leaders should begin now to look for the B2B initiatives within their organizations that can benefit from this key technology. Web services may become the most significant new technology category for many companies during the next several years.

Many of us are excited about Web services. But be cautious: they do not solve all of your problems. Do not let your over-enthusiastic developers make them the answer to all things IT. If it doesn't make sense to you, don't do it. Also, remember that Web services are in their infancy and it would be unwise to over-commit. Put a toe in the water. Get some experience. Experiment. Don't lock into a single vendor until you understand the domain.

Author Bio
Andy Astor has held technology leadership positions in such diverse industries as financial services, software development tools, and integration consulting. Most recently, he managed worldwide customer access systems for Dun & Bradstreet, where his work included the development and launch of Global Access, one of the earliest commercial Web services. aastor@home.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.