- From: Mark Jones <jones@research.att.com>
- Date: Tue, 11 Feb 2003 10:09:08 -0500 (EST)
- To: xml-dist-app@w3.org
AFTFers,
This version of the requirements reflects discussion up to the
2003/02/11 XMLP WG telcons.
Our current scorecard is:
23 requirements agreed (R8, R9, R15, R24, R17, R1,
R2, R3, R4, R5, R13, R26, R18, R27, R29, R21,
R31, R22, R30, R6, R7, R11, R12)
1 requirement that needs clarification (DR28)
R6, R11 and R26 have important philosophical issues associated with
them.
--mark
Mark A. Jones
AT&T Labs -- Strategic Standards Division
Shannon Laboratory
Room 2A02
180 Park Ave.
Florham Park, NJ 07932-0971
email: jones@research.att.com
phone: (973) 360-8326
fax: (973) 236-6453
________________________________________________________________
Concrete Attachment Feature Requirements
----------------------------------------
The terminology used in this document is intended to be consistent
with that found in the SOAP 1.2 Abstract Feature specification
[http://www.w3.org/TR/2002/WD-soap12-af-20020814/].
Considerations
--------------
* If existing packaging schemes (e.g., Multipart-MIME, DIME, ZIP, tar,
jar, etc.) meet the requirements, or represent sensible tradeoffs,
then the specification SHOULD use such existing schemes.
* The specification should, where reasonably practical, be designed to
facilitate message construction, parsing, debugging, tracing,
implementation optimizations and other diagnostic activities.
General Requirements
--------------------
R8. The specification must describe its relationship to the
properties defined in Table 1 (att:SOAPMessage and
att:SecondaryPartBag) in the SOAP 1.2 Attachment Feature
specification.
R9. The specification must describe its points of extensibility.
R15. The specification should be conveniently describable by languages such
as WSDL.
[WSDL should have enough extensibility to handle reasonable
new attachment specifications include ours. Our spec should
be reasonably describable by languages such as WSDL.]
R24. The specification should include sample changes to WSDL 1.2 and/or
extensions to WSDL. [Should this be decided by the WSCG?]
R17. The specification must work with the SOAP 1.2 HTTP binding and
shouldn't unnecessarily preclude working with other bindings.
Representation
--------------
R1. The specification must define a means to carry multiple data
parts.
R2. The specification must define a means for parts to carry
arbitrary data, including non-XML data (e.g., binary data and XML
fragments).
R3: The specification should support efficient implementation of:
a) parsing the physical representation to separate and identify its
constituent parts.
b) programming systems which efficiently resolve a URI to retrieve the
data (and metadata) comprising the corresponding part.
R4. The specification should use a reasonably space-efficient
representation.
R5. The representation should efficiently support the addition and
deletion of parts by intermediaries.
R13. The specification must provide support for arbitrarily large
parts.
R26. The specification should support streaming of parts, i.e. chunked
encoding.
We recognize use cases in which streaming, interleaving, chunking,
etc. are important. Assuming that physical part order is significant
and controllable, various packaging mechanisms would permit
application-level solutions. The WG needs to decide whether to
provide a more universal solution; if so, we need to collect enough
use cases to properly design such a scheme.
R18. The specification must define a mapping between the attachment
representation and a standalone SOAP message. For example, this may aid
down-level receivers that do not understand this specification.
R27. The specification should support securing of messages and message
parts, such as use of encryption and signatures, in a simple
manner. If practical, WS-Security should be supported.
R29. [This requirement engendered a lot of discussion and has
some significant ramifications for the Abstract Attachment
Specification and for the basic conception of the SOAP
message infoset.]
(a) A message with all its parts, however separated physically, must
be representable as a single infoset.
(b) A message with all its parts, however separated physically, must
be describable as a single XML element in an XML schema.
Metadata
--------
R21. The specification should provide convenient means for extending the
metadata carried with a message.
R31. The specification should provide convenient means for extending the
metadata associated with individual parts.
R22. The specification should provide a means by which any or all parts
MAY be labeled with associated MIME types. (I.e. applications sending a
message are not obligated to label parts with MIME types, but the
specification must provide for carrying the MIME type if provided.)
R30. The specification must provide an optional facility for specifying
part size in advance.
DR28. The specification may provide manifest functionality.
<davidO href="http://lists.w3.org/Archives/Public/xml-dist-app/2003Feb/0057.html">
An example of a manifest would be something like
<part ref="part1">
<part ref="part2">
The typical manifest functionality, where the list of parts in the package
are known ahead of time, or generated afterwards. I'm not yet sure whether
I think that the type and length also should be in the manifest.
As for whether they would be in a soap envelope or not, I would say that "it
depends". I think we need some more scenarios to figure out where the
possible places the manifest should ... manifest itself. I tend to think
that it should be outside the soap envelope, so that there is a clean
separation between the soap and attachment functionality.
</davidO>
Reference to Parts
------------------
R6. Each part must be named by an absolute URI. The normal mechanisms
of URI references may be employed to refer either to parts or to
fragments.
This requirement does not resolve another important issue which
involves two competing views of the semantics of these URIs.
One model is that any URI scheme can be used to name the parts.
For example, the use of an http scheme would imply web caching
semantics when resolving a URI reference.
An alternative model is that there should be a chosen attachment
URI scheme (e.g. the CID scheme in SwA). One could still implement
a web caching semantics but would do so through the use of SOAP
headers which would specify the http-to-CID mapping and interact
with the URI resolver.
R7. The URI identification scheme must be robust under the addition
and deletion of parts -- i.e., it must not require that URIs to
other parts be altered, it must be relatively easy to avoid URI
conflicts, etc.
R11. The specification should not specify a particular physical
ordering of parts.
In particular, this requirement was motivated by a use case in which
the primary (SOAP) part was not required to be the first part.
Physical order is significant, and there are cases in which control
over physical order is important (for example, see R26). The issue
here is whether the specification should be as rigid as SwA in
insisting, for example, that the primary SOAP part be the first part.
R12. The primary (SOAP) message part should be readily
locatable/identifiable.
Received on Tuesday, 11 February 2003 10:09:46 UTC