i0031: Making wsa:Action Optional

Here's my first cut at trying to describe the arguments and various
positions.  

Issue 31, making Action optional, [1] is about the costs and benefits of
a mandatory versus optional action message information header.

The solution space is approximately:

1. Leave as is, status quo.

2. Make optional.

3. Leave as mandatory in the infoset but optional on the wire by provide
mapping from body child to action.

 

The detailed arguments and references:

1. Mandatory.

The argument for Mandatory Action is that it 

-enables better visibility into messages by having a single place to
look for action, sometimes called self-describing [2] 

-that it leads to a style of messages that does not contain the
operation[3], [13] 

-leads to a plethora of action-like mechanisms [4], 

-that garbage content in action is a small and worthy price to pay [7],

-it may lead to a profile (by ws-i?) [8], 

-allows content overloading [11], 

-it may be undesirable to crack the body to find the content which can't
be known at message body creation time [12]

 

2. Optional

The argument is that this is 

-only an optimization for dispatch [14]

-that duplicate information (such as body containing operation)
complicates things [16] 

-that optional address does not lead to RPC [5], 

-forcing mandatory field means garbage will go in [6], 

-that it might not be needed by all applications so it is unnecessary.

- should be treated similarly to SOAPAction and soap+xml action
parameter [15]

 

3. Mandatory infoset optional wire.

It is conceptually possible to have the action mandatory in the infoset
and then have a binding specific mapping to the wire, ie child of body.
Problem is, the soap http binding doesn't seem to allow this [9].  One
person opined that a well-defined action value could reference the
protocol operation [10], or conceivably the body child.

Summary

An attempted list of these points is [9].  The summary seems to be those
that want mandatory believe that a single place in the soap infoset for
the action provides for higher performant message processing, simpler
software implementation, higher interoperability and leads towards
non-rpc systems.  The comparison with the past is that HTTP provides a
single place for operations and media types (though media types have a
defined default value if it is missing) which enables self-describing
interactions.  The experience with SOAP 1.1 is that the lack of
mandatory action leads to operations(actions) embedded in messages.
Those that are agin mandatory believe that it may be duplicate
information (which as a general rule is a bad thing), is overly
constraining, will lead to potential garbage and useless values in the
field.  The comparison with the past is that SOAP 1.1 and 1.2 have not
defined a mandatory action and that experience has taught there are a
variety of useful places for action-like information to be sent in
messages and there shouldn't be such a constraint for Action.

References:

[1] http://www.w3.org/2002/ws/addr/wd-issues/#i031

[2]
http://lists.w3.org/Archives/Public/public-ws-addressing/2004Nov/0085.ht
ml

[3]
http://lists.w3.org/Archives/Public/public-ws-addressing/2004Nov/0081.ht
ml

[4]
http://lists.w3.org/Archives/Public/public-ws-addressing/2004Nov/0097.ht
ml

[5]
http://lists.w3.org/Archives/Public/public-ws-addressing/2004Nov/0092.ht
ml

[6]
http://lists.w3.org/Archives/Public/public-ws-addressing/2004Nov/0133.ht
ml

[7]
http://lists.w3.org/Archives/Public/public-ws-addressing/2004Nov/0172.ht
ml

[8]
http://lists.w3.org/Archives/Public/public-ws-addressing/2004Nov/0223.ht
ml

[9]
http://lists.w3.org/Archives/Public/public-ws-addressing/2004Nov/0260.ht
ml

[10]
http://lists.w3.org/Archives/Public/public-ws-addressing/2004Nov/0263.ht
ml

[11]
http://lists.w3.org/Archives/Public/public-ws-addressing/2004Nov/0264.ht
ml

[12]
http://lists.w3.org/Archives/Public/public-ws-addressing/2004Nov/0184.ht
ml

[13]
http://lists.w3.org/Archives/Public/public-ws-addressing/2004Nov/0055.ht
ml

[14]
http://lists.w3.org/Archives/Public/public-ws-addressing/2004Nov/0050.ht
ml

[15]
http://lists.w3.org/Archives/Public/public-ws-addressing/2004Nov/0060.ht
ml

[16]
http://lists.w3.org/Archives/Public/public-ws-addressing/2004Nov/0069.ht
ml

 

 

 

 

 

 

 

 

Received on Monday, 15 November 2004 14:47:01 UTC