WSDL versioning. Facts Basic scenario. WSDL -Web Services Description Language SAWSDL -Semantic Annotations for WSDL and XML Schema

Similar documents
Standardization of Ontologies

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Fall 94-95

Semantic Annotations for WSDL and XML Schema

Current State of the Semantic Web

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Spring 90-91

Java EE 7: Back-end Server Application Development 4-2

We recommend you review this before taking an ActiveVOS course or before you use ActiveVOS Designer.

Web Services Description Language (WSDL) Version 1.2

This presentation is a primer on WSDL Bindings. It s part of our series to help prepare you for creating BPEL projects. We recommend you review this

Contents. G52IWS: The Semantic Web. The Semantic Web. Semantic web elements. Semantic Web technologies. Semantic Web Services

MDA & Semantic Web Services Integrating SWSF & OWL with ODM

Naming & Design Requirements (NDR)

WSDL RDF Mapping. Jacek Kopecký 2005/12/14. Copyright 2005 Digital Enterprise Research Institute. All rights reserved.

Lecture Telecooperation. D. Fensel Leopold-Franzens- Universität Innsbruck

Web services add a new level of functionality

Introduction to Web Services & SOA

Realisation of SOA using Web Services. Adomas Svirskas Vilnius University December 2005

Web Applications. Web Services problems solved. Web services problems solved. Web services - definition. W3C web services standard

Lesson 5 Web Service Interface Definition (Part II)

Advanced Topics in the Semantic Web: Semantic Services for Business Process Management

Engineering Grounded Semantic Service Definitions from Native Service Specifications

WS-MessageDelivery Version 1.0

Lupin: from Web Services to Web-based Problem Solving Environments

Xml Schema Attribute Definition Language (xsd) 1.0

Lesson 10 BPEL Introduction

Introduction to Web Services & SOA

Semantic Web Tools. Federico Chesani 18 Febbraio 2010

Semantic Web Systems Web Services Part 2 Jacques Fleuriot School of Informatics

SAWSDL Status and relation to WSMO

Open Research Online The Open University s repository of research publications and other research outputs

SOAP Specification. 3 major parts. SOAP envelope specification. Data encoding rules. RPC conventions

Semantics Enhanced Services: METEOR-S, SAWSDL and SA-REST

WSDL Document Structure

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG

Web Ontology Language for Service (OWL-S) The idea of Integration of web services and semantic web

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering

References differences between SVG 1.1 Full and SVG 1.2 Tiny

XML Metadata Standards and Topic Maps

Mapping between Digital Identity Ontologies through SISM

7.5.2 Mapping C/C++ to XML Schema with soapcpp Multi-Referenced Data 19.2

Improved Methods for Tagging and Semantic-Annotation for the Semantic-based OpenAPI Retrieval System *

Enhanced Semantic Operations for Web Service Composition

SERVICE-ORIENTED COMPUTING

Semantic Web Progress and Directions

Linked Data and RDF. COMP60421 Sean Bechhofer

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

Chapter 10: Understanding the Standards

Session 23 XML. XML Reading and Reference. Reading. Reference: Session 23 XML. Robert Kelly, 2018

Web Services Annotation and Reasoning

Comp 336/436 - Markup Languages. Fall Semester Week 4. Dr Nick Hayward

Descriptions. Robert Grimm New York University

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

SDMX self-learning package XML based technologies used in SDMX-IT TEST

Unified Lightweight Semantic Descriptions of Web APIs and Web Services

SOAP / WSDL INTRODUCTION TO SOAP, WSDL AND UDDI, THE COMBO FOR BIG WEB SERVICES SOAP - WSDL - UDDI. PETER R. EGLI peteregli.net. peteregli.

Orchestrating Music Queries via the Semantic Web

Introduction Syntax and Usage XML Databases Java Tutorial XML. November 5, 2008 XML

Service Interface Design RSVZ / INASTI 12 July 2006

World-Wide Wide Web. Netprog HTTP

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 7 XML

Semantics to Empower Services Science: Using Semantics at Middleware, Web Services and Business Levels

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY. (An NBA Accredited Programme) ACADEMIC YEAR / EVEN SEMESTER

Business Process Modelling & Semantic Web Services

Complex type. This subset is enough to model the logical structure of all kinds of non-xml data.

MDA & Semantic Web Services Extending ODM with Service Semantics

SA-REST: Using Semantics to Empower RESTful Services and Smashups with Better Interoperability and Mediation

Web service design. every Web service can be associated with:

Web Services: Introduction and overview. Outline

DAML: ATLAS Project Carnegie Mellon University

INF3580/4580 Semantic Technologies Spring 2015

Advanced Tagging and Semantic-Annotation Methods for the Semantic-based OpenAPI Retrieval System

CmpE 596: Service-Oriented Computing

XML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web

Introduction to Web Services

XML for Java Developers G Session 8 - Main Theme XML Information Rendering (Part II) Dr. Jean-Claude Franchitti

Ontology Servers and Metadata Vocabulary Repositories

Semantic-Based Web Mining Under the Framework of Agent

Grid Computing. What is XML. Tags, elements, and attributes. Valid and well formed XML. Grid Computing Fall 2006 Paul A.

Index. Callimachus, 112 Contexts and Dependency Injection (CDI), 111 createdefaultmodel() method, 94 CubicWeb, 109 Cypher Query Language (CQL), 188

METEOR-S Process Design and Development Tool (PDDT)

Automated Dynamic Invocation System for Web Service with a User-defined Data Type

Semantic Web Update W3C RDF, OWL Standards, Development and Applications. Dave Beckett

Apache Wink Developer Guide. Draft Version. (This document is still under construction)

7.1 Introduction. extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML

Semantic Web Fundamentals

SUN. Java Platform Enterprise Edition 6 Web Services Developer Certified Professional

WSDL 2.0 to UDDI mapping WSDL-S/SAWSDL to UDDI mapping

COPYRIGHTED MATERIAL. Contents. Part I: Introduction 1. Chapter 1: What Is XML? 3. Chapter 2: Well-Formed XML 23. Acknowledgments

Semantic Web. Lecture XIII Tools Dieter Fensel and Katharina Siorpaes. Copyright 2008 STI INNSBRUCK

Managing Learning Objects in Large Scale Courseware Authoring Studio 1

Web Services Resource Metadata 1.0 (WS-ResourceMetadataDescriptor)

Web Services. Grid Computing (M) Lecture 6. Olufemi Komolafe 19 January 2007

3GPP TS V8.2.0 ( )

Semantics for Optimization of the Livestock Farming

API Documentation. Web Application Development. Zsolt Tóth. University of Miskolc. Zsolt Tóth (University of Miskolc) API Documentation / 28

11. EXTENSIBLE MARKUP LANGUAGE (XML)

Linked Data and RDF. COMP60421 Sean Bechhofer

Semantic Web Programming

XML Grammar and Parser for the Web Service. Offerings Language

Transcription:

Internet Engineering Tomasz Babaczyński ski, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and description languages WSDL -Web Services Description Language SAWSDL -Semantic Annotations for WSDL and XML Schema WSDL an XML application, developed by W3C, used to write a formal, technical description of web interfaces. provides distinct definitions and terminologies used in web description a schema for s declarations as collections of network endpoints, or ports, offering s, and exchanging data through messages separates abstract definitions from concrete use or instance enoughto generatecodepartially, for a clientora serverside ofthe, inanautomaticmanner(itisalsopossibleto generatewsdl descriptionon a baseofexistingcodeofweb implementation). WSDL versioning Two major versions of WSDL specification WSDL 1.1 (old W3C proposition, but still used), WSLD 2.0 (current W3C recommendation) The WSDL 2.0 got its name after renaming WSDL 1.2 because of some substantial differences between 1.1 and 1.2 versions WSDL 2.0 accepts binding to all the HTTP request methods (not only GET and POST as in WSDL 1.1) so it better suits for RESTfulweb s implementation. There is also SOAP 1.1 binding recommendation available. However, WSDL 1.1 has better support from software development tools. Facts Specification Publication date WSDL 1.1 Note 15 Mar 2001 WSDL Usage Scenarios 04 Jun 2002 WSDL Requirements 28 Oct 2002 WSDL Architecture 11 Feb 2004 WSDL Glossary 11 Feb 2004 WSDL Usage Scenarios 11 Feb 2004 WSDL 1.2 Core Language 11 Jun 2003 WSDL 1.2 Message Patterns 11 Jun 2003 WSDL 1.2 Bindings 11 Jun 2003 WSDL 2.0 Primer WSDL 2.0 Core Language WSDL 2.0 Adjuncts WSDL 2.0 SOAP 1.1 Binding WSDL 2.0 RDF Mapping Web Services Addressing Core 09 May 2006 Web Services Addressing SOAP Binding 09 May 2006 Web Architecture 15 Dec 2004 Status Basic scenario a client discovers a web in the network and analyses its description provided in the corresponding WSDL document, a client learns from the description about s provided and data types used by the, a client decides, which s he or she is interested in, and builds the application code for it if a client wants and can, it invokes chosen s s.

Structure of WSDL 1.1 document The abstract section includes: port types, messages and types constructs. Port types are abstract collections of supported s. Operations refer to messages that are abstract descriptions of the data being exchanged. Operations and messages are bound to a concrete network protocol and message format. The concrete section includes: binding that defines the concrete protocol and data format specifications for a particular port type. Port definition associates a network address with a reusable binding. A collection of ports defines a. Structure of WSDL 2.0 document The abstract section includes: interfaces and types constructs. An interface collects together supported s. An associates a message exchange pattern with one or more messages. Messages are described using a type system (usually XML Schema) for defining bodies of s, s and s. The concrete section includes: binding that specifies transport and wire format details for one or more interfaces. An endpoint associates a network address with a binding. A group of endpoints that implement a common interface defines a. WSDL 1.1 WSDL 2.0 definitions types Element decl. Type def. description types Element decl. Type def. WSDL 1.1 import types message part Abstract section Concrete section message porttype binding port interface in out binding endpoint MEP Operation style definitions porttype binding anytopleveloptionalelement request-response-or-one-way- solicit-response-or-notification- port <definitions> Thisisa rootelement ofwsdl document. It works as a container for several fragments (nested elements) that forms together a full description. Itprovidesnamespacedeclarationsvalidfor its content along with XML namespace prefixes. <> Element is used to provide a human readable description. This element can assists (be nested in) any other element appearing in a WSDL document.

<import> This elements works like #includepreprocessor directive in C programming language. It allows splitting the description into independent documents and integrating them in one, main document as necessary. This improves the modularity and legibility definition of the. The import has two attributes: namespaceand location. <types> This element is a container for data types definitions used in <message>elements. It contains zero or more sub-elements <schema>, which must adhere to the rules for XML Schema documents. The declared types can be complextype or simpletype. <message> This element defines the format of messages exchangedbetweena clientanda web. It may represent a query, a response ora signalon error. Itrefersto thedata types defined in <types>. The data contained in <message> are abstract. A message consists of one or more sub-elements <part> <> is an abstract definition of an supported by a Web there can be several, and messages defined declared using nested <>, <> and <> elements. These elements refer to <message> elements defined in the same WSDL document or imported from external documents. the order of messages should follows so called Message Exchange Patterns (MEP). <binding> This elements is used to specify a concrete protocol binding and data encoding for a given <porttype>(i.e. it provides binding to HTTP, SOAP MIME or, possibly, custom protocols). Since in the WSDL document <> elements are already defined, the element <binding>maps the abstract definitions of s, their and messages, to the appropriate protocol used by a web. <porttype> This element specifies a set of s supported by the endpoint (it provides a unique identifier to a group of s supported by a single endpoint). Each <> is defined individually.

<> WSDL 2.0 description 0.. import include any##any 0.. This element appears typically at the end of the WSDL document. It defines a concrete web endpoint with URL to the location (there is no other occurrences of such URL before element). <>element groups one or more <port>elements. A single <port>element represents an endpoint (access point) to a web. types interface binding endpoint in out 1.. <description> The <description> is a main element of a WSDL document. The content of this element should conform to the following pattern: <description targetnamespace="xs:anyuri" > < />* [ <import /> <include /> ]* <types />? [ <interface /> <binding /> < /> ]* </description> <> A human readable description in the WSDL 2.0 documents is provided within optional <>elements. These elements can appear in all elements included in a <description>. The <> syntax is following: <> [extension elements]* </> <include> and <import> Element <include>allows to include components defined in other WSDL documents in the current interface definition. Element <include> has a mandatory location attribute which specifies the location of the external, included WSDL documents. The target namespace of attached WSDL descriptions must match the target namespace of the base document. Element <import> has a similar meaning as <include>. The difference is that the imported WSDL document can have different target namespace then the base document. This element has a mandatory namespace attribute for an imported element and an optional location attribute. Standard content of this element is as follows: <types> Element <types> serves as a place for definitions of data types used by exchanged messages. XML Schema is preferred as typing language, although it is possible to use also the DTD or RELAX NG. The use of custom schemas relies on importing them (with the use of <xs:import>) or embedding them within <types> element of the WSDL document (using <xs:schema>). The elements from imported or included schemas can be referenced by using their QName.

<interface> Element <interface> contains <> elements, which group definitions of sequences of messages sent to and from the. It may contain <> elements with errors descriptions. It has mandatory attribute name (the value of which is a name of the interface), and two optional attributes: extends (which lists the interfaces that the interface extends) and stylede(which contains the de style used to create element declarations for all interface s). <> This element serves as an abstract description of a that MAY occur during invocation of an of an interface. The two attributes, name and element, are used, respectively, to declare the name of the and indicate the contents of the message. <> This element describes interaction with a by listing messages exchanged between the and its user or users It may contain such elements as: <>, <>, <in>, and <out>. The list of attributes of the <> consists of the following items: style, safe, pattern (all three are optional), and name (required). <> and <> These elements are message containers used in normal communication. Message exchange pattern includes rules on how to generate messages with information about the error. Elements <in> and <out> are used as containers for messages with errors. Signaling an error might terminate message exchange pattern. The value of their mandatory messagelabelattribute indicates the role of messages they carry. <binding> This element contains binding declarations necessary to access the. These declarations describe a message format and transmission protocol for communication with an endpoint (including encoding of and parameters implemented in the ). The relevant declarations are described in the mandatory element <>. defined a <binding> can be used many times in the definitions of various interfaces. <> Element <> contains a set of <endpoint> elements, determining the places where the has been implemented. An interface attribute of the contains the name of the interface, whose endpoints are just being described.

<endpoint> SAWSDL Element <endpoint> is used to define an endpoint. Two of its attributes -name (name of the endpoint) and binding (representing binding) are required. The third attribute, address (address of the that implements the interface) is optional. Semantic web Extension of the current World Wide Web. It enables interpretation of published information not only by humans that use web browsers, but also by machines that recognize and understand the semantics of web resources from the meta-information they are annotated with. The meta-information is well structured, and machine processabledata, created using formal semantic models (ontologies). Two main W3C Standards commonly used for defining such models are RDF and OWL. Semantic Web Services Web s of semantic web Make use of semantic annotations and markups to: publish structured, machine processabledata and discover and interact with other s in a detailed and sophisticated way (including dynamic discovery, composition and invocation of s). http://www.w3.org/2001/sw/ http://www.w3.org/2007/owl/wiki/owl_working_group W3C Specifications and others XML SHOE RDF HTML 2.0 RDF(S) UNTANGLE XHTML RDFa HTML XML rec. GRDDL 1989 1994 1995 1996 1996 1998 1998 1999 Mar. Nov. Feb. Dec. Mar. OWL POWDER RDF(S),OWL RDFa Microformats RIF meet. BPEL4WS WSDL-S RIF RuleML SWRL SKOS 2001 2002 2003 2004 2004 2005 2005 2006 Nov. Aug. Feb. Mar. Nov. Dec. Mar. SPARQL Semantic Annotation for WSDL and XML Schema XHTML 4.0.1 WSDL DAML+OIL DAML-ONT/OIL librdf 1999 Dec. 2006 Aug. 2000 Jun. 2006 Oct. 2000 Oct. 2007 Jun. 2001 Jan. OWL 2 SPARQL GRDDL XML 1.1 2008 Dec. 2001 Mar. Other groups and standards Semantic Web Services Initiative (SWSI) is an ad hoc initiative of academic and industrial researchers, whose mission is to create infrastructure that combines Semantic Web and Web Services technologies. Semantic Web Services Framework (SWSF) is an alternative standard for specifying Web Services semantically, incorporating the Semantic Web Services Language (SWSL) and the Semantic Web Services Ontology (SWSO). SWSF provides a process-oriented model, which uses a rule-based language and an ontology of processes.

SAWSDL Describes a method for adding semantic annotations to various parts of a WSDL document Input and message structures, interfaces and s Relying to simple extension attributes Compliant to WSDL v2.0 and v1.1, and XML Schema Maintained by W3C Facts The SAWSDL specification reached W3C status on August 28, 2007. It derives from the earlier work of the semantic Web community [OWL-S] and the other efforts [METEOR-S, WSMO]. Many of SAWSDL ideas originate from the earlier specification [WSDL-S]. The semantic annotations use cases When applied to the schema types help in web discovery and potential composition. When applied to WSDL interfaces and s description provide categorization information necessary for future semantic based discovery (after publication of the description in a registry). When applied to specify the data mapping of XML Schema to/from an ontology allows mediation during invocation. Annotation Mechanism adds extension attributes to chosen WSDL or XML Schema components or introduces extension element with attributes does not rely on any particular semantic modeling language. uses URIs as identifiers of semantic concepts defined in an external semantic model defined within the WSDL document as extension elements is independent on the ontology expression language and mapping languages assumes RDF, OWL. Two basic types of annotations the model reference associates WSDL or XML Schema component with a concept from a given ontology. Such concept can support a semantic based web discovery. the schema mapping specifies the data mapping of XML Schema types to and from a semantic model describes transformation of data from one representation into another, which is especially applicable when trying to chain web s <xs:schema targetnamespace="http://www.w3.org/ns/sawsdl" xmlns="http://www.w3.org/ns/sawsdl" xmlns:xs="http://www.w3.org/2001/xmlschema" xmlns:wsdl="http://www.w3.org/ns/wsdl"> <xs:simpletype name="listofanyuri"> <xs:list itemtype="xs:anyuri"/> </xs:simpletype> <xs:attribute name="modelreference" type="listofanyuri" /> <xs:attribute name="liftingschemamapping" type="listofanyuri" /> <xs:attribute name="loweringschemamapping" type="listofanyuri" /> <xs:element name="attrextensions"> <xs:complextype> <xs:annotation> <xs:>this element is for use in WSDL 1.1 only. It does not apply to WSDL 2.0 documents. Use in WSDL 2.0 documents is invalid.</xs:> </xs:annotation> <xs:anyattribute namespace="##any" processcontents="lax" /> </xs:complextype> </xs:element> </xs:schema>

Extension attributes Multiple semantic annotations can be associated with WSDL element. Schema mappings and a model references can contain multiple pointers. Multiple schema mappings are interpreted as alternatives. Multiple model references all apply. SAWSDL does not specify any other relationship between them. Model reference modelreferenceattribute can be used with every element within WSDL and XML schema. SAWSDL specification defines its use only to annotate: WSDL concepts: interfaces, s, s. XML Schema concepts: complex type definitions, simple type definitions, element declarations, attribute declarations, The URIs it holds are direct references to the ontological concepts. If direct references are not accessible, then liftingschemamappingand loweringschemamappingattributes can provide references to data mapping transformation. Schema mapping liftingschemamappingand loweringschemamappingattributes apply to XML Schema element declaration, complextype definitions, simpletypedefinitions. They hold lists of URIs identifying mappings In general, liftingschemamappinglifts data from XML to a semantic model, loweringschemamappinglowers data from a semantic model into an XML structure. The specification does not define any rules on how a client processor should acquire details of the semantic model being refered. However, the specification recommends that each URI should resolve to a document with a semantic model definition. In particular, a semantic model definition can reside within WSDL document. Annotating WSDL 1.1 documents To annotate element one should add an attrextensionschild to it. The modelreferenceattribute of added element will specify the annotation. A WSDL 1.1 porttype corresponds to a WSDL 2.0 interface and is annotated in the same way. A modelreferenceapplied provides a classification or other semantic descriptions of this element. A liftingschemamapping, loweringschemamappingor modelreferenceattribute may be added to a partelement, defined under a messageelement, to specify an or annotation that applies to the entire message part. Message parts are referenced from the porttypestructure in WSDL 1.1 that generally corresponds to the WSDL 2.0 interface structure. Sample of SAWSDL description <wsdl11: name="order"> <sawsdl:attrextensions sawsdl:modelreference="http://www.w3.org/2002/ws/sawsdl /spec/ontology/purchaseorder#requestpurchaseorder"> <wsdl11: message="orderrequestmessage"/> <wsdl11: message="orderresponsemessage"/> </wsdl11:>

SAWSDL API SAWSDL4J an implementation of the SAWSDL specification that allows developers to create SAWSDL based applications. extends the WSDL4J API for WSDL1. Woden4SAWSDL a WSDL 2.0 parser with API classes that allow for SAWSDL parsingand creation, based on Apache Woden Radiant eclipse pluginthat allows for creating and publishing SAWSDL and WSDL-S interfaces. Profile for GRDDL transformation for SAWSDL http://ns.inria.fr/grddl/sawsdl/