XML is rich enough to handle changes in the interface. For example,
adding optional fields has no impact on a client, and the client can take
advantage of the added functionality at its discretion. In addition, some
required fields could be satisfied with default values, which allows the
client to use those fields only when needed.
XML has a number of technologies that can quickly and efficiently trans-
late one XML schema (or type) to another. This ability makes XML
extremely flexible and efficient.
Not every interface has to be so loosely coupled. Within our applications, we'll
doubtlessly have many object-to-object method calls, and we may even have
distributed communications through EJB s or other interfaces. For those major
interfaces between major systems that demand a looser coupling, XML is a
good alternative to hardwiring an interface to a static communication area.
Listing 7.5 features an XML message that we might use instead of the com-
munications area described in figure 7.6. Notice that we are sending a
communications block but that the format is an XML document, instead of a
tightly managed collection of fields.
XML message for credit card transactions
<address1>1234 McMerican Trail</address1>
The service requester can generate the XML message using a variety of tech-
niques, including custom applications, exports from existing applications, or
translations from existing XML documents. Then, the service provider can
use one of several approaches to process the XML message; for example, the