SlideShare uma empresa Scribd logo
1 de 80
Linked Services
 Dr. Carlos Pedrinaci
 The Open University

    SSAIE 2010, Heraklion
Outline


• Web Services or Services on the Web?
• The Semantic Web and the Web of Data
• Linked Services - Integrating Services with
  the Web of Data
 –Annotating WSDLs
 –Annotating Web APIs
• Unified Discovery and Publication on the
  Web of Data
Preparation for Hands-On


• The material shown in this session will be
  the basis for the hands-on session
  afterwards
• You’ll need Firefox
• Tabulator extension for Firefox
 –http://dig.csail.mit.edu/2007/tab/
Web Services
          or
Services on the Web?
Web Services


• Large number of standards and
  implementations
   – WSDL, BPEL, WS-Coordination, WS-
    Transaction, WS-AtomicTransaction,
    WS- (see Cesare’s presentation)

 “Despite their name,Web Services have
      nothing to do with the Web”
                            Frank Leymann
                                  SSAIE 2009
Web Services on the Web


• The Web currently contains 30 billion Web
  pages
 –Nearly 100M active sites
 –10 million new pages added each day

• The Web contains only 28,000 WSDL Web
  services (Seekda.com)
• Verizon have around 4,000
The Ecosystem of APIs and Online
    Data




©Siri (sligthly modified)
The Ecosystem of APIs and Online
    Data




 Over 2000 APIs and 4500 Mashups
   growing at accelerated rate...




©Siri (sligthly modified)
Bringing the Big Think to the Small
Screen




                ©Siri
Semantic Web
  and the
 Web of Data
Semantic Web Principles


• Lift data available on the Web to a level where
  machines can manipulate it in “meaningful ways”
• Adding machine “understandable” annotations
  about Web resources
• All resources are identified by URIs
• Use of Web oriented modeling languages
  • RDF & RDFS
  • OWL (Lite, DL, Full) & OWL2 (EL, QL, RL)
• Use of conceptual models (ontologies,
  vocabularies)
RDF


• Resource Description Framework (RDF) is the HTML of
  the Semantic Web
   – Simple way to describe resources on the Web
   – Based on triples <subject, predicate, object>
   – Defines graphs
RDF Example
RDF Example
RDF Example
RDF Representation


• Several available. Only standard RDF/
  XML
   @prefix ex:   <http://www.example.org/rdf-example#>
   @prefix dc:   <http://purl.org/dc/elements/1.1/>

   ex:Person a rdfs:Class.
   ex:Carlos a ex:Person.

   ex:Doc a rdfs:Class.
   ex:Slide rdfs:subClassOf ex:Doc.
   ex:this a ex:Slide.
   ex:this dc:hasCreator ex:Carlos.
   ...
Ontology and Rule languages


• RDF Schema (RDFS)
  – A simple ontology language on RDF
• Web Ontology Language (OWL) is
  a more expressive ontology language than RDFS
  – Layered language based on Description Logics
     • OWL Lite, OWL DL, OWL Full
     • OWL2 (EL, QL, RL)
• Rule languages
  – Rule Interchange Format (RIF)
  – Extend ontology languages with axioms
SPARQL


• Query language for RDF
• Can be used to express queries across
  diverse data sources
• SPARQL contains capabilities for querying
  required and optional graph patterns along
  with their conjunctions and disjunctions
• The results of SPARQL queries can be
  results sets or RDF graphs
SPARQL Select Example


PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name1 ?name2
 WHERE { ?x foaf:name ?name1 ;
            foaf:mbox ?mbox1 .
         ?y foaf:name ?name2 ;
            foaf:mbox ?mbox2 .
         FILTER (sameTerm(?mbox1, ?mbox2) &&
               !sameTerm(?name1, ?name2))
       }
SPARQL Construct Example

PREFIX foaf:    <http://xmlns.com/foaf/0.1/>
PREFIX vcard:   <http://www.w3.org/2001/vcard-rdf/3.0#>

CONSTRUCT { ?x vcard:N _:v .
            _:v vcard:givenName ?gname .
            _:v vcard:familyName ?fname }
WHERE
 {
    { ?x foaf:firstname ?gname } UNION { ?x foaf:givenname   ?
gname } .
    { ?x foaf:surname   ?fname } UNION { ?x foaf:family_name ?
fname } .
 }
Linked Data

• “Like the web of hypertext, the web of data is constructed with
  documents on the web. However, unlike the web of
  hypertext, where links are relationships anchors in hypertext
  documents written in HTML, for data they links between arbitrary
  things described by RDF. The URIs identify any kind of object or
  concept.”
• Four basic principles:
  1.Use URIs as names for things
  2.Use HTTP URIs so that people can look up those names.
  3.When someone looks up a URI, provide useful information,
    using the standards (RDF, SPARQL)
  4.Include links to other URIs so that they can discover more
    things.

                     Tim Berners-Lee - http://www.w3.org/DesignIssues/LinkedData
Web of Data




Source: http://linkeddata.org/
Linked Services
Integrating Services with the
         Web of Data
Linked Services


• Linked Services are
  Linked Data describing services
• Their inputs, outputs, functionality, etc is
  described using RDF(S) and using existing
  vocabularies
• Consume RDF and produce RDF
• Process layer on top of the Web of Data
Lightweight Semantic Web
               Services

• Existing approaches like OWL-S, WSMO are
  (perceived as) complex in terms of
  – Modeling and Computational complexity
• Web APIs preferred over WSDL Web Services and
  SWS were up to now built on top of WSDL
• Let's try to reduce the complexity
  – Based and built on top of RDF
  – Scale up computationally and promote the uptake
  – WSMO-Lite ontology
• Let's support Web APIs as well
MicroWSMO & WSMO-Lite
Annotating WSDLs
SAWSDL in a Picture
SAWSDL Annotations


• modelReference
 –points to a concept in a semantic model
• loweringSchemaMapping
• liftingSchemaMapping
 –point to data mapping transformation for data
  grounding
Lifting and Lowering


Semantic
level:



Syntactic
level:
WSMO-Lite in SAWSDL

  I     B   F    N
Types of Service Semantics


• Functional                 • Behavioral
  – What the service does      – How the client
                                  talks to the service


• Information model          • Nonfunctional
  – For handling data          – Policies, QoS,
  – Incl. lifting/lowering        price, location etc.
Functional Semantics

• For service discovery, composition
                                                      F
• Category
  – Functionality categorization
  – E.g. eCl@ss
  – Or tagging, folksonomies
• Capability
  – Precondition, Effect
  – Needs using some rule language (WSML, RIF, etc)
Category Example

                     wl:FunctionalClassificationRoot

                               type

     ex:eCommerceService

           subclasses

ex:Travel               ex:Accommodation
ReservationService      ReservationService
Capability Example


ex:RomaHotelReservationPrecondition
   rdf:type wl:Condition ;
   rdf:value """
       ?request
          [ numberOfGuests hasValue ?guests
            and city hasValue ?city ]
          memberOf ReservationData
  and ?guests <= 10
  and ?city = 'Roma'
                         """^^wsml:AxiomLiteral .
Non-functional Semantics


• For ranking and selection                        N
• Not constrained, any ontologies
• Example:

ex:PriceSpecification
     rdfs:subClassOf wl:NonFunctionalParameter .
ex:ReservationFee
     rdf:type ex:PriceSpecification ;
     rdf:value "15"^^ex:euroAmount .
Behavioral Semantics


• For invocation, composition, process mediation         B
• Functionalities on operations
  – Capabilities, categories
• Client selects operation to invoke next
  – Instead of being strictly guided by an explicit process
• Example functional category for operations:
  – Web Architecture: interaction safety
Information Semantics


• For invocation, composition,      I
  data mediation
• Not constrained, any ontologies
• Marked as wl:Ontology
WSMO-Lite Example

<wsdl:description>
  <wsdl:types> <xs:schema>                                              I
     <xs:element name="ReservationRequest"
          sawsdl:modelReference="&ex;Reservation"                       I
          sawsdl:loweringSchemaMapping="&ex;ResMapping.xsparql" … />
  </xs:schema> </wsdl:types>
  <wsdl:interface name="HotelReservations"
          sawsdl:modelReference=
                                                                        F
            "&ex;AccommodationReservationService">
     <wsdl:operation name="searchForRooms"
          sawsdl:modelReference="&wsdlx;SafeInteraction">
                                                                        B
       …
     </wsdl:operation>
     …
  </wsdl:interface>
  <wsdl:service name="RomaHotels" interface="HotelReservations"         F
          sawsdl:modelReference="&ex;RomaHotelReservationPrecondition
                                 &ex;ReservationFee" … />               N
</wsdl:description>
Annotating Web APIs
Reality Check

• Survey based on 222 Web APIs from ProgrammableWeb from 21
  categories
• Types of Web APIs
   – 45.5% REST, RPC 33.8%, Hybrid 20.7%
• 40% of Web APIs do not state the used HTTP method!
• Authentication
   – 80% require authentication (37% use API Key, 14%HTTP Basic,
     6% OAuth, etc)
• Input and Output information
   – 72% do not state the data type of the input parameters
   – 61% use optional parameters, 45% use default values
   – 90% have as output XML, 42% JSON
   – 84% provide example request and 75% example response
What’s the Current State


• Web APIs evolving rapidly and
  autonomously (like the Web)
• No Interface Definition Language adopted
 –WADL is an option but not widely used
 –APIs are described via an HTML Web page
• Allow fast development of mashups
• Little reuse of sofware, high reuse of
  services!
Describing Web APIs

• Machine-readable descriptions useful
  – Tool support for developing clients
  – Service discovery
• No WSDL for Web apps
  – APIs described mostly in text
  – AtomPub has RFC, Service Documents
  – Resources behind AJAX stay undescribed
• Some machine-readable descriptions:
  – HTML links, forms
  – AtomPub service document
  – WADL
hRESTS


• "There's usually an HTML page"
• Identifying machine-readable parts
 –Service, its operations
 –Resource address, HTTP method
 –Input/output data format
• hRESTS microformat
 –Technically, a poshformat
Simpler Example Description

Description of the ACME Hotels service:

The operation getHotelDetails
is invoked using the method GET at
http://example.com/h/{id},
with the ID of the particular hotel replacing
the parameter id. It returns the hotel details
in an ex:hotelInformation document.
Example HTML


<p>Description of the
  ACME Hotels service:</p>
<p>
  The operation <code>getHotelDetails</code> is
  invoked using the method GET
  at <code>http://example.com/h/{id}</code>,
  with the ID of the particular hotel replacing
  the parameter <code>id</code>.
  It returns the hotel details in an
  <code>ex:hotelInformation</code> document.
</p>
Example hRESTS

<div class="service" id="svc">
 <p>Description of the
   <span class="label">ACME Hotels</span> service:</p>
 <div class="operation" id="op1">
  <p>
   The operation <code class="label">getHotelDetails</code> is
   invoked using the method <span class="method">GET</span>
   at <code class="address">http://example.com/h/{id}</code>,
   with <span class="input">the ID of the particular hotel replacing
       the parameter <code>id</code>.</span>
   It returns <span class="output">the hotel details in an
       <code>ex:hotelInformation</code> document.</span>
 </p></div>
</div>
hRESTS


• HTML for RESTful Service Description
• Introduces the service model structure
  – service (+ label)
  – operations (+ address, method)
  – input, output
• Can also be in RDFa
• Basis for extensions:
  – MicroWSMO adds semantic annotations
MicroWSMO


• Extends hRESTS
 –model for model references
 –lifting, lowering
• Applies WSMO-Lite semantics
MicroWSMO

<div class="service" id="svc">
 <p><span class="label">ACME Hotels</span> is a
   <a rel="model" href="…/ecommerce/hotelReservation">
     hotel reservation</a> service.</p> …
 <div class="operation" id="op1"><p> …
   <span class="input">A particular hotel ID replaces the param
     <a rel="model" href="…/onto.owl#Hotel"><code>id</code></
   a>
     (<a rel="lowering" href="…/hotelID.xslt">lowering</a>).
   </span>. …
 </p></div>
</div>
Unified Discovery and
Publication of Services on the
         Web of Data
The Typical High-Level View


           registry

discover              publish
services               descriptions

           invoke
 client                service
                        (provider)
UDDI


• Universal Description, Discovery and Integration
• A Web service registry API specification
  –Business-oriented service publication, discovery
    (initially limited search capabilities)
  –Itself has Web service interface
  –Useful for intranet registries
• A failed public service
  –Not particularly useful discovery support
  –Discontinued in 2006
iServe Architecture   Currently supported by Swift OWLIM
An Open Repository


• Supports access via
 –Web Application - iServe Browser
 –Read&Write RESTful API
 –Linked Data principles
   • SPARQL endpoint
   • Content negotiation (RDF, HTML)
   • All RDF, interlinked with other schemas and
     datasets
• Support for several SWS formalisms

                                                   62
Service Discovery


• Several Mechanisms
 –Simple SPARQL-based
 –Inputs/Outputs logic-based using RDFS
  reasoning
 –Functional Classifications with RDFS reasoning
 –Similarity analysis based on iMatcher
Discovery RESTful API

/data/disco/func-rdfs?class=C1 &class=C2 &...
   uses RDFS functional classification annotations and returns those services
   that are related to all the functional categories Ci (which are URIs).

/data/disco/io-rdfs?f={and|or}&i=C1I &i=C2I &o=C1O &...
   uses ontology annotations of inputs and outputs and returns services for
   which the client has suitable input data (CiI) and/or (depending on the
   parameter f for function) which provide the outputs requested by the client
   (CiO ).

/data/disco/imatch?name=L
   returns all services ranked according to the Levenshtein (other mechanisms
   available) string similarity of the service label with the string L.
Atom-based Discovery


• Discovery mechanisms return an Atom
feed with the results
• Provides Atom feed combinators
  - Union, Intersection, Subtract
http://iserve.kmi.open.ac.uk/data/atom/intersection? f=/
data/disco/func-rdfs?class=
  http://iserve.kmi.open.ac.uk/2010/05/s3eval/func.rdfs
  %2523ProximitySearch &f=/data/disco/io-rdfs?
  o=http://iserve.kmi.open.ac.uk/2010/05/s3eval/data.rdfs
  %2523ATMLocation
Related Tooling
SOA4All Studio
SWEET - MicroWSMO Editor
Related Tooling
SOA4All Studio
SWEET - MicroWSMO Editor
Related Tooling   SOWER - WSMO-Lite Editor

SOA4All Studio
SWEET - MicroWSMO Editor
Related Tooling   SOWER - WSMO-Lite Editor
                  iServe Browser
SOA4All Studio
SWEET - MicroWSMO Editor
Related Tooling   SOWER - WSMO-Lite Editor
                  iServe Browser
SOA4All Studio    Mashups Editor
SWEET - MicroWSMO Editor
Related Tooling   SOWER - WSMO-Lite Editor
                  iServe Browser
SOA4All Studio    Mashups Editor
                  SPICES - Invocation Interface
Thanks
   More Material at
http://www.soa4all.eu/
References


• SAWSDL
  – http://www.w3.org/2002/ws/sawsdl/
• WSMO-Lite
  – http://cms-wg.sti2.org/TR/d11/v0.2/
• hRESTS & MicroWSMO
  – http://cms-wg.sti2.org/TR/d12
• REST & RESTful Web services
  – http://en.wikipedia.org/wiki/REST
• Microformats
  – http://microformats.org/
References

• SPARQL
  – http://www.w3.org/TR/rdf-sparql-query/
• WSMO
  – http://www.wsmo.org and http://cms-wg.sti2.org
• OWL-S
  – http://www.daml.org/services/owl-s/
• SWSF & FLOWS
  – http://www.w3.org/Submission/SWSF/
• WSDL-S
  – http://www.w3.org/Submission/WSDL-S/
References

• WSMX
   – http://www.wsmx.org/
• IRS-III
   – http://technologies.kmi.open.ac.uk/irs/
• METEOR-S
   – http://lsdis.cs.uga.edu/projects/meteor-s/
• Glue
   – http://glue.cefriel.it/
• OWL-S VM
   – http://projects.semwebcentral.org/projects/owl-s-vm/
Acknowledgements


•   Jacek Kopecký, The Open University
•   Reto Krummenacher, University of Innsbruck
•   John Domingue, The Open University
•   Maria Maleshkova, The Open University
•   Dong Liu, The Open University
•   Dave Lambert, The Open University
•   2 Slides from Tom Gruber (Siri)

Mais conteúdo relacionado

Mais procurados

Intro To Web and Web Services (REST Series 01)
Intro To Web and Web Services (REST Series 01)Intro To Web and Web Services (REST Series 01)
Intro To Web and Web Services (REST Series 01)Heartin Jacob
 
A review of the state of the art in Machine Learning on the Semantic Web
A review of the state of the art in Machine Learning on the Semantic WebA review of the state of the art in Machine Learning on the Semantic Web
A review of the state of the art in Machine Learning on the Semantic WebSimon Price
 
SHARE & the Semantic Web — This Time it's Personal
SHARE & the Semantic Web — This Time it's PersonalSHARE & the Semantic Web — This Time it's Personal
SHARE & the Semantic Web — This Time it's PersonalLuke McCarthy
 
Solid pods and the future of the spatial web
Solid pods and the future of the spatial webSolid pods and the future of the spatial web
Solid pods and the future of the spatial webKurt Cagle
 
Building Software Backend (Web API)
Building Software Backend (Web API)Building Software Backend (Web API)
Building Software Backend (Web API)Alexander Goida
 
Advance Java Training in Bangalore | Best Java Training Institute
Advance Java Training in Bangalore | Best Java Training Institute Advance Java Training in Bangalore | Best Java Training Institute
Advance Java Training in Bangalore | Best Java Training Institute TIB Academy
 
The glory of REST in Java: Spring HATEOAS, RAML, Temenos IRIS
The glory of REST in Java: Spring HATEOAS, RAML, Temenos IRISThe glory of REST in Java: Spring HATEOAS, RAML, Temenos IRIS
The glory of REST in Java: Spring HATEOAS, RAML, Temenos IRISGeert Pante
 
NoSQL Now 2013 Presentation
NoSQL Now 2013 PresentationNoSQL Now 2013 Presentation
NoSQL Now 2013 PresentationArjen Schoneveld
 
SHACL: Shaping the Big Ball of Data Mud
SHACL: Shaping the Big Ball of Data MudSHACL: Shaping the Big Ball of Data Mud
SHACL: Shaping the Big Ball of Data MudRichard Cyganiak
 
Data Integration And Visualization
Data Integration And VisualizationData Integration And Visualization
Data Integration And VisualizationIvan Ermilov
 
RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itJose Luis Lopez Pino
 
Introduction to Web Services
Introduction to Web ServicesIntroduction to Web Services
Introduction to Web ServicesJeffrey Anderson
 
RESTful Web Service using Swagger
RESTful Web Service using SwaggerRESTful Web Service using Swagger
RESTful Web Service using SwaggerHong-Jhih Lin
 
Rdf And Rdf Schema For Ontology Specification
Rdf And Rdf Schema For Ontology SpecificationRdf And Rdf Schema For Ontology Specification
Rdf And Rdf Schema For Ontology Specificationchenjennan
 

Mais procurados (19)

JavaCro'15 - Elasticsearch as a search alternative to a relational database -...
JavaCro'15 - Elasticsearch as a search alternative to a relational database -...JavaCro'15 - Elasticsearch as a search alternative to a relational database -...
JavaCro'15 - Elasticsearch as a search alternative to a relational database -...
 
Intro To Web and Web Services (REST Series 01)
Intro To Web and Web Services (REST Series 01)Intro To Web and Web Services (REST Series 01)
Intro To Web and Web Services (REST Series 01)
 
SMWCon Fall 2015 FForms
SMWCon Fall 2015 FFormsSMWCon Fall 2015 FForms
SMWCon Fall 2015 FForms
 
A review of the state of the art in Machine Learning on the Semantic Web
A review of the state of the art in Machine Learning on the Semantic WebA review of the state of the art in Machine Learning on the Semantic Web
A review of the state of the art in Machine Learning on the Semantic Web
 
SHARE & the Semantic Web — This Time it's Personal
SHARE & the Semantic Web — This Time it's PersonalSHARE & the Semantic Web — This Time it's Personal
SHARE & the Semantic Web — This Time it's Personal
 
Solid pods and the future of the spatial web
Solid pods and the future of the spatial webSolid pods and the future of the spatial web
Solid pods and the future of the spatial web
 
Building Software Backend (Web API)
Building Software Backend (Web API)Building Software Backend (Web API)
Building Software Backend (Web API)
 
Advance Java Training in Bangalore | Best Java Training Institute
Advance Java Training in Bangalore | Best Java Training Institute Advance Java Training in Bangalore | Best Java Training Institute
Advance Java Training in Bangalore | Best Java Training Institute
 
The glory of REST in Java: Spring HATEOAS, RAML, Temenos IRIS
The glory of REST in Java: Spring HATEOAS, RAML, Temenos IRISThe glory of REST in Java: Spring HATEOAS, RAML, Temenos IRIS
The glory of REST in Java: Spring HATEOAS, RAML, Temenos IRIS
 
NoSQL Now 2013 Presentation
NoSQL Now 2013 PresentationNoSQL Now 2013 Presentation
NoSQL Now 2013 Presentation
 
SHACL: Shaping the Big Ball of Data Mud
SHACL: Shaping the Big Ball of Data MudSHACL: Shaping the Big Ball of Data Mud
SHACL: Shaping the Big Ball of Data Mud
 
Avik_RailsTutorial
Avik_RailsTutorialAvik_RailsTutorial
Avik_RailsTutorial
 
Data Integration And Visualization
Data Integration And VisualizationData Integration And Visualization
Data Integration And Visualization
 
RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use it
 
Introduction to Web Services
Introduction to Web ServicesIntroduction to Web Services
Introduction to Web Services
 
RESTful Web Service using Swagger
RESTful Web Service using SwaggerRESTful Web Service using Swagger
RESTful Web Service using Swagger
 
L18 REST API Design
L18 REST API DesignL18 REST API Design
L18 REST API Design
 
Rdf And Rdf Schema For Ontology Specification
Rdf And Rdf Schema For Ontology SpecificationRdf And Rdf Schema For Ontology Specification
Rdf And Rdf Schema For Ontology Specification
 
RESTFul APIs
RESTFul APIsRESTFul APIs
RESTFul APIs
 

Semelhante a Linked services

A hands on overview of the semantic web
A hands on overview of the semantic webA hands on overview of the semantic web
A hands on overview of the semantic webMarakana Inc.
 
Web Services - A brief overview
Web Services -  A brief overviewWeb Services -  A brief overview
Web Services - A brief overviewRaveendra Bhat
 
Hypermedia for Machine APIs
Hypermedia for Machine APIsHypermedia for Machine APIs
Hypermedia for Machine APIsMichael Koster
 
Soap and restful webservice
Soap and restful webserviceSoap and restful webservice
Soap and restful webserviceDong Ngoc
 
REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25Jon Petter Hjulstad
 
Semantic Web Servers
Semantic Web ServersSemantic Web Servers
Semantic Web Serverswebhostingguy
 
Semantic DESCription as a Service
Semantic DESCription as a ServiceSemantic DESCription as a Service
Semantic DESCription as a Serviceuji_geotec
 
OUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA SuiteOUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA SuiteJon Petter Hjulstad
 
Java web services soap rest training from hyderabad
Java web services soap rest training from hyderabadJava web services soap rest training from hyderabad
Java web services soap rest training from hyderabadFuturePoint Technologies
 
Semantic framework for web scraping.
Semantic framework for web scraping.Semantic framework for web scraping.
Semantic framework for web scraping.Shyjal Raazi
 
Ruby On Rails Siddhesh
Ruby On Rails SiddheshRuby On Rails Siddhesh
Ruby On Rails SiddheshSiddhesh Bhobe
 
SemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n BoltsSemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n BoltsRinke Hoekstra
 

Semelhante a Linked services (20)

A hands on overview of the semantic web
A hands on overview of the semantic webA hands on overview of the semantic web
A hands on overview of the semantic web
 
Web Services
Web ServicesWeb Services
Web Services
 
Web Services - A brief overview
Web Services -  A brief overviewWeb Services -  A brief overview
Web Services - A brief overview
 
Soap and Rest
Soap and RestSoap and Rest
Soap and Rest
 
Hypermedia for Machine APIs
Hypermedia for Machine APIsHypermedia for Machine APIs
Hypermedia for Machine APIs
 
Soap and restful webservice
Soap and restful webserviceSoap and restful webservice
Soap and restful webservice
 
REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25
 
Web services for banks
Web services for banksWeb services for banks
Web services for banks
 
Semantic Web Servers
Semantic Web ServersSemantic Web Servers
Semantic Web Servers
 
Semantic DESCription as a Service
Semantic DESCription as a ServiceSemantic DESCription as a Service
Semantic DESCription as a Service
 
OUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA SuiteOUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA Suite
 
Java web services soap rest training from hyderabad
Java web services soap rest training from hyderabadJava web services soap rest training from hyderabad
Java web services soap rest training from hyderabad
 
Wt unit 6 ppts web services
Wt unit 6 ppts web servicesWt unit 6 ppts web services
Wt unit 6 ppts web services
 
Semantic framework for web scraping.
Semantic framework for web scraping.Semantic framework for web scraping.
Semantic framework for web scraping.
 
Ruby On Rails Siddhesh
Ruby On Rails SiddheshRuby On Rails Siddhesh
Ruby On Rails Siddhesh
 
The Glory of Rest
The Glory of RestThe Glory of Rest
The Glory of Rest
 
RDFauthor (EKAW)
RDFauthor (EKAW)RDFauthor (EKAW)
RDFauthor (EKAW)
 
Web services soap rest training
Web services soap rest trainingWeb services soap rest training
Web services soap rest training
 
Metadata is back!
Metadata is back!Metadata is back!
Metadata is back!
 
SemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n BoltsSemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n Bolts
 

Mais de Carlos Pedrinaci

Semantics for the Web of Things
Semantics for the Web of ThingsSemantics for the Web of Things
Semantics for the Web of ThingsCarlos Pedrinaci
 
Harnessing the Crowds for Automating the Identification of Web APIs
Harnessing the Crowds for Automating the Identification of Web APIsHarnessing the Crowds for Automating the Identification of Web APIs
Harnessing the Crowds for Automating the Identification of Web APIsCarlos Pedrinaci
 
Supporting the virtual physiological human with semantics and services e scie...
Supporting the virtual physiological human with semantics and services e scie...Supporting the virtual physiological human with semantics and services e scie...
Supporting the virtual physiological human with semantics and services e scie...Carlos Pedrinaci
 
Linked Services for the Web of Data
Linked Services for the Web of DataLinked Services for the Web of Data
Linked Services for the Web of DataCarlos Pedrinaci
 
Tom Heath's view on the future of Linked Data
Tom Heath's view on the future of Linked DataTom Heath's view on the future of Linked Data
Tom Heath's view on the future of Linked DataCarlos Pedrinaci
 
Noshir Contractor's view on the future of Linked Data
Noshir Contractor's view on the future of Linked DataNoshir Contractor's view on the future of Linked Data
Noshir Contractor's view on the future of Linked DataCarlos Pedrinaci
 
Dieter Fensel's view on the future of Linked Data
Dieter Fensel's view on the future of Linked DataDieter Fensel's view on the future of Linked Data
Dieter Fensel's view on the future of Linked DataCarlos Pedrinaci
 
iServe: A Linked Services Publishing Platform
iServe: A Linked Services Publishing PlatformiServe: A Linked Services Publishing Platform
iServe: A Linked Services Publishing PlatformCarlos Pedrinaci
 

Mais de Carlos Pedrinaci (10)

Semantics for the Web of Things
Semantics for the Web of ThingsSemantics for the Web of Things
Semantics for the Web of Things
 
Harnessing the Crowds for Automating the Identification of Web APIs
Harnessing the Crowds for Automating the Identification of Web APIsHarnessing the Crowds for Automating the Identification of Web APIs
Harnessing the Crowds for Automating the Identification of Web APIs
 
Supporting the virtual physiological human with semantics and services e scie...
Supporting the virtual physiological human with semantics and services e scie...Supporting the virtual physiological human with semantics and services e scie...
Supporting the virtual physiological human with semantics and services e scie...
 
Linked Services for the Web of Data
Linked Services for the Web of DataLinked Services for the Web of Data
Linked Services for the Web of Data
 
iServe Version 1
iServe Version 1iServe Version 1
iServe Version 1
 
Towards a Web of Services
Towards a Web of ServicesTowards a Web of Services
Towards a Web of Services
 
Tom Heath's view on the future of Linked Data
Tom Heath's view on the future of Linked DataTom Heath's view on the future of Linked Data
Tom Heath's view on the future of Linked Data
 
Noshir Contractor's view on the future of Linked Data
Noshir Contractor's view on the future of Linked DataNoshir Contractor's view on the future of Linked Data
Noshir Contractor's view on the future of Linked Data
 
Dieter Fensel's view on the future of Linked Data
Dieter Fensel's view on the future of Linked DataDieter Fensel's view on the future of Linked Data
Dieter Fensel's view on the future of Linked Data
 
iServe: A Linked Services Publishing Platform
iServe: A Linked Services Publishing PlatformiServe: A Linked Services Publishing Platform
iServe: A Linked Services Publishing Platform
 

Último

React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 

Último (20)

React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 

Linked services

  • 1. Linked Services Dr. Carlos Pedrinaci The Open University SSAIE 2010, Heraklion
  • 2. Outline • Web Services or Services on the Web? • The Semantic Web and the Web of Data • Linked Services - Integrating Services with the Web of Data –Annotating WSDLs –Annotating Web APIs • Unified Discovery and Publication on the Web of Data
  • 3. Preparation for Hands-On • The material shown in this session will be the basis for the hands-on session afterwards • You’ll need Firefox • Tabulator extension for Firefox –http://dig.csail.mit.edu/2007/tab/
  • 4. Web Services or Services on the Web?
  • 5. Web Services • Large number of standards and implementations – WSDL, BPEL, WS-Coordination, WS- Transaction, WS-AtomicTransaction, WS- (see Cesare’s presentation) “Despite their name,Web Services have nothing to do with the Web” Frank Leymann SSAIE 2009
  • 6. Web Services on the Web • The Web currently contains 30 billion Web pages –Nearly 100M active sites –10 million new pages added each day • The Web contains only 28,000 WSDL Web services (Seekda.com) • Verizon have around 4,000
  • 7. The Ecosystem of APIs and Online Data ©Siri (sligthly modified)
  • 8. The Ecosystem of APIs and Online Data Over 2000 APIs and 4500 Mashups growing at accelerated rate... ©Siri (sligthly modified)
  • 9. Bringing the Big Think to the Small Screen ©Siri
  • 10.
  • 11.
  • 12. Semantic Web and the Web of Data
  • 13. Semantic Web Principles • Lift data available on the Web to a level where machines can manipulate it in “meaningful ways” • Adding machine “understandable” annotations about Web resources • All resources are identified by URIs • Use of Web oriented modeling languages • RDF & RDFS • OWL (Lite, DL, Full) & OWL2 (EL, QL, RL) • Use of conceptual models (ontologies, vocabularies)
  • 14. RDF • Resource Description Framework (RDF) is the HTML of the Semantic Web – Simple way to describe resources on the Web – Based on triples <subject, predicate, object> – Defines graphs
  • 18. RDF Representation • Several available. Only standard RDF/ XML @prefix ex: <http://www.example.org/rdf-example#> @prefix dc: <http://purl.org/dc/elements/1.1/> ex:Person a rdfs:Class. ex:Carlos a ex:Person. ex:Doc a rdfs:Class. ex:Slide rdfs:subClassOf ex:Doc. ex:this a ex:Slide. ex:this dc:hasCreator ex:Carlos. ...
  • 19. Ontology and Rule languages • RDF Schema (RDFS) – A simple ontology language on RDF • Web Ontology Language (OWL) is a more expressive ontology language than RDFS – Layered language based on Description Logics • OWL Lite, OWL DL, OWL Full • OWL2 (EL, QL, RL) • Rule languages – Rule Interchange Format (RIF) – Extend ontology languages with axioms
  • 20. SPARQL • Query language for RDF • Can be used to express queries across diverse data sources • SPARQL contains capabilities for querying required and optional graph patterns along with their conjunctions and disjunctions • The results of SPARQL queries can be results sets or RDF graphs
  • 21. SPARQL Select Example PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name1 ?name2 WHERE { ?x foaf:name ?name1 ; foaf:mbox ?mbox1 . ?y foaf:name ?name2 ; foaf:mbox ?mbox2 . FILTER (sameTerm(?mbox1, ?mbox2) && !sameTerm(?name1, ?name2)) }
  • 22. SPARQL Construct Example PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX vcard: <http://www.w3.org/2001/vcard-rdf/3.0#> CONSTRUCT { ?x vcard:N _:v . _:v vcard:givenName ?gname . _:v vcard:familyName ?fname } WHERE { { ?x foaf:firstname ?gname } UNION { ?x foaf:givenname ? gname } . { ?x foaf:surname ?fname } UNION { ?x foaf:family_name ? fname } . }
  • 23. Linked Data • “Like the web of hypertext, the web of data is constructed with documents on the web. However, unlike the web of hypertext, where links are relationships anchors in hypertext documents written in HTML, for data they links between arbitrary things described by RDF. The URIs identify any kind of object or concept.” • Four basic principles: 1.Use URIs as names for things 2.Use HTTP URIs so that people can look up those names. 3.When someone looks up a URI, provide useful information, using the standards (RDF, SPARQL) 4.Include links to other URIs so that they can discover more things. Tim Berners-Lee - http://www.w3.org/DesignIssues/LinkedData
  • 24. Web of Data Source: http://linkeddata.org/
  • 25. Linked Services Integrating Services with the Web of Data
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. Linked Services • Linked Services are Linked Data describing services • Their inputs, outputs, functionality, etc is described using RDF(S) and using existing vocabularies • Consume RDF and produce RDF • Process layer on top of the Web of Data
  • 31. Lightweight Semantic Web Services • Existing approaches like OWL-S, WSMO are (perceived as) complex in terms of – Modeling and Computational complexity • Web APIs preferred over WSDL Web Services and SWS were up to now built on top of WSDL • Let's try to reduce the complexity – Based and built on top of RDF – Scale up computationally and promote the uptake – WSMO-Lite ontology • Let's support Web APIs as well
  • 34. SAWSDL in a Picture
  • 35. SAWSDL Annotations • modelReference –points to a concept in a semantic model • loweringSchemaMapping • liftingSchemaMapping –point to data mapping transformation for data grounding
  • 38. Types of Service Semantics • Functional • Behavioral – What the service does – How the client talks to the service • Information model • Nonfunctional – For handling data – Policies, QoS, – Incl. lifting/lowering price, location etc.
  • 39. Functional Semantics • For service discovery, composition F • Category – Functionality categorization – E.g. eCl@ss – Or tagging, folksonomies • Capability – Precondition, Effect – Needs using some rule language (WSML, RIF, etc)
  • 40. Category Example wl:FunctionalClassificationRoot type ex:eCommerceService subclasses ex:Travel ex:Accommodation ReservationService ReservationService
  • 41. Capability Example ex:RomaHotelReservationPrecondition rdf:type wl:Condition ; rdf:value """ ?request [ numberOfGuests hasValue ?guests and city hasValue ?city ] memberOf ReservationData and ?guests <= 10 and ?city = 'Roma' """^^wsml:AxiomLiteral .
  • 42. Non-functional Semantics • For ranking and selection N • Not constrained, any ontologies • Example: ex:PriceSpecification rdfs:subClassOf wl:NonFunctionalParameter . ex:ReservationFee rdf:type ex:PriceSpecification ; rdf:value "15"^^ex:euroAmount .
  • 43. Behavioral Semantics • For invocation, composition, process mediation B • Functionalities on operations – Capabilities, categories • Client selects operation to invoke next – Instead of being strictly guided by an explicit process • Example functional category for operations: – Web Architecture: interaction safety
  • 44. Information Semantics • For invocation, composition, I data mediation • Not constrained, any ontologies • Marked as wl:Ontology
  • 45. WSMO-Lite Example <wsdl:description> <wsdl:types> <xs:schema> I <xs:element name="ReservationRequest" sawsdl:modelReference="&ex;Reservation" I sawsdl:loweringSchemaMapping="&ex;ResMapping.xsparql" … /> </xs:schema> </wsdl:types> <wsdl:interface name="HotelReservations" sawsdl:modelReference= F "&ex;AccommodationReservationService"> <wsdl:operation name="searchForRooms" sawsdl:modelReference="&wsdlx;SafeInteraction"> B … </wsdl:operation> … </wsdl:interface> <wsdl:service name="RomaHotels" interface="HotelReservations" F sawsdl:modelReference="&ex;RomaHotelReservationPrecondition &ex;ReservationFee" … /> N </wsdl:description>
  • 47. Reality Check • Survey based on 222 Web APIs from ProgrammableWeb from 21 categories • Types of Web APIs – 45.5% REST, RPC 33.8%, Hybrid 20.7% • 40% of Web APIs do not state the used HTTP method! • Authentication – 80% require authentication (37% use API Key, 14%HTTP Basic, 6% OAuth, etc) • Input and Output information – 72% do not state the data type of the input parameters – 61% use optional parameters, 45% use default values – 90% have as output XML, 42% JSON – 84% provide example request and 75% example response
  • 48. What’s the Current State • Web APIs evolving rapidly and autonomously (like the Web) • No Interface Definition Language adopted –WADL is an option but not widely used –APIs are described via an HTML Web page • Allow fast development of mashups • Little reuse of sofware, high reuse of services!
  • 49. Describing Web APIs • Machine-readable descriptions useful – Tool support for developing clients – Service discovery • No WSDL for Web apps – APIs described mostly in text – AtomPub has RFC, Service Documents – Resources behind AJAX stay undescribed • Some machine-readable descriptions: – HTML links, forms – AtomPub service document – WADL
  • 50. hRESTS • "There's usually an HTML page" • Identifying machine-readable parts –Service, its operations –Resource address, HTTP method –Input/output data format • hRESTS microformat –Technically, a poshformat
  • 51. Simpler Example Description Description of the ACME Hotels service: The operation getHotelDetails is invoked using the method GET at http://example.com/h/{id}, with the ID of the particular hotel replacing the parameter id. It returns the hotel details in an ex:hotelInformation document.
  • 52. Example HTML <p>Description of the ACME Hotels service:</p> <p> The operation <code>getHotelDetails</code> is invoked using the method GET at <code>http://example.com/h/{id}</code>, with the ID of the particular hotel replacing the parameter <code>id</code>. It returns the hotel details in an <code>ex:hotelInformation</code> document. </p>
  • 53. Example hRESTS <div class="service" id="svc"> <p>Description of the <span class="label">ACME Hotels</span> service:</p> <div class="operation" id="op1"> <p> The operation <code class="label">getHotelDetails</code> is invoked using the method <span class="method">GET</span> at <code class="address">http://example.com/h/{id}</code>, with <span class="input">the ID of the particular hotel replacing the parameter <code>id</code>.</span> It returns <span class="output">the hotel details in an <code>ex:hotelInformation</code> document.</span> </p></div> </div>
  • 54. hRESTS • HTML for RESTful Service Description • Introduces the service model structure – service (+ label) – operations (+ address, method) – input, output • Can also be in RDFa • Basis for extensions: – MicroWSMO adds semantic annotations
  • 55. MicroWSMO • Extends hRESTS –model for model references –lifting, lowering • Applies WSMO-Lite semantics
  • 56. MicroWSMO <div class="service" id="svc"> <p><span class="label">ACME Hotels</span> is a <a rel="model" href="…/ecommerce/hotelReservation"> hotel reservation</a> service.</p> … <div class="operation" id="op1"><p> … <span class="input">A particular hotel ID replaces the param <a rel="model" href="…/onto.owl#Hotel"><code>id</code></ a> (<a rel="lowering" href="…/hotelID.xslt">lowering</a>). </span>. … </p></div> </div>
  • 57. Unified Discovery and Publication of Services on the Web of Data
  • 58. The Typical High-Level View registry discover publish services descriptions invoke client service (provider)
  • 59. UDDI • Universal Description, Discovery and Integration • A Web service registry API specification –Business-oriented service publication, discovery (initially limited search capabilities) –Itself has Web service interface –Useful for intranet registries • A failed public service –Not particularly useful discovery support –Discontinued in 2006
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65. iServe Architecture Currently supported by Swift OWLIM
  • 66. An Open Repository • Supports access via –Web Application - iServe Browser –Read&Write RESTful API –Linked Data principles • SPARQL endpoint • Content negotiation (RDF, HTML) • All RDF, interlinked with other schemas and datasets • Support for several SWS formalisms 62
  • 67. Service Discovery • Several Mechanisms –Simple SPARQL-based –Inputs/Outputs logic-based using RDFS reasoning –Functional Classifications with RDFS reasoning –Similarity analysis based on iMatcher
  • 68. Discovery RESTful API /data/disco/func-rdfs?class=C1 &class=C2 &... uses RDFS functional classification annotations and returns those services that are related to all the functional categories Ci (which are URIs). /data/disco/io-rdfs?f={and|or}&i=C1I &i=C2I &o=C1O &... uses ontology annotations of inputs and outputs and returns services for which the client has suitable input data (CiI) and/or (depending on the parameter f for function) which provide the outputs requested by the client (CiO ). /data/disco/imatch?name=L returns all services ranked according to the Levenshtein (other mechanisms available) string similarity of the service label with the string L.
  • 69. Atom-based Discovery • Discovery mechanisms return an Atom feed with the results • Provides Atom feed combinators - Union, Intersection, Subtract http://iserve.kmi.open.ac.uk/data/atom/intersection? f=/ data/disco/func-rdfs?class= http://iserve.kmi.open.ac.uk/2010/05/s3eval/func.rdfs %2523ProximitySearch &f=/data/disco/io-rdfs? o=http://iserve.kmi.open.ac.uk/2010/05/s3eval/data.rdfs %2523ATMLocation
  • 71. SWEET - MicroWSMO Editor Related Tooling SOA4All Studio
  • 72. SWEET - MicroWSMO Editor Related Tooling SOWER - WSMO-Lite Editor SOA4All Studio
  • 73. SWEET - MicroWSMO Editor Related Tooling SOWER - WSMO-Lite Editor iServe Browser SOA4All Studio
  • 74. SWEET - MicroWSMO Editor Related Tooling SOWER - WSMO-Lite Editor iServe Browser SOA4All Studio Mashups Editor
  • 75. SWEET - MicroWSMO Editor Related Tooling SOWER - WSMO-Lite Editor iServe Browser SOA4All Studio Mashups Editor SPICES - Invocation Interface
  • 76. Thanks More Material at http://www.soa4all.eu/
  • 77. References • SAWSDL – http://www.w3.org/2002/ws/sawsdl/ • WSMO-Lite – http://cms-wg.sti2.org/TR/d11/v0.2/ • hRESTS & MicroWSMO – http://cms-wg.sti2.org/TR/d12 • REST & RESTful Web services – http://en.wikipedia.org/wiki/REST • Microformats – http://microformats.org/
  • 78. References • SPARQL – http://www.w3.org/TR/rdf-sparql-query/ • WSMO – http://www.wsmo.org and http://cms-wg.sti2.org • OWL-S – http://www.daml.org/services/owl-s/ • SWSF & FLOWS – http://www.w3.org/Submission/SWSF/ • WSDL-S – http://www.w3.org/Submission/WSDL-S/
  • 79. References • WSMX – http://www.wsmx.org/ • IRS-III – http://technologies.kmi.open.ac.uk/irs/ • METEOR-S – http://lsdis.cs.uga.edu/projects/meteor-s/ • Glue – http://glue.cefriel.it/ • OWL-S VM – http://projects.semwebcentral.org/projects/owl-s-vm/
  • 80. Acknowledgements • Jacek Kopecký, The Open University • Reto Krummenacher, University of Innsbruck • John Domingue, The Open University • Maria Maleshkova, The Open University • Dong Liu, The Open University • Dave Lambert, The Open University • 2 Slides from Tom Gruber (Siri)

Notas do Editor

  1. WSMO-Lite ontology of service semantics describes services for SWS automation SAWSDL puts pointers to WSMO-Lite semantics in WSDL MicroWSMO and hRESTS are lightweight equivalents for SAWSDL and WSDL for RESTful services
  2. WSDL has more detail than our simplified service model, therefore there are more ways of attaching semantics. Information semantics can be anywhere in the schema inside the types section, functional semantics can be either on the interface (general, reusable) or on the service (specific), and nonfunctional parameters can be on a binding (general, reusable) or on the service (specific).
  3. Lifecycle: Service provider creates the Web service, publishes its (WSDL) description in a registry (UDDI). A client discovers suitable Web services for its application. The client invokes the discovered service(s) as appropriate using SOAP.