Subject: [drinks] Usage of SOAP as a transport within DRINKS

From: Sumanth Channabasappa <[email-masked]>
Date: Wed, 12 Sep 2012 16:58:01 -0600

Since comments regarding the use of SOAP as a proposed transport within the DRINKS WG keeps coming up - either as a comment or surprise -  I figured that an unofficial, recap of how this came about may help, esp., for those who haven't followed the progress of this WG and don't want to dig the historical archives. I should state that the presence of a SOAP-specific transport document does not preclude other transports (e.g., RESTful web services) from being used.This is the reason the proposal was split into two portions: a transport-agnostic part, and a transport-specific part (SOAP being the currently chosen transport). Given this is my own account - as an individual contributor - I invite other WG participants to correct or augment my recollections, in case I missed anything.

-- Clarification

I am sending this purely as an FYI –  I don't intend to (re-)start a debate on the use SOAP or not! From my recollection, we have already had that discussion a couple of times now and reached rough consensus that has resulted in work that is nearing completion (I hope!). I presume IETF contributors are welcome to propose follow-on work with other transport mechanisms.

-- Recollection #1: The rough consensus for SOAP, and the splitting of efforts to create a transport-agnostic protocol, and a SOAP-specific transport proposal

As one may expect, the debate around the use of SOAP v/s other options (specifically RESTful web services) is as old as the WG itself :).  While there were many debates in the early days (~2008)  the first official WG poll - between IETF 74 and IETF 75 - resulted in recommendations for SOAP based on the feedback received (see links below, which state reasons). Even some of us (yes, myself included) who preferred to explore the use of RESTful web services eventually agreed to SOAP, based on precedence and preference of implementers -- and -- the proposed effort split that would allow for other transports. This was subsequently discussed at IETF 75 (http://www.ietf.org/proceedings/75/minutes/drinks.txt), where similar comments were echoed. However, there was also a general consensus to allow for other transports (now or in the future). The result was to have two separate I-Ds: one for a transport-agnostic protocol and the other for a transport-specific document (as noted in the minutes from IETF75). Proposals for transport were called and - during IETF77 - the SOAP-specific transport I-D was accepted as a WG item (unless I am mistaken, I believe this was the only transport proposal). The WG then worked on the  following I-Ds, in addition to the use cases document (now RFC6461):

http://tools.ietf.org/wg/drinks/draft-ietf-drinks-spprov/ (versions 1-12)

http://tools.ietf.org/wg/drinks/draft-ietf-drinks-sppp-over-soap/ (versions 1-7)

-- Recollection #2: Conversion of the transport-agnostic protocol to an (even more) abstract framework, to make it more conducive to non-SOAP transports

As the I-Ds matured, we had the opportunity to see an open source implementation being built to verify the protocol and transport. Feedback from those who authored this open source implementation  (http://tools.ietf.org/agenda/81/slides/drinks-1.pdf) -  confirmed the general implementability, but recommended that we make the split more distinct to allow for potential implementations using other transport options (e.g., RESTful Web Services). Specifically, there was concern raised (at IETF#81) that there was tight coupling between data models and SOAP (http://www.ietf.org/proceedings/81/minutes/drinks.txt ).

This concern was debated at IETF#81, during the 81.5 interim meeting (http://www.ietf.org/mail-archive/web/drinks/current/msg01028.html) and in subsequent design team discussions. The resulting consensus was to refactor the I-Ds to make the split more obvious, and new I-Ds were submitted in Nov, 2011. The question of moving away from SOAP was also brought up, and the WG decided to stick to the original decision, with a better split.  This was ratified by the WG in IETF#82 (http://www.ietf.org/proceedings/82/minutes/drinks.txt )

This is how we got our current I-Ds, which are currently in WGLC.

http://tools.ietf.org/wg/drinks/draft-ietf-drinks-spp-framework/

http://tools.ietf.org/wg/drinks/draft-ietf-drinks-spp-protocol-over-soap/

-- Summary

While the WG debated different transport options a few times, based on rough consensus SOAP became the transport of choice to be specified (within its current scope). However, there was acknowledgement that there are alternate options (RESTful web services). To allow for these options, a transport-agnostic protocol was specified. To make this even more conducive to other protocols, the design team has re-worked the protocol into a more abstract, and malleable, framework that lends itself better to other transport options (over the last year). This is reflected in the current I-Ds, which are in last call.

-- Historically relevant Links

+ IETF 72 (July, 2008)

- The first "DRINKS" (previously PEPPERMINT) meeting that briefly discussed transport options (SOAP, RESTful web services etc.).

http://www.ietf.org/proceedings/72/minutes/drinks.txt

+ IETF 73

- One of the first discussions around preferred transport options was during IETF 73 (http://www.ietf.org/proceedings/73/minutes/drinks.txt), where a few participants proposed the use of SOAP based on current usage, with some proposing alternatives (e.g., RESTful web services).

+ IETF 74

- The first official poll (between #74 and #75):

http://www.ietf.org/mail-archive/web/drinks/current/msg00500.html

- Questioning of assumptions and responses:

http://www.ietf.org/mail-archive/web/drinks/current/msg00501.html

http://www.ietf.org/mail-archive/web/drinks/current/msg00502.html

- Preference for SOAP

http://www.ietf.org/mail-archive/web/drinks/current/msg00503.html

http://www.ietf.org/mail-archive/web/drinks/current/msg00506.html

http://www.ietf.org/mail-archive/web/drinks/current/msg00507.html

http://www.ietf.org/mail-archive/web/drinks/current/msg00508.html

http://www.ietf.org/mail-archive/web/drinks/current/msg00509.html

+ IETF 75

- Follow-up discussions, and suggestions, including feedback from outside of the WG

http://www.ietf.org/proceedings/75/minutes/drinks.txt

+ IETF 77

- Acceptance of SOAP-specific transport I-D at IETF 77

http://www.ietf.org/proceedings/77/minutes/drinks.txt

- Confirmation of acceptance on the mailing list

http://www.ietf.org/mail-archive/web/drinks/current/msg00670.html

+  IETF 81

- Open source implementation, and concern regarding data models being too tightly coupled with SOAP

http://www.ietf.org/proceedings/81/minutes/drinks.txt

+  IETF 81.5 (Interim)

- Q was raised at interim meeting (Sep 2011) and in subsequent discussions

http://www.ietf.org/mail-archive/web/drinks/current/msg01028.html

- Submission of refactored documents, allowing for a more malleable framework

+  IETF82

- Acceptance of the new I-Ds

http://www.ietf.org/proceedings/82/minutes/drinks.txt

- S

(as an individual contributor)