Eliminating Eliminating Sanjiva Weerawarana WSDL WG F2F – Raleigh, NC July 30, 2003.

Slides:



Advertisements
Similar presentations
Chungnam National University DataBase System Lab
Advertisements

On and use=document|rpc, style=literal|encoded A personal opinion Sanjiva Weerawarana IBM Research September 9-11, 2002.
Attributes Task Force Progress Report WSD Attributes Task Force November 4 th, 2003 WSDL F2F.
Proposal for Shortcut Syntax for Simple Operations Sanjiva Weerawarana September 21, 2003.
Proposal for Interface Extension Simplification Sanjiva Weerawarana September 21, 2003.
(or not). : What problem is it trying to solve? Indicate the data that is sent to or received from a service Typically the information sent is more than.
XPointer and HTTP Range A possible design for a scalable and extensible RDF Data Access protocol. Bryan Thompson draft Presented to the RDF.
WSDL 1.2 Binding Changes Sanjiva Weerawarana WSDL WG F2F – July 2003 Raleigh, NC.
EGEE is a project funded by the European Union under contract IST WSDL Web Service Description Language
Best Practices in Web Service Style, Data Binding and Validation (for use in Data-Centric Applications) David Meredith, Asif Akram, Rob Allan CCLRC Daresbury.
Dec 7, 2007 Can you read this? If not, please sit closer. Thank you.
Service Description: WSDL COMP6017 Topics on Web Services Dr Nicholas Gibbins –
Tuesday, June 10, 2003 Web Services Brief Overview & Security Assertion Coordinator Pattern by Mohammad Abushadi & Riaz Ahmed for Security Group CSE -
31242/32549 Advanced Internet Programming Advanced Java Programming
Web Services Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Francisco Gonzalez Mario Rincon.  Apache CXF is an open source services framework.  CXF helps you build and develop services using frontend programming.
WSDL 2.0 Marlon Pierce Community Grids Lab Indiana University.
Introduction to WSDL presented by Xiang Fu. Source WSDL 1.1 specification WSDL 1.1 specification – WSDL 1.2 working draft WSDL.
SOAP.
W3C XML Schema: what you might not know (and might or might not like!) Noah Mendelsohn Distinguished Engineer IBM Corp. October 10, 2002.
CIS 375—Web App Dev II SOAP.
RPC Robert Grimm New York University Remote Procedure Calls.
XML in the real world (2) SOAP. What is SOAP? ► SOAP stands for Simple Object Access Protocol ► SOAP is a communication protocol ► SOAP is for communication.
OpenSG Service Definition, Feb 2010 RESTful Service Discussions Shawn Hu.
Topics Acronyms in Action SOAP 6 November 2008 CIS 340.
1 Web Data Management XML Schema. 2 In this lecture XML Schemas Elements v. Types Regular expressions Expressive power Resources W3C Draft:
Web Services Seminar: Service Description Languages
SE 370: Programming Web Services Week 4: SOAP & NetBeans Copyright © Steven W. Johnson February 1, 2013.
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
SOAP Quang Vinh Pham Simon De Baets Université Libre de Bruxelles1.
XML Configuration Access Protocol (XCAP) Jonathan Rosenberg dynamicsoft.
XML Technologies and Applications Rajshekhar Sunderraman Department of Computer Science Georgia State University Atlanta, GA 30302
Apache Axis: A Set of Java Tools for SOAP Web Services.
WSDL Web Services Description Language Neet Wadhwani University of Colorado 3 rd October, 2001.
Systems Analysis I Data Flow Diagrams
XP New Perspectives on XML Tutorial 4 1 XML Schema Tutorial – Carey ISBN Working with Namespaces and Schemas.
Chapter 5 Java Script And Forms JavaScript, Third Edition.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
WSDL Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
I hereby declare that this document is based on my project experience. To the best of my knowledge, this document does not contain any material that infringes.
SOAP Tutorial Ching-Long Yeh 葉慶隆 Department of Computer Science and Engineering Tatung University
James Holladay, Mario Sweeney, Vu Tran. Web Services Presentation Web Services Theory James Holladay Tools – Visual Studio Vu Tran Tools – Net Beans Mario.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Web Services Description Language CS409 Application Services Even Semester 2007.
CL1 Proposal Redefine “install”. Add update artifact. Remove inconsistencies introduced by “baseUninstall” package type.
WSDL 1.2 Binding Changes Sanjiva Weerawarana WSDL WG F2F – July 2003 Raleigh, NC.
XCAP Needed Diffs Jonathan Rosenberg Cisco Systems.
1 WSDL Tutorial Heather Kreger (borrowed from Peter Brittenham) Web Services Architect IBM Emerging Technologies.
XML – Part III. The Element … This type of element either has the element content or the mixed content (child element and data) The attributes of the.
Tutorial 13 Validating Documents with Schemas
Service Component Architecture (SCA) Policy TC … Face to Face Agenda – Jan 24,
Web services. Introduction to WSDL. February 23, 2006.
Web Technologies Lecture 10 Web services. From W3C – A software system designed to support interoperable machine-to-machine interaction over a network.
Agenda 1.WSDL & XML Schema Astronomicko-geofyzikálne observatórium, Modra An Order.
1 WSDL Web Services Description Language. 2 Goals of WSDL Describes the formats and protocols of a Web Service in a standard way –The operations the service.
Lecture VI: SOAP-based Web Service CS 4593 Cloud-Oriented Big Data and Software Engineering.
Web Service Definition Language. Web Services: WSDL2 Web Service Definition Language ( WSDL ) What is a web service? [ F. Leymann 2003 ] A piece of code.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
1 Objective Caml (Ocaml) Aaron Bloomfield CS 415 Fall 2005.
Winter 2016CISC101 - Prof. McLeod1 CISC101 Reminders Quiz 3 next week. See next slide. Both versions of assignment 3 are posted. Due today.
SOAP, Web Service, WSDL Week 14 Web site:
Quiz 3 Topics Functions – using and writing. Lists: –operators used with lists. –keywords used with lists. –BIF’s used with lists. –list methods. Loops.
Practical II – Modifying WSDL (30+ mins)
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Dimuthu Leelarathne Software Engineer WSO2
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
Issue 47: Feature Changes in WSDL1.2 & Potential Impact on BPEL4WS
Semantic Markup for Semantic Web Tools:
Lecture 5: Functions and Parameters
New Perspectives on XML
Presentation transcript:

Eliminating Eliminating Sanjiva Weerawarana WSDL WG F2F – Raleigh, NC July 30, 2003

Overview Good & bad of Good & bad of Solution space Solution space Proposal Proposal Retaining RPC capabilities Retaining RPC capabilities Conclusion Conclusion

Advantages of Advantages of Allows clear specification of multiple things to send/receive Allows clear specification of multiple things to send/receive Cleanly supports multiple type systems Cleanly supports multiple type systems Using multiple parts maps naturally to method signature model of traditional IDLs Using multiple parts maps naturally to method signature model of traditional IDLs

Problems with Problems with Lack of flexibility w.r.t. data sent/received Lack of flexibility w.r.t. data sent/received –No optional parts etc. Complexity due Complexity due –Two ways to do anything encourages profiling Inconsistent usage to represent method signatures Inconsistent usage to represent method signatures –Advantage of natural mapping to traditional IDLs is lost, at least partially

Solution Space Fix s problems Fix s problems –Add optionality etc., see next page –Remove one –Force (how?) signatures to be described in one way Replace with something else Replace with something else

Improving Improving (Sanjivas old proposal) (Sanjivas old proposal) Drop it and inline s Drop it and inline s Add cardinality Add cardinality In effect, duplicate functionality of xsd:complexType In effect, duplicate functionality of xsd:complexType

Improving cont. Even if we do this, how do we force people to describe function signatures with multiple s except with a single element? Even if we do this, how do we force people to describe function signatures with multiple s except with a single element? –This is not a religious argument: both these approaches for describing signatures are in use today.

Proposal This is a summary proposal – it does not go through the evolutionary approach of my ed proposal This is a summary proposal – it does not go through the evolutionary approach of my ed proposal –See that if you want to see how to get here

Proposal - Summary Drop Drop Let / / point to a single as the thing to send/receive Let / / point to a single as the thing to send/receive Define rules to allow one to capture signature information in how the schemas are defined Define rules to allow one to capture signature information in how the schemas are defined

Proposed Syntax <input [body=qname] <input [body=qname] [headers=list-of-qnames]/> [headers=list-of-qnames]/> [<output [body=qname] [<output [body=qname] [headers=list-of-qnames]/>] [headers=list-of-qnames]/>] <fault details=qname <fault details=qname [headers=list-of-qnames]/>* [headers=list-of-qnames]/>* </interface> (and similary for other MEPs)

SOAP Binding [<output [body=qname] [<output [body=qname] [headers=list-of-qnames]/>] [headers=list-of-qnames]/>] <fault details=qname <fault details=qname [headers=list-of-qnames]/>* [headers=list-of-qnames]/>* </interface>

Support of SOAP 1.2 Only one element inside Only one element inside –OK because WS-I has decreed so No direct support for SOAP Encoding No direct support for SOAP Encoding –OK because its deprecated to adjuncts –OK because WS-I has decreed so

Java Binding – JAX-Sanjiva-1 interface { public Element (Element input); public Element (Element input);} (or replace element with your favorite Infoset representation, e.g., XMLBeans, SAX, …)

Java Binding – JAX-Sanjiva-2 class InputType { … xsd -> Java mapping of input element … … xsd -> Java mapping of input element …} class OutputType { … xsd -> Java mapping of output element … … xsd -> Java mapping of output element …} interface { public OutputType (InputType input); public OutputType (InputType input);}

Capturing Method Signatures Previous bindings may not be natural enough Previous bindings may not be natural enough –Consider taking int foo (float, person) and round- tripping signature1 -> WSDL -> signature2 signature1 -> WSDL -> signature2 –Signatures 1 & 2 wont look similar right now –Not good enough Whats needed is a way to capture how the signature is used to derive the input/output elements used in operations Whats needed is a way to capture how the signature is used to derive the input/output elements used in operations

Capturing Method Signatures (cont.) How an is mapped to a signature is not our business How an is mapped to a signature is not our business –Language bindings will do that, e.g., JAX- Roberto –However, it would be nice if we provide sufficient information, for one who cares about it, to recover the original signature

Proposal Whats needed is a way to capture how the signature is used to derive the input/output elements used in operations Whats needed is a way to capture how the signature is used to derive the input/output elements used in operations Add an optional hint to allow one to indicate the rules that were followed in defining the schemas Add an optional hint to allow one to indicate the rules that were followed in defining the schemas – – We define one normative We define one normative –

Rules No default value No default value If not given then no information about the "style" of the operation's elements is available If not given then no information about the "style" of the operation's elements is available

@encodingStyle= The input and output elements have been defined according to a pattern indicated by these rules. The input and output elements have been defined according to a pattern indicated by these rules. Input/output elements contain only local element children (i.e., no global elements allowed). (No etc. allowed? Not sure but probably should say so.) Input/output elements contain only local element children (i.e., no global elements allowed). (No etc. allowed? Not sure but probably should say so.) Input element's name's localPart and are the same. Input element's name's localPart and are the Output element's name's localPart is Output element's name's localPart is Input and output elements are both in the same namespace. Input and output elements are both in the same namespace. The child elements of input and output represent input and output parameters of the operation. (" " in WSDL 1.1) The child elements of input and output represent input and output parameters of the operation. (" " in WSDL 1.1) If there exists foo such that there are child elements named foo in both input and output elements, then that represents an in/out parameter. If there exists foo such that there are child elements named foo in both input and output elements, then that represents an in/out parameter. If there does not exist any such foo in both elements then all the parameters are input-only and/or output-only as appropriate (depending on whether they're in the input or output element). If there does not exist any such foo in both elements then all the parameters are input-only and/or output-only as appropriate (depending on whether they're in the input or output element).