|
A Web service is a software component that communicates with other
applications and other components by encoding messages in XML and sending the messages
over standard Internet protocols, such as the Hypertext Transfer Protocol (HTTP).
Intuitively, a Web service is like a Web site without a user interface, serving
applications instead of people. Instead of getting requests from browsers and returning
Web pages in response, a Web service receives a request message formatted in XML from an
application, performs a task, and returns an XML-formatted response message to that
application. Because they use standard Internet protocols and exchange data via XML
messages, Web services allow applications to communicate with each other regardless of the
OS each is using, making it practical to integrate applications within a company as well
as between companies via the public Internet. In the past, such integration was a
time-consuming and highly customized process that only the very largest of companies could
afford to undertake. With Web services, Microsoft and others hope to make it commonplace.
Both IBM and Microsoft are promoting Simple Objects Access Protocol
(SOAP) as a message standard for Web services. Much like a letter, a SOAP message consists
of an XML-based envelope that contains a header with the address of the message recipient
and a variety of delivery options (such as encryption information), and a body with the
data of the message.
(Microsoft likes to call this programming model "XML Web
Services"tacking on the "XML" to emphasize its opennessbut the
model, based on a set of World Wide Web Consortium [W3C] protocol standards, is generally
known throughout the industry as simply "Web services.")
Microsoft, IBM, and other vendors promote Web services as a programming
model for interapplication communication via the Internet. These companies believe that
connecting applications across the Internet will enhance the ability of organizations to
work together with their partners, suppliers, and customers. By creating a Web service
layer on top of an existing application, organizations can allow external systems to
invoke the applications functions over the Internet or an intranet without having to
modify the application itself. For example, several companies are creating Web services
that act as front ends to order-entry applications hosted internally on a mainframe,
allowing customers purchasing systems to submit orders over the Internet. Layering
Web services on top of existing applications might prove even more important within
companies as a way to integrate applications developed independently by departments and to
reduce IT integration costs associated with mergers and acquisitions.
Integrating existing business applications via Web services, however,
brings a new set of problems that Web services must solve. Business applications typically
use technologies such as message queuing and transactions in order to guarantee the
delivery of messages between applications and to coordinate database access, but as of
yet, there are no standard Web services protocols to provide those capabilities in an
interoperable fashion. Microsoft is working with IBM and other partners to define how Web
services can be extended to provide these capabilities and hopes to deliver such features
in future updates to its Web services platform, but until some of these technologies are
supported by the .NET platform, business-to-business Web services are likely to remain at
the experimental stage.
|