Both SOAP and DCOM support a services-oriented architecture. A service is a piece of application or business logic that can be accessed using a programmable interface. SOAP and DCOM do essentially the same thing, but they use different protocols to communicate. DCOM systems communicate using the Microsoft RPC (based on the DCE RPC) protocol. This protocol encodes data using the Network Data Representation (NDR). MS RPC communicates using TCP/IP using a predefined port to establish an initial handshake, then it dynamically allocates communication ports for each interaction. As you can imagine, dynamic port addresses can be extremely challenging when trying to communicate through firewalls. (Most service-oriented architecture, including CORBA, RMI, and DCE RPC work the same way.) Web services systems communicate using XML messages -- in most cases using the SOAP protocol. SOAP encodes data using XML, and it communicates using HTTP over TCP/IP, using a predefined communication port.
Dig Deeper on Topics Archive
Related Q&A from Anne Thomas Manes
Anne Thomas Manes explains the differences between open source clients and open source implementations. Continue Reading
Anne Thomas Manes discusses the best way to go about creating an enterprise data dictionary and why the systems works well. Continue Reading
Anne Thomas Manes explains the difference between 'hard' real time and 'live' real time systems. Continue Reading