WSRP Description and Transport Issues SC Andre Kramer, Citrix Systems Inc. 6 th WSRP F2F, Grenoble, France 12 th -14.

Slides:



Advertisements
Similar presentations
On and use=document|rpc, style=literal|encoded A personal opinion Sanjiva Weerawarana IBM Research September 9-11, 2002.
Advertisements

Web Services Using SOAP, WSDL, and UDDI
Service Description: WSDL COMP6017 Topics on Web Services Dr Nicholas Gibbins –
31242/32549 Advanced Internet Programming Advanced Java Programming
WSDL SC 10 th WSRP F2F, Washington DC, Nov 2004 Andre Kramer.
WSDL 2.0 Marlon Pierce Community Grids Lab Indiana University.
SOAP.
SOAP SOAP is a protocol for accessing a Web Service. SOAP stands for Simple Object Access Protocol * SOAP is a communication protocol * SOAP is for communication.
Topics Acronyms in Action SOAP 6 November 2008 CIS 340.
Web Services Seminar: Service Description Languages
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
SOAP Lee Jong-uk. Introduction What is SOAP? The features of SOAP The structure of SOAP SOAP exchange message model & message Examples of SOAP.
SOAP Quang Vinh Pham Simon De Baets Université Libre de Bruxelles1.
1 An Introduction to Web Services. 2 Outline What is a Web service Background Standards –XML & XML Namespaces, XML Schema,WSDL, SOAP Tools & APIs –DOM/SAX,JAX-RPC/JAX-M.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Wesley Budziwojski Senior Architect Sun ONE Portal Server Web Services for Remote Portlets, WSRP Jun/2003.
Grid Computing, B. Wilkinson, 20043a.1 WEB SERVICES Introduction.
ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Web Services Overview Mary Grammatikou 9/06/2009.
WSDL Web Services Description Language Neet Wadhwani University of Colorado 3 rd October, 2001.
CS 415 N-Tier Application Development By Umair Ashraf July 6,2013 National University of Computer and Emerging Sciences Lecture # 9 Introduction to Web.
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
Processing of structured documents Spring 2003, Part 6 Helena Ahonen-Myka.
TP2653 Adv Web Programming SOAP and WSDL. SOAP Simple Object Access Protocol – Lightweight XML-based messaging protocol – A protocol for accessing a Web.
WSRP Description and Transport Issues SC Andre Kramer, Citrix Systems Inc. 8 th WSRP F2F, Gluecode Software, LA 1.
Requirements for DSML 2.0. Summary RFC 2251 fidelity Represent existing directory protocols with new transport syntax Backwards compatibility with DSML.
Web Service Standards, Security & Management Chris Peiris
Chapter 9 Web Services Architecture and XML. Objectives By study in the chapter, you will be able to: Describe what is the goal of the Web services architecture.
WSDL and Schemas Discussion CMIS F2F January 27, 2009 Gary Gershon
SSC2: Web Services. Web Services Web Services offer interoperability using the web Web Services provide information on the operations they can perform.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
SOAP Tutorial Ching-Long Yeh 葉慶隆 Department of Computer Science and Engineering Tatung University
1 Core Web Services Standards. 2 (Simplified) Web Service Architecture Registry 1. Service Registers PUBLISH 3. Client calls Service BIND 2. Client Request.
James Holladay, Mario Sweeney, Vu Tran. Web Services Presentation Web Services Theory James Holladay Tools – Visual Studio Vu Tran Tools – Net Beans Mario.
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
2005/08/31ACS WG - Data transport with SOAP message 1 Data transport with SOAP message There is a W3C note proposing the SOAP with attachment: –
Web Services Week 7 Aims: A detailed look at the underlying mechanisms for communication between web services Objectives: SOAP, WSDL, UDDI.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Web Services Standards. Introduction A web service is a type of component that is available on the web and can be incorporated in applications or used.
1 Web Service Description Language (WSDL) 大葉大學資工系.
© Drexel University Software Engineering Research Group (SERG) 1 An Introduction to Web Services.
Establishing a foundation for web services Ashraf Memon.
Simple Object Access Protocol. Web Services: SOAP2 Why Simple Object Access Protocol Light weight replacement for complicated distributed object technology.
XML and Web Services (II/2546)
Kemal Baykal Rasim Ismayilov
Interoperability Testing. Work done so far WSDL subgroup Generated Web Service Description with aim for maximum interoperability between various SOAP.
SOAP Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Introduction to Web Services. SOAP SOAP originally stood for "Simple Object Access Protocol". Web Services expose useful functionality to Web users through.
What is SOAP? Luciano Piccoli. SOAP – Simple Object Access Protocol  SOAP is an XML based protocol to let software components and applications communicate.
Transport Protocols  SOAP is used to send a message over any kind of transport protocol. Some of the protocols are, 1.HTTP 2.TCP/IP 3.UDP 4.SMTP.
Using WS-I to Build Secure Applications Anthony Nadalin Web Services Interoperability Organization (WS-I) Copyright 2008, WS-I, Inc. All rights reserved.
Web services. Introduction to WSDL. February 23, 2006.
WSRP Description and Transport Issues SC Andre Kramer, Citrix Systems Inc. 7 th WSRP F2F, BEA, Manhattan New York.
Agenda 1.WSDL & XML Schema Astronomicko-geofyzikálne observatórium, Modra An Order.
Evaluation Biztalk Table of Contents Introduction to XML. Anatomy of an XML document. What is an XML Schema? What is SOAP? XML Web Services overview.
July 28, 2004WSRF Technical Committee F2F meeting1 WSRP leveraging WSRF Use case for Portlets as WS-Resources.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
August 3, 2004WSRP Technical Committee WSRP v2 leveraging WS-Security 1. Motivation 2. WS-Securtiy Roadmap and Status 3. WSRP Use Cases 4. Strawman/Issues.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Implementing a service-oriented architecture using SOAP
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
Introduction to SOAP-RP and DIME
WebDAV Design Overview
Techniques to Invoke Web Services from SAS
Presentation transcript:

WSRP Description and Transport Issues SC Andre Kramer, Citrix Systems Inc. 6 th WSRP F2F, Grenoble, France 12 th -14 th May, 2003 Andre Kramer, Citrix Systems Inc. 6 th WSRP F2F, Grenoble, France 12 th -14 th May, 2003

Proposed Charter Responsible for mapping WSRP operations and types (new factors?) to WSDL Determine binding to SOAP (and other transports!) Evaluate our Web Service description and its impact on common Web Service Stacks Leverage attachment mechanisms * Facilitate WS/SOAP (WS Security) and transport security 2.0? Investigate performance of WSRP? Others ? Responsible for mapping WSRP operations and types (new factors?) to WSDL Determine binding to SOAP (and other transports!) Evaluate our Web Service description and its impact on common Web Service Stacks Leverage attachment mechanisms * Facilitate WS/SOAP (WS Security) and transport security 2.0? Investigate performance of WSRP? Others ?

Proposed Deliverables WSDL service description WSDL issue resolution recommendations Standards coordination (WS-I.org) WSRP WSDL Report (cf. 5 th f2f Note) Attachment mechanisms investigation Application level security investigation? – My wish list 2.0: – interoperable, standards based WS security – defines consumer / producer trust relationship – communicates user identity and roles – digital sig, multi-hop, non-repudiation? – secure navigational state? Others? WSDL service description WSDL issue resolution recommendations Standards coordination (WS-I.org) WSRP WSDL Report (cf. 5 th f2f Note) Attachment mechanisms investigation Application level security investigation? – My wish list 2.0: – interoperable, standards based WS security – defines consumer / producer trust relationship – communicates user identity and roles – digital sig, multi-hop, non-repudiation? – secure navigational state? Others?

Attachment Mechanisms WSRP = XML and Markup = XML right? So what’s the problem? – Almost all current HTML is not XML – Portlets produce Markup Fragments not Documents – Different character sets (SOAP message v.s. Markup) – Input (and Output) of binary Documents – Perceived performance problems with in-band binary WSRP = XML and Markup = XML right? So what’s the problem? – Almost all current HTML is not XML – Portlets produce Markup Fragments not Documents – Different character sets (SOAP message v.s. Markup) – Input (and Output) of binary Documents – Perceived performance problems with in-band binary

Current in-band support Encode markup as an xs:string – Encoded using XML character entities (< etc) – Done automatically by Web Service Stacks – Some producers can use Encode “markup” as a xs:base64Binary – About x 1.3 – Done automatically by Web Service Stacks – Natural for binary documents (byte[] not String) Future? Encode XML Markup as – Needs better parsing support in Web Service Stacks – Could leverage HTML TIDY – Could be re-considered for 2.0 Encode markup as an xs:string – Encoded using XML character entities (< etc) – Done automatically by Web Service Stacks – Some producers can use Encode “markup” as a xs:base64Binary – About x 1.3 – Done automatically by Web Service Stacks – Natural for binary documents (byte[] not String) Future? Encode XML Markup as – Needs better parsing support in Web Service Stacks – Could leverage HTML TIDY – Could be re-considered for 2.0

Out-of-band By reference (URLs, c.f. Portlet resources) Via http (non SOAP binding for getMarkup) Via multi-media protocol (SMIL, RTP, DIME) Using various attachment mechanisms – SOAP Messages with Attachments (W3C Note 11 Dec 2000) – SOAP 1.2 Attachment Feature (W3C Working Draft 24 Sept 2002) – WS-Attachments 17 June 2002 (Microsoft, IBM) – “Proposed Infoset Addendum to SOAP Messages with Attachments” BEA/Microsoft/AT&T/SAP/Tibco/Cano/TBD, V 0.6 draft, 24 March 2003 WS-I.org – has tabled attachments for Basic Profile (1.1) – Disclaimer: Citrix is not directly involved with these efforts By reference (URLs, c.f. Portlet resources) Via http (non SOAP binding for getMarkup) Via multi-media protocol (SMIL, RTP, DIME) Using various attachment mechanisms – SOAP Messages with Attachments (W3C Note 11 Dec 2000) – SOAP 1.2 Attachment Feature (W3C Working Draft 24 Sept 2002) – WS-Attachments 17 June 2002 (Microsoft, IBM) – “Proposed Infoset Addendum to SOAP Messages with Attachments” BEA/Microsoft/AT&T/SAP/Tibco/Cano/TBD, V 0.6 draft, 24 March 2003 WS-I.org – has tabled attachments for Basic Profile (1.1) – Disclaimer: Citrix is not directly involved with these efforts

Why have both? In-band preserves XML Infoset – keeps XML-abilities – One tool set, one charset (UTF-8 ;-) – Canonical representation, digital signing – Multiple transports (WSDL bindings) – Tools and intermediate message processors see data – SOAP header data as well as body – Out-of-band may not buy much performance Out-of-band builds on common practice – Multi-part MIME – Soap-with-Attachments (SwA) supported by JAXRPC – Natural for posting binary documents – cf. our UploadContext In-band preserves XML Infoset – keeps XML-abilities – One tool set, one charset (UTF-8 ;-) – Canonical representation, digital signing – Multiple transports (WSDL bindings) – Tools and intermediate message processors see data – SOAP header data as well as body – Out-of-band may not buy much performance Out-of-band builds on common practice – Multi-part MIME – Soap-with-Attachments (SwA) supported by JAXRPC – Natural for posting binary documents – cf. our UploadContext

Claim: DIME today … DIME (Internet-Draft) is a binary encapsulation protocol  binary packet headers with len & type or URIs, MB/ME/CF bits I.e. not XML! Championed by Microsoft, IBM – Companion WS-Attachments IETF Internet-Draft – Microsoft WSE 1.0 [no streaming, WS-Routing header] – Apache Axis [support not scoped] WSRP 1.0 – Only one “markup” returned or array of binary inputs  Can use DIME at the sub-WS level Citrix prototype uses WSE 1.0 – Declares a “DIME” (read-only) registration property – Or can detect DIME Attachment at registration – Fishes for DIME attachments at runtime DIME (Internet-Draft) is a binary encapsulation protocol  binary packet headers with len & type or URIs, MB/ME/CF bits I.e. not XML! Championed by Microsoft, IBM – Companion WS-Attachments IETF Internet-Draft – Microsoft WSE 1.0 [no streaming, WS-Routing header] – Apache Axis [support not scoped] WSRP 1.0 – Only one “markup” returned or array of binary inputs  Can use DIME at the sub-WS level Citrix prototype uses WSE 1.0 – Declares a “DIME” (read-only) registration property – Or can detect DIME Attachment at registration – Fishes for DIME attachments at runtime

Soap-with-Attachments [SwA] Simple – multipart/related content type (RFC2387) – MUST put the SOAP Envelope as first/root MIME part – MAY send additional MIME parts with root – Use URIs to id parts (receivers SHOULD consult parts) – JAX-RPC WSDL1.1 has MIME extensions (Section 5) – Only for SOAP (multipart/related) in practice – ( is underspecified IMHO) – Not supported by all wsdl tools (or WS stacks) – optionally types markup MIME format – How to leverage this in WSRP? “*/*” or MIME type specific wsdls? WSDL 1.2? Simple – multipart/related content type (RFC2387) – MUST put the SOAP Envelope as first/root MIME part – MAY send additional MIME parts with root – Use URIs to id parts (receivers SHOULD consult parts) – JAX-RPC WSDL1.1 has MIME extensions (Section 5) – Only for SOAP (multipart/related) in practice – ( is underspecified IMHO) – Not supported by all wsdl tools (or WS stacks) – optionally types markup MIME format – How to leverage this in WSRP? “*/*” or MIME type specific wsdls? WSDL 1.2?

WS-Attachments Specifies Compound SOAP structures URIs reference parts – E.g. useful if WSRP had header & body markup parts SOAP message + “attachments” in a DIME message – Does not have to be MIME – Maps to DIME records (application/soap+xml first) HTTP binding (application/dime) “WSDL Extensions for SOAP in DIME” – Microsoft DRAFT, 8 May 2002 – Moves base64Binary or hexBinary elements to DIME records – Location (URL) and type (MIME, URI or XML Doc element) – Layouts (closed-content, open-content) – WSDL: – Element app-info annotation – wsdl:input/output – SOAP – – Faults MAY be DIME encapsulated Specifies Compound SOAP structures URIs reference parts – E.g. useful if WSRP had header & body markup parts SOAP message + “attachments” in a DIME message – Does not have to be MIME – Maps to DIME records (application/soap+xml first) HTTP binding (application/dime) “WSDL Extensions for SOAP in DIME” – Microsoft DRAFT, 8 May 2002 – Moves base64Binary or hexBinary elements to DIME records – Location (URL) and type (MIME, URI or XML Doc element) – Layouts (closed-content, open-content) – WSDL: – Element app-info annotation – wsdl:input/output – SOAP – – Faults MAY be DIME encapsulated

XML Infoset friendly proposals Want binary to be directly included in message – XML does this when “in memory” today – Why not allow this on the wire too? [c.f. WAP] Can convert to base64 as required – E.g. when digitally signing a document XInclude-like mechanism to merge in data? Want binary to be directly included in message – XML does this when “in memory” today – Why not allow this on the wire too? [c.f. WAP] Can convert to base64 as required – E.g. when digitally signing a document XInclude-like mechanism to merge in data?

New Infoset-friendly Proposal The “Proposed Infoset Addendum to SwA”: – Aligned with XML Infoset – Backwards compatible SwA message syntax – Alternative (in-band) message syntax for non-SwA processors – Converts between base64 in-band and SwA (or other) out-of-band – swa:MediaType attribute – Specifies MIME type of base64 element (when in-band) – xbinc:Include element – References out-of-band opaque data by URI (just a href) – Xbinc:DoInclude header controls processing – FatalIncludeFault SOAP fault – [swa:Representation header block – Allows sending along cached representations] – swa:Accept attribute – Annotates schema declarations (I.e. XML Schema in WSDL) – The “Proposed Infoset Addendum to SwA”: – Aligned with XML Infoset – Backwards compatible SwA message syntax – Alternative (in-band) message syntax for non-SwA processors – Converts between base64 in-band and SwA (or other) out-of-band – swa:MediaType attribute – Specifies MIME type of base64 element (when in-band) – xbinc:Include element – References out-of-band opaque data by URI (just a href) – Xbinc:DoInclude header controls processing – FatalIncludeFault SOAP fault – [swa:Representation header block – Allows sending along cached representations] – swa:Accept attribute – Annotates schema declarations (I.e. XML Schema in WSDL) –

Recommendations? Experiment with DIME, SwA, … Wait for WS-I.org (1.1 including Attachments) – Canvas your WS-I.org representation! Wait for WSDL extensions? Wait for Infoset friendly SwA? Support both in-band and out-of-band in 1.1/2.0 Add negotiation to WSRP? Keep xs:string & xs:base64Binary for interop Experiment with DIME, SwA, … Wait for WS-I.org (1.1 including Attachments) – Canvas your WS-I.org representation! Wait for WSDL extensions? Wait for Infoset friendly SwA? Support both in-band and out-of-band in 1.1/2.0 Add negotiation to WSRP? Keep xs:string & xs:base64Binary for interop