SOAP is the XML glue that lets clients and providers talk to each other and exchange XML data. As Figure 1.4 shows, SOAP builds on XML and common Web protocols (HTTP, FTP, and SMTP) to enable communication across the Web. As we discuss in more detail in Chapter 4, SOAP brings to the table a set of rules for moving data, either directly in a point-to-point fashion or by sending the data through a message queue intermediary.
Figure 1.4 SOAP, an XML-based protocol, gains its global scope through the power of combination with Internet protocols such as HTTP, FTP, and SMTP.
One of the main implications of SOAP is a change in how we think about distributed computing. Prior to SOAP, there were three basic options for doing distributed computing: Microsoft's Distributed Component Object Model (DCOM), Java's Remote Method Invocation (RMI), or the Object Management Group's Common Object Request Broker Architecture (CORBA). These technologies are still in widespread use today. Their drawback is that they limit the potential reach of the enterprise to servers that share the same object infrastructure. With SOAP, however, the potential space of interconnection is the entire Web itself, which is why there is such intense interest in technologies that can leverage the power of SOAP. One of these technology efforts is Web services.