Java Reference
In-Depth Information
Chapter 21
Introduction to web services and XML
21.1 Introduction
Over the last few years, a new distributed computing technology based on the
now-ubiquitous World Wide Web and known as web services has become very
popular. In this chapter we introduce web services and briefly discuss how the
technology can be used in a scientific application. We also introduce the closely-
related Extensible Markup Language (XML). These are both large subjects. A
full treatment is outside the scope of this topic, but this chapter is designed to
give the interested reader enough basic information to get started and pointers on
where to look for more.
21.2 Introducing web services for distributed computing
We have already learned about distributed computing in the abstract sense using
UML in Chapters 16 and 17. And we've learned concrete implementations using
Java RMI in Chapters 18 and 20 and CORBA in Chapter 19. Both RMI and
CORBA are technologies invented to implement distributed computing. One can
think of both as transport mechanisms used to move data and, at least in the case
of RMI, objects from clients to servers and back. There are other technologies
for distributed computing as well, such as the low-level socket based networking
technologies discussed in Chapters 14 and 15, and higher-level proprietary single-
platform technologies, particularly Microsoft ® products, that are not of interest
to this topic. Web services offer another alternative technology for distributed
computing.
The idea is simple. When human users view web pages over the Internet, they
are using a computer program - the web browser - that “talks to” a remote web
server computer. A human controls the browser by entering URLs or clicking
on HTML links, and the browser forwards the human's directions to the web
server, which responds accordingly by sending a new web page. In the web ser-
vices paradigm, a computer program on a client machine “talks to” a remote
computer program using the same web technology used by browsers and web
servers, but no humans are involved. There is no magic here; both ends of the
interaction - the client program and the web server program - must be carefully
573
Search WWH ::




Custom Search