Web Services – Beyond HTTP Tunneling

 

Patrick Thompson, Rogue Wave Software

W3C Workshop on Web Services, 11-12 April 2001

 

 

Web Services

What is a Web Service? Generally speaking, it is any piece of functionality that can be invoked over the Internet. Traditionally, web services have been implemented with ad hoc mechanisms such as CGI scripts and proprietary mechanisms. In the past 18 months, however, de facto standards have emerged to formalize the concept of Web Services and their interface. As a result of emerging standards in this space, multiple vendors, including Rogue Wave, are coming forward with tools and infrastructure to support the standards. The most important of these standards are SOAP (Simple Object Access Protocol) and WSDL (Web Services Description Language).

Standards

SOAP and WSDL are XML document formats. SOAP is used to encode messages such as RPC request-response messages. WSDL is used to describe a Web Service’s interface. In essence, SOAP and WSDL facilitate distributed computing. SOAP provides a simple distributed computing mechanism that can be used over multiple “transports”. Traditionally, distributed computing standards have been based on binary protocols that require a particular infrastructure. SOAP, in contrast, is flexible in nature. Any application that can open a connection to the server, pass an XML document, and receive one in return can be a client. SOAP is agnostic with respect to programming language, platform, infrastructure, and vendor.

Five Uses of SOAP

Why are SOAP Web Services useful? While SOAP was initially viewed only as a way to get through firewalls (by passing SOAP over HTTP to a Web server), other uses of SOAP are emerging as the industry gains experience with this new technology. We have identified five applications of SOAP: B2B, application integration, general distributed computing, wireless applications, and web content development.

 

  1. B2B. SOAP is used by a business or government entity to expose services to business partners or clients. These services are invoked over the public Internet.  For example, eBay recently announced that its partner developer API will be offered as a SOAP Web Service.
  2. Application Integration. SOAP is used within a company to present a common interface to diverse back-end systems. The SOAP service hides the implementation details. SOAP is used as a lightweight application integration mechanism.
  3. General Distributed Computing.  SOAP can be used as an alternative (albeit a simplistic one) to CORBA, DCOM, RMI, and RPCs.
  4. Wireless Apps. Since SOAP is XML it can easily be transformed, using XSLT, to other formats, including wireless formats such as WML, cHTML, Palm Web Clipping, etc. This facilitates the implementation of wireless applications that access backend resources.
  5. Web Content. Again, taking advantage of the transformability of SOAP (e.g., to HTML), SOAP can be used to develop Web site content using back-end resources exposed as web services.

 

Market Space

While SOAP was originally derided as a Microsoft specific standard, it has been steadily gaining broad-based industry support and mind share. A year ago Rogue Wave Software was practically alone in our support of SOAP  (through our XML Link products). Today the space is becoming increasingly crowded and interesting. Support for SOAP has been announced or demonstrated by the major platform vendors, middleware vendors, a host of smaller companies, and open source projects. This trend highlights the need for standards in this area to facilitate interoperability amongst products.

Web Services and Rogue Wave

Rogue Wave Software is an 11-year-old company. We are primarily known for our class libraries. One year ago we introduced a set of products based on SOAP – our XML Link product line. XML-CORBA Link (a.k.a., XORBA) provides SOAP access to CORBA objects and XML-DB Link provides SOAP access to databases. These two products were the first commercially available products based on a SOAP specification.

 

In working with our customers and prospects during the last year, we have gained insight, as outlined above, about how people are planning to use SOAP.

Web Services and the W3C

Rogue Wave supports the XML Protocols work of the W3C. We believe that it is important to formally standardize a protocol similar to SOAP. In addition, we would like to see the W3C work to standardize a Web Service interface description language.

Conclusion

We see the market for web service products increasing, as more businesses and organizations come to discover the diverse applications of SOAP, beyond simple HTTP tunneling. We look to the W3C to foster this emerging market through relevant standards such as the current XML Protocols work and a future Web Services interface description language initiative.