Java Reference
In-Depth Information
designed to interact with each other in a way that makes sense. From a high-
level viewpoint, this interaction is exactly the client/server paradigm that has
been the subject of the last few chapters. That is, clients communicating with
servers via some communications infrastructure. In web services, the communi-
cations infrastructure happens to be based on the same technology that powers the
familiar Web. Thus the name web services, in which services are provided over
the Web [1].
Another way to think of web services is to imagine that web technology is
used as the underlying distributed computing transport mechanism instead of the
custom RMI or CORBA transport mechanisms. One difficulty with both RMI and
CORBA is the presence of corporate, campus or personal internet firewalls that
disallow the RMI and CORBA transport mechanisms. RMI or CORBA servers
that are behind such a firewall are not accessible from outside the firewall. That
situation might be exactly what is desired. Personal or business sensitive data
is kept well-secured behind the firewall. No outside client has access. Similar
firewall protections might also prohibit a client inside the firewall from interacting
with an external server. In today's internet environment, where security is, quite
rightly, an important concern, it is likely that one or more clients or servers in a
distributed application will be behind a firewall that denies access to CORBA or
RMI protocols, thus bringing the entire distributed system to a halt.
One advantage of web services is that the underlying HTTP technology used
for normal web processing is typically permitted through most firewalls. There is
no guarantee of that fact, and some security experts predict that future firewalls
will become more restrictive. For now, though, the use of web services is typically
firewall friendly.
21.3 XML
XML stands for Extensible Markup Language [2, 3]. XML, though simple in
basic concept, is a big subject area that is not within the scope of this topic. We
mention it here briefly because web services are almost always implemented today
using XML, though there is certainly no requirement to do so. The basic idea of
XML is a human-readable textual data format that follows certain well-defined
syntax rules while being general enough to encompass any type of information.
Sometimes the phrase “self-describing data” is heard when referring to XML.
That phrase is a little misleading, but XML documents do have a way to define,
in human-readable terms, what each data value might mean.
An example is illustrative. Consider a simple RMI server that receives a per-
son's name, age, sex, and a Boolean that indicates whether or not he or she
is a smoker. The server then calculates and returns that person's current life
expectancy and also stores the result in a database for future use, say to cal-
culate the change in life expectancy if the smoker/non-smoker status changes.
Implemented in RMI, there might be a remote LifeExpectancy interface that
Search WWH ::




Custom Search