In the late 1990s, Microsoft realized the weaknesses in its own remote object technology, COM and COM+. As they begun their .NET initiative they saw that they needed something new in order for remote object technology to succeed.
One of the aspects of remote objects Microsoft needed for success was the ability for the technology to be cross platform, and because all of Microsoft’s products run under their own operating system, they needed a creative solution. They created an XML standard called the Simple Object Access Protocol (SOAP) which is the combination of an eXtensible Markup Language (XML) document and a standard protocol that can work across the Internet. The protocols SOAP uses to transmit data include the Simple Transport Mail Protocol (SMTP), the File Transfer Protocol (FTP), and the Hypertext Transfer Protocol (HTTP). Developers often refer to these as the Web service’s protocol stack.
Once Microsoft’s team perfected the SOAP standard, they open-sourced this technology by giving it to the World Wide Web Consortium (W3C). The W3C made SOAP an official standard so other vendors could start making similar remote object technologies that were compatible with the Microsoft technology. Web Service products that exist on other platforms, such as UNIX or AS400, are instantly compatible with Microsoft technologies running under various versions of Windows. This happened because Microsoft chose standard technologies such as XML and the various protocols that exist on all platforms.
Currently, with the release of .NET, many vendors seek to create Web Service products that work with Microsoft’s. Soon it won’t matter what platform or language you are using. With Web Services, remote objecting may finally reach its promise because Web Services are simple and standard and vendors are making them easier to implement.
Before moving on, it is important to realize the difference between SOAP and a Web Service. SOAP is the actual protocol for moving data across the Internet. A Web Service is an object that uses SOAP to transmit data to an application or Web page. For example, a Web Service provides stock quotes whereas SOAP is that standard that allows the stock quote Web Service to be compatible across platforms.