A First Attempt at a Distributed Service
As we comb through the carnage of first-generation Web companies, a common thread begins to emerge. Amid the piles of good ideas and bad debts, a simple question must be asked by anyone seeking to start anew: What is special about the Web, and how will this take advantage of that?
Although Web-based storefronts continue to possess a certain novelty, if you live in Washington or California, you generally still get to pay sales tax with the addition of shipping charges. Few people able to read this article would be able to live without e-mail, but who even reviews unsolicited sales pitches anymore? More importantly, applications designed to display thumbnails and prices of known products are fairly simplistic even if the encryption routines to protect credit card numbers are very sophisticated.
In other words, businesses that want to create a revenue stream beyond banner advertising must provide a valuable service utilizing the uniqueness of the Internet that cannot be easily reproduced by dozens of competitors—many of whom are the Web presence of established companies. Throw in the legal quagmire that the courts are wading through simply to define how the Internet is to be governed, and this sounds like tall order.
In time to coincide with new economic realities, however, are the tools and design approaches that have the potential to overcome these intractable problems. As a general class, these new approaches are called Web services. Initially, a Web company was run from a single server capable of few transactions and limited functionality. Next, technology for improved failover and redundancy was created to promote server "farms" along with better software standards for more creative content creation and distribution. More recently, some companies have taken to having some or all of their Web offerings hosted by other companies, to circumvent some of the issues related to traffic along the backbone pipes.
Web services encompass a few of the natural evolutions of this trend. From the starting point of mainframes (where virtually everything describing a system was retained within that system), the natural endpoint would be the capability to construct a system whose components retain only as much information as they require to perform their designated task, still maintaining a minimal association with the whole. This is the nature of a Web service.
Other than providing the usual benefit of componentization that sparked object-oriented development (smaller problems are more soluble, and simpler tasks are more easily performed), a Web service takes advantage of the fact that an incredible amount of hardware and bandwidth goes relatively underutilized as other segments of the Internet grow increasingly congested.