Web Services

Web services can be viewed as the latest, dynamic state in the e-business evolution, following static Web sites and transactional Web applications designed for human users. Ex: IBM's e-business on demand; Sun's smart services, or Microsoft .NET.

Web services can also be viewed as a simple, low cost enterprise application integration vehicle supporting the cross platform sharing of functions and data”

- Olaf Zimmermann, "Perspectives on web services" ( 2)

Web services are “software system[s] designed to support interoperable machine-to-machine interaction over a network” (Wikipedia). They are methods of interfacing computers using technologies, such as XML, SOAP or REST, in order to exchange and deliver data between the Web and the user's computer. There is some confusion about how the term "web services" is used: web services "refer to any external entity that does work on your behalf" and specifically, SOAP and other middleware are "enabling technologies used to make web services possible" (Gurugé, 26-7). Essentially, web services are software-as-services, based on the web, which are chosen by the user to supply data, media, or actions through computer-to-computer interaction and technologies.

The idea of web services is central to the idea of the web as a platform, or a "new" operating system. Web services have the ability to provide tools and functions that were previously only used on an individual computer through its own operating system and software programs. This is the idea of moving from the “desktop” or “laptop” to the use of the “webtop” – utilizing software and programs provided through the web. Programs are not downloaded or installed to the users computer, but designed to be used solely on the web, and new products are presented in a testing, BETA form by Google.com, such as Gmail and GoogleMaps. As users interact with the web service program and discover what “works” and what “doesn't” the company then alters and changes the program “live” to meet the needs and feedback of the users. This idea of a constantly updating web-based service terms the idea of the “perpetual BETA”. The perpetual BETA is the fact that programmers will be giving access to users earlier on in the production cycle and continually interacting with the users to alter and perfect the use of their products – continuous improvement. As new needs arise, then new web services or modules are created to meet the demand and seamlessly integrated into the whole experience.

Sample Application: Google

"Somebody's coming", By Kokogiak. Some rights reserved.

Google.com is an excellent example of the move towards the Web 2.0 value of web servicing. A web application is not sold, but delivered as a service. Google is the intermediary of information, it is the middleman between the user and the online content. Google's success deals with what some call “the long tail” (Chris Anderson, from "What is Web 2.0?"). The long tail is the concept that there is more power in the longer tail, or greater number, of small sites that make up the bulk of the web's content versus the small number of big sites on the web. Google offered more affordable, smaller text ad placement which was available to more companies along with greater data management that searched farther out to the entire web and not just the larger sites at the “center”, thus to utilizing information and clientele down to the “long tail” and not just at the “head” of the web.

Google vs. Microsoft

It is valuable to compare two business models in order to illustrate the principles of Web 2.0. Google.com's value is utilizing the web as a platform with a generally open format. Microsoft's value is in controlling a massive installation base of software on tightly controlled APIs (Application Programming Interface). There is a great difference in the Google.com methods of a web-based platform and the Microsoft computer-based platform.

Windows was a brilliant solution to the problems of the early PC era. It leveled the playing field for application developers, solving a host of problems that had previously bedeviled the industry. But a single monolithic approach, controlled by a single vendor, is no longer a solution, it's a problem. Communications-oriented systems, as the internet-as-platform most certainly is, require interoperability. Unless a vendor can control both ends of every interaction , the possibilities of user lock-in via software APIs are limited.

- Tim O'Reilly, "What is Web 2.0" [bold added]

Google has a distinct advantage it seems as technology heads towards this idea of Web 2.0 and the web services model. There is an advantage in software updating, user-control, and overall networking and collaboration.

Microsoft's business model depends on everyone upgrading their computing environment every two to three years. Google's depends on everyone exploring what's new in their computing environment every day.

- Phil Wainewright, “Why Microsoft Can't Best Google

Overall, this idea of web services and the increased interaction of computer to computer facilitating the distribution of information and programs over the web to the end user is one that is working very well for Google.com and many other internet service-based organizations. Although the interlacing of technologies has potential limitations because of a greater "real-time" interdependence and a greater challenge in keeping multiple programs functioning together, the web as a platform for individually selected services and programs is on the rise.

Technical Aspects

One of the main technologies used in web servicing is XML. XML is “Extensible Markup Language” and is a general-purpose markup language used for describing many kinds of data and also for sharing data across different systems, particularly over the Internet (Wikipedia). The power of XML is in its ability to share across different systems and to bridge gaps in order to facilitate a greater community of users and uses. As a technology, XML is concerned with the description and structuring of data.

XML has strengths in that it is simultaneously a human-readable and machine-readable format (similar to HTML). It supports UNICODE (an international standard for character representation) and almost any human language can be communicated, a solid format for document storage and processing being platform-independent and stable through changes in technology.

A sample of XML code (borrowed from Wikipedia, “XML”:

<?xml version="1.0" encoding="UTF-8"?>

<Recipe name="bread" prep_time="5 mins" cook_time="3 hours">
  <title>Basic bread</title>
  <ingredient amount="3" unit="cups">Flour</ingredient>

  <ingredient amount="0.25" unit="ounce">Yeast</ingredient>
  <ingredient amount="1.5" unit="cups">Warm Water</ingredient>
  <ingredient amount="1" unit="teaspoon">Salt</ingredient>
  <Instructions>

   <step>Mix all ingredients together, and knead thoroughly.</step>
   <step>Cover with a cloth, and leave for one hour in warm room.</step>
   <step>Knead again, place in a tin, and then bake in the oven.</step>
  </Instructions>

</Recipe>

There are similarities to HTML markup (with elements, tags, attributes, and content), but differences in the creation of specific tags for the program written.

XML allows programmers to “identify information in a more accurate, flexible, and adaptable way” (Flynn, "What is XML?"). It is a metalanguage and describes other languages, allowing for the creation of any type of markup language. XML is powerful in its flexibility.

UDDI is another key, technology standard used in web services. UDDI (Universal Description, Discovery, and Integration) is "a platform-independent, XML-based registry for businesses worldwide to list themselves on the internet" (Wikipedia). It is a form of marketing or advertising for internet-based web services. OASIS sponsors the UDDI technology and provides a general "white", "yellow", and "green" pages online listings. White pages giving the descriptive information about a company, the yellow pages give information about the available services, and the green pages provide information about the technical implementation and use of those services (Gurugé, 152). UDDI's goal is to be a one-stop location for finding web-based services and integrating them into an organization's online functions.

Further…

Frequently Asked Questions about XML: http://xml.silmaril.ie/basics/

Google's Web Services: http://www.google.com/apis/

Microsoft's Web Services: http://msdn.microsoft.com/webservices/

Amazon's Web Services: http://www.amazon.com/gp/browse.html/002-4877454-6400804?%5Fencoding=UTF8&node=3435361

More discussion about Microsoft vs. Google can be found here:

Phil Wainewright, “Why Microsoft Can't Best Google” http://blogs.zdnet.com/SAAS/?p=13

Fred Vogelstein, “Gates Vs. Google, Search and Destroy”, Fortune.com: http://www.fortune.com/fortune/technology/articles/0,15114,1050065,00.html

Verne Kopytoff, “Tech titans ready to brawl Google, Microsoft look to square off on Net and desktop”, San Fransisco Chronicle: http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2005/10/02/GOOGLE.TMP