1 / 12

WSRP Description and Transport Issues SC

WSRP Description and Transport Issues SC. wsrp-webservice@lists.oasis-open.org Andre Kramer, Citrix Systems Inc. 8 th WSRP F2F, Gluecode Software, LA 1 st to 4 th March, 2004. Our 1.1 topic: Binary Attachments. Per-last F2F: - Citrix DIME support documented

Download Presentation

WSRP Description and Transport Issues SC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WSRP Description and Transport Issues SC wsrp-webservice@lists.oasis-open.org Andre Kramer, Citrix Systems Inc. 8th WSRP F2F, Gluecode Software, LA 1st to 4th March, 2004

  2. Our 1.1 topic: Binary Attachments Per-last F2F: - Citrix DIME support documented - “SOAP Message Transmission Optimization Mechanism” W3C Working Draft 21 July 2003 Since last F2F: - Proposal written up to use SwA for out-of-band markupBinary & uploadData - Performance advantages demonstrated - WS-I.org Basic Profile 1.1 expected to add attachments, scheduled for mid-year “Attachments Profile Version 1.0” WS-I.org Working Group draft, 2003/12/08 - 2 new W3C XML Protocol WG Drafts (9th Feb 2004)

  3. W3C XMLP Drafts • “XML-binary Optimized Packaging” W3C Working Draft 09 Feb 2004 • XOP (XML-binary Optimized Packaging) • For base64Binary Data only :-( • But a quite simple solution • “SOAP Message Transmission Optimization Mechanism”, W3C Working Draft 09 Feb 2004 • Optimize the transmission and the wire format of SOAP • Uses XOP & Data Model (type info to select binary data) • Hop by hop but talks about intermediaries (nodes may optimize pass through) • Aims to supersede SOAP 1.2 Attachment Feature • Optimized MIME multipart serialization - how to serialize Soap envelope using XOP format & MIME multipart/related. • HTTP transmission optimization feature - for http binding

  4. XOP • More efficient means of serializing XML Query 1.0 and XPath 2.0 Data Model • Need schema / type info to identify serialization candidates. Hence use of Data Model. • base64Binary data only • XOP packages: • Placing serialization into extensible packaging format such as MIME multipart/related • Replacing seralization with a special element (xop:Include) that links to the packaged data using URIs • Spec sections: • Format of XOP packages • XOP Data Model • Processing Model (seems not very optimal to me :-( • Security (TBD)

  5. XOP

  6. XOP Example <soap:Envelope xmlns:soap='http://www.w3.org/2003/05/soap-envelope' xmlns:xop='http://www.w3.org/2003/12/xop/include' xmlns:xop-mime='http://www.w3.org/2003/12/xop/mime'> <soap:Body> <m:data xmlns:m='http://example.org/stuff'> <m:photo xop-mime:content-type='image/png'> /aWKKapGGyQ= </m:photo> <m:sig xop-mime:content-type='application/pkcs7-signature'> Faa7vROi2VQ= </m:sig> </m:data> </soap:Body> </soap:Envelope>

  7. MIME-Version: 1.0 Content-Type: Multipart/Related;boundary=MIME_boundary; type=text/xml;start="<mymessage.xml@example.org>" Content-Description: An XML document with my picture and signature in it --MIME_boundary Content-Type: text/xml; charset=UTF-8 Content-Transfer-Encoding: 8bit Content-ID: <mymessage.xml@example.org> <soap:Envelope xmlns:soap='http://www.w3.org/2003/05/soap-envelope' xmlns:xop='http://www.w3.org/2003/12/xop/include' xmlns:xop-mime='http://www.w3.org/2003/12/xop/mime'> <soap:Body> <m:data xmlns:m='http://example.org/stuff'> <m:photo xop-mime:content-type='image/png'> <xop:Include href='cid:http://example.org/me.png'/> </m:photo> <m:sig xop-mime:content-type='application/pkcs7-signature'> <xbinc:Include href='cid:http://example.org/my.hsh'/> </m:sig> </m:data> </soap:Body> </soap:Envelope> --MIME_boundary Content-Type: image/png Content-Transfer-Encoding: binary Content-ID: <http://example.org/me.png> // binary octets for png --MIME_boundary Content-Type: application/pkcs7-signature Content-Transfer-Encoding: binary Content-ID: <http://example.org/my.hsh> // binary octets for signature --MIME_boundary--

  8. XOP and WSRP • XOP currently only for base64Binary • Markup strings require XML encoding or wrapping in CDATA sections • Overhead of passing through XML parser • Could convert: string <-> bytes <-> base64binary <-> bytes <-> string • Consumer URL rewriting is an issue • Problem of charset conversions • Signed markup may be a 2.0 issue

  9. What to binary encode in WSRP? MarkupContext.markupBinary (H)MarkupContext.markupString (H) UploadContext.uploadData (H) Property.value (H) ResourceList (M) RegistrationState.registrationState (M) RuntimeContext.templates (M) PortletContext.portletState (M) UserContext.userProfile (M) ModelType (L) ClientData.extensions? (L) UserContext.extensions? (L) fault.details? (L) …

  10. Strawman for XOP • Minimal proposal: • Use markupString for small fragments (UTF-8) • Else use markupBinary and UploadContext.uploadData (these are already base64binary) • Add a Property.value base64binary element - so that XOP can pull out property get/set data • Need a standard way to name the new binding (An aside: SOAP1.2 binding will also need to be named) • More elaborate MTO scheme possible, e.g.: • Could use X Pointer to reference any element that should be optimized • Use WSRP schema to encode/decode selected elements • Could be added as additional bindings

  11. WS-I.org Basic Profile 1.1 draft • Splits out SOAP binding from Basic Profile 1.0 • Draft adds Attachments “1.0” Profile • SOAP Messages with Attachments (SwA) • MIME multipart/related structure for packaging • Root part MUST be soap:Envelope • Supports ref:swaRef • <mime:multipartRelated/> from WSDL 1.1 Section 5 • Good for markup but not for our uploadData or properties • Could add new unparsedUploadData message part for attachment • Or use our out-of-band approach? • What to name this binding? • WSRP_v1_1_Markup_Binding_SwA? • Does it need to be in a separate service.wsdl?

  12. How to proceed? • Encourage XOP to handle other data types? XML-encoded Strings use case • Live with minimal base64Binary proposal? • Allow non-interoperable aggressive serialization optimization schemes? • Wait for WS-I.org Basic Profile 1.1?

More Related