- Introduction
- Case 1: Development Tools
- Case 2: Web Services, Both Real and Imagined
- Case 3: Online Bill Payment
- Case 4: A Really Easy Counter-Example
- Conclusion
Case 2: Web Services, Both Real and Imagined
Like Tiger Woods, Web services were so overhyped prior to their first season of practical implementation that no degree of success could possibly satisfy the expectations. I'm hopeful that, also like Tiger, the second season will see a return to fundamentals that will provide an extremely useful added tool in the web development arsenal. Despite the academic discussions, proprietary struggles, and unnecessary backlash, the heart of web services is a simple combination of two technologies: HTTP and XML.
Semantics about which XML standard (SOAP, XMLP, or other) should be used, or the fact that a web service message will happily travel over SMTP if told to do so, belie the fact that web services are not composed of new technologies. While Java servlets are more than capable of transmitting HTML, the programming skill set for constructing a solid servlet is somewhat different than for a JSP performing the same task. The flexibility this affords makes it a perfect vehicle for web serviceswithout changing the underlying definition at all. Instead of producing HTML in response to a post from a browser, it returns properly formatted XML.
Yes, a myriad of viable supporting standards and technologies have been crafted. Yes, working groups exist in many areas to discuss the finer points of the definition of a more reliable HTTP mechanism. These and many other things are true, but the bottom line is the identification of the facts:
XML is text.
An entire worldwide infrastructure exists to push billions of bytes of text every day.
There is no rule that every response to an HTTP request must be rendered in a browser.
In contrast to the first examplethat of creating an incredibly complex single application capable of serving a tremendous number of common needs satisfied by a number of applicationsthis is an elegant combination of technologies serving relatively disparate purposes. Many people recognized this benefit, but it took large marketing engines to bend it out of shape. In this case, scale and complexity issues exist only as far as needs dictate. Issues of context are currently being discussed (refer to any number of articles entitled "How Could Web Services Benefit You?"). In this case, the need is to convince many customers (developers and businesses) to "think outside the browser." Until businesses can uncover a profit that motivates commercial developers to enter the new mindset, web services will remain without purpose.