The most significant aspect of Web services is that every software and hardware company in the world has positioned itself around these technologies for interoperability. No single technological advancement will have as great an impact on the way systems are developed as Web services.
Web services allow systems to communicate with each other using standardInternet technologies. Systems that have to communicate with other systems use communication protocols and the data formats that both systems understand. Developers use technologies such as CORBA, RMI, or DCOM most often. The principal problem with these communication technologies is that not every platform supports them. Developers must create gateways to convert an unsupported protocol and dataformat into one that the target platform understands.
The emergence of the Internet has forced vendors to support standards such as HTTP and XML. Over the past few years, vendors and their customers quickly realized that programs that communicate with each other could also use the technologies that run the Internet. Web services use Internet technology for system interoperability. The advantagethat Web services have over previous interoperability attempts, such as CORBA, is that they build on the existing infrastructure of the Internet and are supported by virtually every technology vendor in existence. As a result of the ubiquitousness of the technologies they use, Web services are platform-independent. This means that whether the Web service is built using .NET or J2EE, the clientuses the service in the exact same way.
"Ubiquitous computing" was first described in its current form by Mark Weiser at Xerox PARC. For more, see http://www.ubiq.com/hypertext/weiser/UbiHome.html.
This platform independence is also evident on the World Wide Web itself. A Web site uses HTTP and HTML to pass data to a user's browser—this is the only requirement the site must support. A Web site may be developed using a large number oflanguages and platforms, but the platform is irrelevant as long as the data is ultimately provided to the browser using HTTP and HTML. These same principles apply to Web services.
Web services are fast becoming the single interoperability standard for program-to-program communication. In this section we answer the following questions:
▪ What are Web services?
▪ What is the history of computing interms of its physical and logical evolutions?
▪ What are the technologies involved in Web services?
▪ How does Java support Web services?
▪ What kinds of Web services are there?
▪ What kind of benefits can be realized by implementing Web services?
What Are Web Services?
"A Web service is a software application identified by a URI, whose interface and bindings are capable of beingidentified, described and discovered by XML artifacts and supports direct interactions with other software applications using XML based messages via Internet-based protocols."
(World Wide Web Consortium)
A Web service is simply an application that exposes a function that is accessible using standard Web technology and that adheres to Web services standards. This is significant because Webservices are developed for and deployed onto any platform using any programming language. There is nothing revolutionary or exceptional about the technology of Web services. The technology is simple. In fact, you use and probably have developed applications already that incorporate most of the technologies of Web services.
Before getting into the details of Web services, it is important...