Practical II – Modifying WSDL (30+ mins)

Slides:



Advertisements
Similar presentations
EGEE is a project funded by the European Union under contract IST WSDL Web Service Description Language
Advertisements

Service Description: WSDL COMP6017 Topics on Web Services Dr Nicholas Gibbins –
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
WSDL 2.0 Marlon Pierce Community Grids Lab Indiana University.
SOAP Lee Jong-uk. Introduction What is SOAP? The features of SOAP The structure of SOAP SOAP exchange message model & message Examples of SOAP.
EGEE is a project funded by the European Union under contract IST WSDL Web Service Description Language 3 – 4 June
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
3c.1 Elements of a WSDL document. 3c.2 Web Service Definition Language (WSDL) A W3C standard XML document that describes three fundamental properties.
WSDL Homework - Plenio. WSDL - Structure Source: w3schools.com.
XML Technologies and Applications Rajshekhar Sunderraman Department of Computer Science Georgia State University Atlanta, GA 30302
3d.1 More on XML XML Schema Definition Language (XSD)
ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Web Services Overview Mary Grammatikou 9/06/2009.
Enabling Grids for E-sciencE ISSGC’05 XML Schemas (XSD) Richard Hopkins, National e-Science Centre, Edinburgh June 2005.
Webservices (WS) and WSDL (1.1)
Webservices (WS) and WSDL (1.1) Sources: –Chitnis, M., Tiwari, P., Ananthamurthy, L.: Introduction to Web Services: Architecture,
WSDL Web Services Description Language Neet Wadhwani University of Colorado 3 rd October, 2001.
TP2653 Adv Web Programming SOAP and WSDL. SOAP Simple Object Access Protocol – Lightweight XML-based messaging protocol – A protocol for accessing a Web.
1 SOAP Simple Object Access Protocol 大葉大學資工系. 2 Purpose of SOAP Developers need to establish a standard transport and data-exchange framework to achieve.
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.
Grid Computing, B. Wilkinson, 20043b.1 Web Services Part II.
Lecture 6 & 7 SOAP WSDL UDDI. Chapter 22Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Highlights eXtensible.
WSDL: Web Services Definition Language CS 795/895.
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.
1 Core Web Services Standards. 2 (Simplified) Web Service Architecture Registry 1. Service Registers PUBLISH 3. Client calls Service BIND 2. Client Request.
Web Services (SOAP, WSDL, and UDDI)
WEB SERVICE DESCRIPTION LANGUAGE ( WSDL) -SIVA SAGAR TELLA.
Web Services: WSDL. Kas ir WSDL? Pirms izmantot SOAP ar konkrēto servisu ir jāzina kādai jābūt SOAP ziņojuma struktūrai kuru protokolu izmantot (HTTP,
WSDL Tutorial Ching-Long Yeh 葉慶隆 Department of Computer Science and Engineering Tatung University
Web Services Description Language CS409 Application Services Even Semester 2007.
WS-RF TCMay 2005 F2F 1 WS-RF Technical Committee May 2005 Face-to-face Agenda.
SOAP & WSDL Aug’10 – Dec ’10. Introduction  SOAP - Simple Object Access protocol Protocol specification for exchanging structured information in the.
Deferred Messaging Brown Bag 1. Agenda 2 Background Solution Implementation Details Additional Information.
FIMS v1.1 Version numbers in schema Richard Cartwright Quantel July 2013.
1 Web Service Description Language (WSDL) 大葉大學資工系.
1 WSDL Tutorial Heather Kreger (borrowed from Peter Brittenham) Web Services Architect IBM Emerging Technologies.
© Drexel University Software Engineering Research Group (SERG) 1 An Introduction to Web Services.
Grid Services I - Concepts
1 Web Services Web and Database Management System.
Web Service Jianguo Lu SW and WS WWW (HTML, HTTP, URI) Semantic Web (RDF, RDFS, OWL) Web Service (WSDL, SOAP, UDDI) SWS, Intelligent.
Lattice QCD Data Grid Middleware: Meta Data Catalog (MDC) -- CCS ( tsukuba) proposal -- M. Sato, for ILDG Middleware WG ILDG Workshop, May 2004.
CP3024 Lecture 10 Web Services. What are Web Services?  “encapsulated, loosely coupled, contracted software objects offered via standard protocols” ZapThink.
Transaction Processing CS409 Application Services Even Semester 2007.
Web services. Introduction to WSDL. February 23, 2006.
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.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
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
Enabling Grids for E-sciencE Web Services Description Language – WSDL 1.1 Richard Hopkins National e-Science Centre, Edinburgh February.
Discovery of Manageability Clarification
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
Beginning 자바 웹 서비스 웹 서비스 호출 Meilan JIANG Cyber infrastructure Research Laboratory Department of Advanced Technology.
SOAP clients in PHP Disposition ● Necessary steps when constructing a client with a WSDL ● Example client ● Necessary steps when constructing a client.
Metadata for WS-Resources WS-Resource Metadata Descriptor
WSDL: Web Service Description Language
Beginning XML 4th Edition.
Lab Practice 5 Meilan JIANG
An Introduction to Web Services
Sabri Kızanlık Ural Emekçi
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Some Basics of Globus Web Services
XML and SOAP Examples PTLIU Laboratory for Community Grids
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
Issue 47: Feature Changes in WSDL1.2 & Potential Impact on BPEL4WS
Web Based Applications
Web Services.
Web Services, J2EE and CORBA
Techniques to Invoke Web Services from SAS
Presentation transcript:

Practical II – Modifying WSDL (30+ mins) INTRODUCTION 02/11/2017 Practical II – Modifying WSDL (30+ mins) Richard Hopkins National e-Science Centre, Edinburgh February 23 / 24 2005 Web Services and WSRF, 24/25 Feb 2005, NeSC

Introduction Goals – To gain some direct experience of WSDL definition 02/11/2017 Introduction Goals – To gain some direct experience of WSDL definition Structure Take the WSDL produced by ws-compile for the quote of the day practical, and modify it as follows A) Change names – QotdPort becomes OLDQotdPort etc. for binding, portType, operation, messages leave location as location="http://localhost:8080/Qotd/qotd" Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction Web Services and WSRF, 24/25 Feb 2005, NeSC

Modification B) Give the service a new port, for which location="http://localhost:8080/NEWQotd/qotd" the operation is GetQuote - Request has information minLength – the minimum number of characters in the quote maxLength – the maximum number of characters in the quote Response has fields theQuote – the actual quote anAttribution – zero or more of these, each a source for the quote Extension points are included in both request and response Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction

B will be according to a provided solution I will go through that solution But most of it won’t be there when you do the exercise Make sure you understand it C) what is wrong with the provided solution? how would you fix it? For coffee break discussion – you are expected to do any fixes to the WSDL Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction

Part A – Changing names …. <types/> INTRODUCTION 02/11/2017 Part A – Changing names …. <types/> <message name="OLDQotd_getQuote"/> <message name="OLDQotd_getQuoteResponse"> <part name="result" type="xsd:string"/> </> <portType name="OLDQotd"> <operation name="OLDgetQuote"> <input message="tns:OLDQotd_getQuote"/> <output message="tns:OLDQotd_getQuoteResponse"/></></> <binding name="OLDQotdBinding" type="tns:OLDQotd"> …. Some change of name … </binding> <service name="Qotd"> <port name="OLDQotdPort" binding="tns:OLDQotdBinding"> <soap:address location="http://localhost:8080/Qotd/qotd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/> </></></> Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction Web Services and WSRF, 24/25 Feb 2005, NeSC

Part B – new types Becomes <types/> Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction

The Types <types> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://nesc.ed.ac.uk/types/Qotd"> <element name="QuoteT"> <complexType> <sequence> <element name="theQuote" type="xsd:string"/> <element name="anAttribution" type="xsd:string" minOccurs="1“ maxOccurs="unbounded“ /> <any namespace="##other" minOccurs="1“ maxOccurs="unbounded“ /> </sequence> </complexType> </element> <element name="GetQuoteT"> <complexType> <sequence> <element name="minLength" type="xsd:integer" minOccurs="0"/> <element name="maxLength" type="xsd:integer" minOccurs="0"/> <any namespace="##other“ minOccurs="1“ maxOccurs="unbounded“ /> </sequence> </complexType> </element> </schema> </types> The complex bit – Will leave this slide up Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction

Insert Two New Messages <?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" … xmlns:types=http://nesc.ed.ac.uk/types/Qotd … > <types> …. </types> <message name="Qotd_getQuote"> <part name="getQuoteP" element="types:GetQuoteT"></part> </message> <message name="Qotd_getQuoteResponse"> <part name="result" element="types:QuoteT"/> <message name="OLDQotd_getQuote"/> …. Very similar to the OLD message items – Change of name Put in naes of types in the schema declarations just done Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction

Insert New PortType Very similar to the OLD portType <message name="Qotd_getQuote"> <part name="getQuoteP" element="types:GetQuoteT"></part> </message> <message name="Qotd_getQuoteResponse"> <part name="result" element="types:QuoteT"/> <message name="OLDQotd_getQuote"/> …. <portType name="Qotd"> <operation name="getQuote"> <input message="tns:Qotd_getQuote"/> <output message="tns:Qotd_getQuoteResponse"/> </operation> </portType> <portType name="OLDQotd"> ….. Very similar to the OLD portType Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction

Insert New Binding Very similar to the OLD binding <portType name="Qotd"> <operation name="getQuote"> … </operation> </portType> <portType name="OLDQotd"> … </portType> <binding name="QotdBinding" type="tns:Qotd"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="getQuote"> <soap:operation soapAction=""/> <input> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://nesc.ed.ac.uk/wsdl/Qotd" use="encoded"/> </input> <output> … </output> </operation> </binding> <binding name="OLDQotdBinding" type="tns:OLDQotd"> …. </binding> Very similar to the OLD binding Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction

A New Port for the Service <service name="Qotd"> <port name="QotdPort" binding="tns:QotdBinding"> <soap:address location="http://localhost:8080/NEWQotd/qotd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/> </port> <port name="OLDQotdPort" binding="tns:OLDQotdBinding"> <soap:address location="http://localhost:8080/Qotd/qotd" </service> </definitions> Put in a new port for the service, for accessing this richer quote of the day interface Use a new location, since the old interface must continue to be available at the old location Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction

So, away you go <types> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://nesc.ed.ac.uk/types/Qotd"> <element name="QuoteT"> <complexType> <sequence> <element name="theQuote" type="xsd:string"/> <element name="anAttribution" type="xsd:string" minOccurs="1“ maxOccurs="unbounded“ /> <xs:any namespace="##other" minOccurs="1“ maxOccurs="unbounded“ /> </sequence> </complexType> </element> <element name="GetQuoteT"> <complexType> <sequence> <element name="minLength" type="xsd:integer" minOccurs="0"/> <element name="maxLength" type="xsd:integer" minOccurs="0"/> <xs:any namespace="##other“ minOccurs="1“ maxOccurs="unbounded“ /> </sequence> </complexType> </element> </schema> </types> The complex bit – Will leave this slide up Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction

Retrospective – the problems what is wrong with the provided solution? how would you fix it? Some problems The message structuring does not fit with RPC encoded See WSDL produced for the FileRepository practical for how this might better be done The extension point (any) elements violate determinism, since they both occur after a variable-occurrence element The extensibility “rules” suggest the elements should have anyAttributes, but that would not be appropriate for RPC style There is the possibility of faults – no quote in the given range Include fault messages Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction

The End THE END Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction

Practical III – Modifying WSDL for WSRF compliance (45+ mins) INTRODUCTION 02/11/2017 Practical III – Modifying WSDL for WSRF compliance (45+ mins) Richard Hopkins National e-Science Centre, Edinburgh February 23 / 24 2005 Web Services and WSRF, 24/25 Feb 2005, NeSC

Introduction Goals – To think a bit about resources and WSRF 02/11/2017 Introduction Goals – To think a bit about resources and WSRF A paper&pencil exercise – best in pairs Real use of WSRF would use specific tool support Structure Start with the original WSDL produced by ws-compile for the quote of the day practical Consider how it needs modifying for revised functionality Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction Web Services and WSRF, 24/25 Feb 2005, NeSC

Revised Functionality A user must register before getting any quotes The user registers the range of quote lengths they are interested in registerUser(minLength, maxLength) A Unique Quote is returned The getQuote operation selects a quote which Is within the currently registered range of quote lengths Has not previously been provided for this user registration Registration Modification/Enquiries The user can discover and modify their current minLength and maxLength The user can discover the number of quotes that are available to be selected from in a getQuote operation The quote service can autonomously add and remove quotes a user can ask to be informed if such a change results in a change in the number of available quotes Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction

The Questions What is the resource? What is a formulation of its properties which fits with the functionality NOT the full actual state of the set of available quotes Do a schema definition for this How do we make best use for the WSRF-defined operations to provide this functionality – What are the operations? What do we have to add to the WSL In general terms – not actual definitions Example message exchanges Do actual XML documents for the SOAP envelopes of the message exchanges for the various operations Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction

DO IT The next slides have the answers Try it First Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction

A POSSIBLE SET OF ANSWERS What is the resource? A user registration What is a formulation of its properties which fits with the functionality? minLength; maxLength; count (of number of available quotes) How do we we make best use for the WSRF-defined operations to provide this functionality – What are the operations? Request/Response register(minLength, maxLength):registrationRef getQuote() getMultipleResourceProperties(…) setResourceProperties (…) [not count] subscribeToNotificationOfCountValueChange Notification ChangeOfCountValue(OldValue, NewValue) What to add to the WSDL? These operations; the resourceProperties definition; Headers for resource qualified end-point addresses Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction

The XML details (to be done) Schema for Properties Document Message examples Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction

THE END End Web Services and WSRF, 24/25 Feb 2005, NeSc -- Introduction