SOAP - The Death of Binary
SOAP, the 'Simple Object Access Protocol', is a proposal for how RPC calls can be made over the HTTP protocol using XML as its encoding mechanism. The acronym was chosen more for its amusement value than its meaning. The 'Object' word isn't operative. Just think RPC over a text based protocol.
Why is SOAP important?
Corporations require high reliability and massive scalability from the applications that drive their enterprise. Distributing the composite software components across many machines provides these system qualities. But, building distributed systems from scratch is a task best left to the rocket scientists. So, there have been a number of distributed computing frameworks developed over the past twenty years. DCE RPC was perhaps the first, and its fundamental concepts became the basis for the distributed object computing platforms: CORBA, DCOM, and Java/RMI. The technology buzzword for this baggage of technology is 'middleware'.
Each of these middleware technologies has had varying degrees of success within the context of enterprise computing. Since interoperation between the technology islands is troublesome at best, an individual company must decide upon which single technology they will base all their applications.
The explosion in popularity of the public internet over the past five years was mainly centered around the interaction of Joe User with Mega Corp. and Joe Public with Joe Sixpack, otherwise known by the monikers B2C and C2C. HTML and HTTP were the fuel of this fire.
The current usage expansion is business-to-business interaction, but the participant actors are not humans, they're business applications. Applications reach out across the internet to band together in forming an aggregation of cooperating software components. For example, the purchase of a car involves a vehicle locating service, a financing company, a delivery service, an insurance provider, an extended warranty, and optional car mats. All these providers could support an internet interface into their applications for access by external applications that need to request quotes, place orders, cancel orders, etc.
The poor interoperability of existing middleware technologies will not support the needs of the B2B internet.
What is SOAP?
SOAP provides the interoperability between competing middleware technologies, across the internet. The transport protocol is HTTP, chosen because of its firewall friendly nature. The encoding scheme is XML, the lingua franca for business-to-business interoperability, as text protocols are much simpler for application programmers to deal with. Both these points may seem small, but they will be fundamental to the success of SOAP.
Where did SOAP come from?
UserLand, Develop Mentor and Microsoft drafted the first SOAP proposal, and IBM has endorsed revision 1.1. Sun isn't supporting SOAP, but will grudgingly have to follow along behind.
Where is SOAP going?
SOAP version 1.1 has been submitted to two standards bodies, the IETF and the W3C. This means that the software community at large will be contributing to the development of an internationally recognised standard for an XML RPC mechanism over text protocols like HTTP and SMTP