OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsrp-markup message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: RE: [wsrp-markup] [wsrp][markup] DIME and one essential question


I've no experience with attachments other than browsing the various 
specs and proposals but I thought the situation was somewhat worse
than this (and this is likely to be an understatement for the 
following reasons):

http://www.gotdotnet.com/team/xml_wsspecs/dime/WSDL-Extension-for-DIME.htm
proposes extensions to WSDL for DIME messages. A WSDL consuming tool 
that does not understand these extensions may fail the wsdl document, 
especially if the proposed XML Schema extensions are used to describe 
the MIME type, e.g. using the <content:mediaType type="image/jpeg"> 
as in the given examples. Such schema extensions, together with the 
proposed "ref:location" attribute, pollute the operation argument 
types which are a part of the "interface" sections of WSRP's wsdl. 
So, DIME appears to affect more than the binding parts of WSDL. 

Also, WSDL 1.1 has its own internal way to describe MIME type
encapsulation but only SOAP with attachments is facilitated by 
this. i.e. this extra wsdl mime binding information is silent 
about SOAP http transport / encapsulation issues.

In any case, WSDL 1.1. is under specified, each WS implementation having 
its own "style". Real interoperability, rather than one implementation 
accepting the usage styles of another, will not happen until efforts 
like the W3C's WSRP 1.2. are realized. It seems problematic to try to 
add DIME bindings and the above schema extensions to this WSDL 1.1. 
many-to-many special cased implementation mix.

Most WS tool chains use both the "interface" and "binding" parts to 
generate the client stubs so clients can't be coded independent of 
the specific binding to be used (Apache Axis docs mentions this issue).

DIME adds binary data to the HTTP content so firewalls may selectively
fail DIME encapsulated WSRP requests. A SOAP-with-attachments request
could be blocked by a firewall because it actually understood the 
multi-part mime content and decided a MIME type was dangerous. So, 
even from the point of view of the network the attachment "transports"
are not interchangeable.

Logically our interface arguments are different for the attachment and 
no-attachments cases. If attachments are used we have a single argument 
of binary type or some generic mime content type (with the attachment's 
mime type encoding the actual representation). For the no-attachment 
case, our signatures require two arguments (a generic one for the 
content, e.g. string or base64, and a second string arg specifying 
the content type).

For the no-attachments case, we also need some rules for efficient
encoding of the content. For example, can well structured XML mark-up 
be included as a literal document (requiring no encoding except proper 
name spacing), do we support escaping mark-up (where < becomes &lt;), 
or should base64 encoding always be used?

Therefore we should define the standard no-attachments wsdl for WSRP
interoperability and just allow producers and consumers to use their 
own (negotiated) alternative wsdl contracts. These can specify attachment 
usage or just real world variants on wsdl "style". The JAX-RPC SOAP- 
with-attachment alternative contract should be fairly ubiquitous,
while the DIME ones may be in much flux until WSDL standardization has 
caught up.

regards,
Andre

-----Original Message-----
From: Carsten Leue [mailto:cleue@de.ibm.com]
Sent: 12 August 2002 16:37
To: wsrp-markup@lists.oasis-open.org
Subject: [wsrp-markup] [wsrp][markup] DIME and one essential question


I wanted to follow up with a short comparison of DIME vs SOAP attachments.
One of us - Richard Cieply - did this, I appended the results to this
email.

My summary would be that the use of any kind of attachments would not show
up in the WSDL definition of the interface but only in the binding
information. I.e. that the choice will not directly affect the
specification.
However this raises another question: to what level do we want to specify
WSRP? Just the interfaces or also the bindings?
If we only define the interfaces and not the binding then the consumer
would need to generate (on the fly) a proxy for each remote sevice as the
binding might be different, e.g. one producer decides to marshal the markup
over an attachment another does not. The interface would not be affected
thus the producer a WSRP compliant producer. However this would not really
be plug-and-play, at least not from my understanding. I assumed that it
would be possible to write a "static" proxy that consumes all WSRP
compliant WS. With different bindings that would not be possible.

What is the opinion of the group?


Writeup DIME vs SOAP Attachments by Richard Cieply.

1. 'Politics'
Soap Attachments are specified by the W3C and supported by Apache SOAP and
Axis.
Dime is currently in the Internet Draft phase and I suppose it to become a
RFC sooner or later.
Currently the MS SOAP Toolkit Version 3.0 supports DIME (and only DIME).
Also Axis states to support DIME with its beta3. The API doc specifies some
Classes in the org.apache.axis.attachment package to generate DIME
multipart messages.
Microsoft states that it will concentrate on DIME, it seems to me that they
will not be supporting SOAP Attachments in their .NET.
Here is a cite from their website:
"In the end, the MIME approach to sending SOAP messages with attachments is
a technically plausible solution. However, supporting multiple
specifications for achieving the same results is costly and potentially
confusing. Due to its technical superiority, Microsoft will be motivated to
focus on DIME for binary attachments in its future SOAP tools and
platforms."
and
"DIME is a major part of Microsoft's future SOAP and XML Web Service
strategy "

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnservice/h
tml/service01152002.asp

2. Dependency on SOAP
I'm not sure if I understood this question correctly.
SOAP Attachments define a means to transport SOAP messages via MIME
multipart/related messages in a way preserving processing a SOAP message as
defined in the SOAP1.1 spec.
I'm not to deep into the DIME stuff but as far as I understood their
examples DIME is a replacement for MIME multipart/related messages. DIME
messages may CONTAIN SOAP messages.
Thus both are independant on SOAP.

I think the other way around the question is more interessting: Does any of
these encodings affect SOAP?
I'd say 'no' here either.
The well known and in SOAP1.1 defined 'href' is used to address a part of a
MIME multipart/related or DIME message. It is the task of the SOAP
implementation to retrieve these parts from that message.
The lingo of SOAP is not affected here.
As I said above Axis states to implement both MIME mp/rel and DIME,
Microsoft SOAP Toolkit 3.0 implements only DIME.

3. Effects on the wsdl
The question here is if the usage of one of the above attachment types will
affect our wsdl, say if types/interfaces would change if we prefered the
one or the other.
Generally the types/messages/port types are not affected by this.
It is part of the binding definition to say how the data will be carried on
the transport level.
The WSDL1.1 spec contains a MIME binding schema.
I haven't figured out yet how a DIME binding looks like - I have to check
this later.

However, whether to use DIME or MIME mp/rel is defined in the binding, so I
assume the interfaces  would remain the same (say the types/messages/port
types).
So I would say it is up to the implementations to choose the right way and
transport.

From the WSRP point of view it seems to me that we don't need to define
anything about this in the protocol as it is a transport choice.
We could recommend to use DIME because it looks like this is the one which
will be supported by both worlds in the future J2EE and .NET.

Best regards
Carsten Leue

-------
Dr. Carsten Leue
Dept.8288, IBM Laboratory B÷blingen , Germany
Tel.: +49-7031-16-4603, Fax: +49-7031-16-4401



----------------------------------------------------------------
To subscribe or unsubscribe from this elist use the subscription
manager: <http://lists.oasis-open.org/ob/adm.pl>


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC