Technologies for web services attachments deal with binary data associated with a primary XML document. Assuming readers are familiar with basic web services concepts, this paper explains how these technologies have evolved in the last a few years.
It all began with the publication of SOAP Messages with Attachments (SwA) in November 2000. SwA was successful in laying down the foundation for web services attachments support around SOAP and MIME, but it left many open issues unaddressed. Many different efforts came along later to address the issues with SwA and to improve the solution in general such as:
-
DIME and WS-Attachments focused on fixing performance issues with MIME and tried to create a totally new packaging mechanism for web services attachments. However, it failed to convince the industry to switch away from MIME.
-
WS-I Attachment Profile (AP1.0) addressed the interoperability gap created by under-specification of SwA and WSDL1.1. AP1.0, in spite of fulfilling its mission, is not the prime candidate for adoption due to other similar efforts in the industry (namely PASwA and XOP/MTOM).
-
The proposed Infoset Addendum to SOAP Messages with Attachments (PASwA) was geared to define a consistent SOAP processing model for web services attachments by introducing a XML Infoset-based common logical view of the whole data set.
-
The Infoset-based approach introduced by PASwA gained support from the industry, and eventually resulted in the current W3C work on XML-binary Optimized Packaging (XOP), SOAP Message Transmission Optimization Mechanism (MTOM), and related specifications.
Finally, this paper makes a recommendation for implementation strategy based on the current status of the standardization work around web services attachments.
Web Services Attachment Technologies
Technology |
Messaging & Packaging |
Description |
Publication |
Status |
SwA |
SOAP (1.1) MIME |
WSDL1.1 MIME binding |
November 2000 Microsoft, HP |
W3C Note Profiled by WS-I AP1.0 |
DIME & WS-Attachments |
SOAP(1.1) DIME |
DIME extension is defined for WSDL1.1 |
June 2002 Microsoft, IBM |
Obsolete |
PASwA |
SOAP(1.1&1.2) MIME |
WSDL1.1 |
April 2003 Microsoft, IBM, SAP, et. al. |
Superseded by MTOM/XOP and related specs of W3C |
PASwA |
SOAP(1.2) XOP/MIME, … SOAP 1.1 support yet to be defined. |
WSDL 2.0 support being defined in W3C. WSDL1.1 support yet to be defined |
W3C Candidate Recommendation |
W3C Candidate Recommendation |