SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
ELIS – Multimedia Lab




           RESTdesc
   Efficient runtime service
 discovery and consumption.

            Ruben Verborgh, Thomas Steiner,
Davy Van Deursen, Rik Van de Walle, Joaquim Gabarró Vallés
ELIS – Multimedia Lab
                Talking with others is difficult
                    when you’re different.




                                              RESTdesc
© Jule Berlin           Efficient runtime service discovery and consumption.                           2
ELIS – Multimedia Lab




                                                   The goal is not
                                    RESTdesc
                                                    to blend in…
© Eric Vest   Efficient runtime service discovery and consumption.                           3
ELIS – Multimedia Lab




  …but to
 stand out.




                                             RESTdesc
© Nicholas Kreidberg   Efficient runtime service discovery and consumption.                           4
What makes a Web service
 stand out from others?




   Functionality.
Capturing functionality
 is vital for automated
service consumption.
ELIS – Multimedia Lab




       RESTdesc
  Efficient runtime service
discovery and consumption.

1. Why? – need and challenges

2. What? – syntax and structure

3. So what? – benefits and potential



                                RESTdesc
          Efficient runtime service discovery and consumption.                           7
ELIS – Multimedia Lab




       RESTdesc
  Efficient runtime service
discovery and consumption.

1. Why? – need and challenges

2. What? – syntax and structure

3. So what? – benefits and potential



                                RESTdesc
          Efficient runtime service discovery and consumption.                           8
ELIS – Multimedia Lab


Example service: calculating photo height




                                                                                        768




photo height service
send a photo, retrieve its height in pixels


                                     RESTdesc
               Efficient runtime service discovery and consumption.                           9
ELIS – Multimedia Lab


 Several service description methods exist.




FACT: there are already lots of ways to describe that
 • the input is an image;
 • the output is a height in pixels.

FACT: none of them really helps... wait?




                                        RESTdesc
                  Efficient runtime service discovery and consumption.                           10
ELIS – Multimedia Lab


       They don’t describe functionality.



         53                                                    768                       23.489




What height in pixels?

 • The height of the face rectangle in the image?
 • The optimal height on a certain mobile device?
 • The height of the costume, mysteriously converted to pixels?

                                          RESTdesc
                    Efficient runtime service discovery and consumption.                           11
ELIS – Multimedia Lab


Functional descriptions tell the whole story.



                                                                   768




What height in pixels?
Only the functional relation tells us this:


send a photo, retrieve its height in pixels



                                        RESTdesc
                  Efficient runtime service discovery and consumption.                           12
ELIS – Multimedia Lab




       RESTdesc
  Efficient runtime service
discovery and consumption.

1. Why? – need and challenges

2. What? – syntax and structure

3. So what? – benefits and potential



                                RESTdesc
          Efficient runtime service discovery and consumption.                           13
ELIS – Multimedia Lab


           Ingredients of RESTdesc




• HTTP
  • resources




                                      RESTdesc
                Efficient runtime service discovery and consumption.                           14
ELIS – Multimedia Lab


REST-style HTTP is resource-oriented.
        http://example.com/images/wolfie
        This is a resource.



                       http://example.com/images/wolfie/height
                       This is a resource, too.




                                  They’re even the same resources
                    768           as those on the Semantic Web:
                                  “Resource Description Framework”.




                                 RESTdesc
           Efficient runtime service discovery and consumption.                           15
ELIS – Multimedia Lab


           Ingredients of RESTdesc




• HTTP
  • resources
• Notation3 (N3)
  • small superset of RDF




                                      RESTdesc
                Efficient runtime service discovery and consumption.                           16
ELIS – Multimedia Lab


     Everything in RDF has 3 parts.



  
  


           :MyPhoto  :a  :Photo.
             subject verb object
                                                                        
                                                                        
                        




                                 RESTdesc
           Efficient runtime service discovery and consumption.                           17
ELIS – Multimedia Lab


        RDF is organized in vocabularies.


@prefix  :  <http://example.org/photo/>.  
@prefix  rdf:  <http://www.w3.org/1999/02/22-­‐rdf-­‐syntax-­‐ns#>.
@prefix  dbpedia:  <http://dbpedia.org/resource/>.


           :MyPhoto  rdf:type  dbpedia:Photo.
                                                                              
                                                                              
                              




                                            RESTdesc
                      Efficient runtime service discovery and consumption.                           18
ELIS – Multimedia Lab


           Ingredients of RESTdesc




• HTTP
  • resources
• Notation3 (N3)
  • small superset of RDF
• your own vocabulary



                                      RESTdesc
                Efficient runtime service discovery and consumption.                           19
ELIS – Multimedia Lab


 How do we describe this functionality?




                                                                                        768




photo height service
send a photo, retrieve its height in pixels


                                     RESTdesc
               Efficient runtime service discovery and consumption.                           20
ELIS – Multimedia Lab


         Photo height service in RESTdesc
@prefix  :  <http://restdesc.no.de/ontlogies/photos#>.
@prefix  http:  <http://www.w3.org/2006/http#>.
@prefix  tmpl:  <http://purl.org/restdesc/http-­‐template#>.

{                                                           Not a new model.
    ?photo  :photoId  ?id.                          This is RDF in Notation3,
}                                                  a Semantic Web language.
=>
{
      _:request  http:methodName  "GET";
                          tmpl:requestURI  ("/photos/"  ?id  "/height");
                          http:resp  [  tmpl:represents  ?pixels  ].
      ?photo  :height  ?pixels.
}.

                                              RESTdesc
                        Efficient runtime service discovery and consumption.                           21
ELIS – Multimedia Lab


         Photo height service in RESTdesc

If your photo
has identifier “wolfie”...

{                                                            “wolfie
                                                                    ”
    ?photo  :photoId  ?id.
}
=>
{
      _:request  http:methodName  "GET";
                          tmpl:requestURI  ("/photos/"  ?id  "/height");
                          http:resp  [  tmpl:represents  ?pixels  ].
      ?photo  :height  ?pixels.
}.

                                             RESTdesc
                       Efficient runtime service discovery and consumption.                           22
ELIS – Multimedia Lab


         Photo height service in RESTdesc

... then ...


{
    ?photo  :photoId  ?id.
}
=>
{
      _:request  http:methodName  "GET";
                          tmpl:requestURI  ("/photos/"  ?id  "/height");
                          http:resp  [  tmpl:represents  ?pixels  ].
      ?photo  :height  ?pixels.
}.

                                             RESTdesc
                       Efficient runtime service discovery and consumption.                           23
ELIS – Multimedia Lab


         Photo height service in RESTdesc

...you can use HTTP to get
/photos/wolfie/height...

{
    ?photo  :photoId  ?id.
}
=>
{
      _:request  http:methodName  "GET";
                          tmpl:requestURI  ("/photos/"  ?id  "/height");
                          http:resp  [  tmpl:represents  ?pixels  ].
      ?photo  :height  ?pixels.
}.

                                             RESTdesc
                       Efficient runtime service discovery and consumption.                           24
ELIS – Multimedia Lab


         Photo height service in RESTdesc

...and the response will                                                      768
represent a value...

{
    ?photo  :photoId  ?id.
}
=>
{
      _:request  http:methodName  "GET";
                          tmpl:requestURI  ("/photos/"  ?id  "/height");
                          http:resp  [  tmpl:represents  ?pixels  ].
      ?photo  :height  ?pixels.
}.

                                             RESTdesc
                       Efficient runtime service discovery and consumption.                                 25
ELIS – Multimedia Lab


         Photo height service in RESTdesc

...which is                                                                   768
that photo’s height.

{                                                             “wolfie
                                                                     ”
    ?photo  :photoId  ?id.
}
=>
{
      _:request  http:methodName  "GET";
                          tmpl:requestURI  ("/photos/"  ?id  "/height");
                          http:resp  [  tmpl:represents  ?pixels  ].
      ?photo  :height  ?pixels.
}.

                                             RESTdesc
                       Efficient runtime service discovery and consumption.                                 26
ELIS – Multimedia Lab


This description contains everything you need.

                                                                                768



  “wolfie”
                                                                                       “wolfie
                                                                                              ”

{
    ?photo  :photoId  ?id.                      It’s that simple.
}
                                            And it’s that powerful.
=>
{
      _:request  http:methodName  "GET";
                          tmpl:requestURI  ("/photos/"  ?id  "/height");
                          http:resp  [  tmpl:represents  ?pixels  ].
      ?photo  :height  ?pixels.
}.

                                             RESTdesc
                       Efficient runtime service discovery and consumption.                           27
ELIS – Multimedia Lab




       RESTdesc
  Efficient runtime service
discovery and consumption.

1. Why? – need and challenges

2. What? – syntax and structure

3. So what? – benefits and potential



                                RESTdesc
          Efficient runtime service discovery and consumption.                           28
ELIS – Multimedia Lab


RESTdesc descriptions are simple, because…


They rely on HTTP and HTTP best practices.
 • resource-oriented

They use the vocabulary you choose.
 • descriptions adapts to your domain

They describe only what you need.
 • concepts live in vocabularies
   • “height” is an integer, expresses a length in pixels



                                         RESTdesc
                   Efficient runtime service discovery and consumption.                           29
ELIS – Multimedia Lab


RESTdesc descriptions are powerful, because…


They use the Resource Description Framework.
 • logically sound
 • allows complex expressions
 • interoperable with other services and data

They can be composed by generic reasoners.
 • all N3 reasoners understand RESTdesc
 • enables goal-driven service composition



                                      RESTdesc
                Efficient runtime service discovery and consumption.                           30
RESTdesc enables
     straightforward
automated use of services.
Seeing services as resources
      leads to elegant
 functional descriptions.
In functional descriptions,
 services are not defined
 by what they look like…
ELIS – Multimedia Lab




  …but by
what they do.




                                  http://restdesc.org/
                                  RESTdesc
            Efficient runtime service discovery and consumption.                           34

Más contenido relacionado

La actualidad más candente

Sustainable queryable access to Linked Data
Sustainable queryable access to Linked DataSustainable queryable access to Linked Data
Sustainable queryable access to Linked DataRuben Verborgh
 
The Future is Federated
The Future is FederatedThe Future is Federated
The Future is FederatedRuben Verborgh
 
Querying federations 
of Triple Pattern Fragments
Querying federations 
of Triple Pattern FragmentsQuerying federations 
of Triple Pattern Fragments
Querying federations 
of Triple Pattern FragmentsRuben Verborgh
 
Functional Composition of Sensor Web APIs
Functional Composition of Sensor Web APIsFunctional Composition of Sensor Web APIs
Functional Composition of Sensor Web APIsRuben Verborgh
 
Mobile Offline OData Framework for Azure
Mobile Offline OData Framework for AzureMobile Offline OData Framework for Azure
Mobile Offline OData Framework for AzurePeter O'Blenis
 
Raven db byexample
Raven db byexampleRaven db byexample
Raven db byexampleEmil Cardell
 
The Internet as Web Services: introduction to ReST
The Internet as Web Services: introduction to ReSTThe Internet as Web Services: introduction to ReST
The Internet as Web Services: introduction to ReSTBruno Kessler Foundation
 

La actualidad más candente (8)

Sustainable queryable access to Linked Data
Sustainable queryable access to Linked DataSustainable queryable access to Linked Data
Sustainable queryable access to Linked Data
 
The Future is Federated
The Future is FederatedThe Future is Federated
The Future is Federated
 
Querying federations 
of Triple Pattern Fragments
Querying federations 
of Triple Pattern FragmentsQuerying federations 
of Triple Pattern Fragments
Querying federations 
of Triple Pattern Fragments
 
Functional Composition of Sensor Web APIs
Functional Composition of Sensor Web APIsFunctional Composition of Sensor Web APIs
Functional Composition of Sensor Web APIs
 
Mobile Offline OData Framework for Azure
Mobile Offline OData Framework for AzureMobile Offline OData Framework for Azure
Mobile Offline OData Framework for Azure
 
Raven db byexample
Raven db byexampleRaven db byexample
Raven db byexample
 
REST Presentation
REST PresentationREST Presentation
REST Presentation
 
The Internet as Web Services: introduction to ReST
The Internet as Web Services: introduction to ReSTThe Internet as Web Services: introduction to ReST
The Internet as Web Services: introduction to ReST
 

Destacado

Adrs Presentation March 2008
Adrs Presentation March 2008Adrs Presentation March 2008
Adrs Presentation March 2008guestabd20
 
Semantic Web Services: State of the Art
Semantic Web Services: State of the ArtSemantic Web Services: State of the Art
Semantic Web Services: State of the ArtMarkus Lanthaler
 
Hypermedia Cannot be the Engine
Hypermedia Cannot be the EngineHypermedia Cannot be the Engine
Hypermedia Cannot be the EngineRuben Verborgh
 
The web – A hypermedia story
The web – A hypermedia storyThe web – A hypermedia story
The web – A hypermedia storyRuben Verborgh
 
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...Markus Lanthaler
 
SAPS - Semantic AtomPub-based Services
SAPS - Semantic AtomPub-based ServicesSAPS - Semantic AtomPub-based Services
SAPS - Semantic AtomPub-based ServicesMarkus Lanthaler
 
A Deep Dive into JSON-LD and Hydra
A Deep Dive into JSON-LD and HydraA Deep Dive into JSON-LD and Hydra
A Deep Dive into JSON-LD and HydraMarkus Lanthaler
 
A Semantic Description Language for RESTful Data Services to Combat Semaphobia
A Semantic Description Language for RESTful Data Services to Combat SemaphobiaA Semantic Description Language for RESTful Data Services to Combat Semaphobia
A Semantic Description Language for RESTful Data Services to Combat SemaphobiaMarkus Lanthaler
 
The Lonesome LOD Cloud
The Lonesome LOD CloudThe Lonesome LOD Cloud
The Lonesome LOD CloudRuben Verborgh
 
Stop Reinventing the Wheel! Use Linked Data to Build Better APIs
Stop Reinventing the Wheel! Use Linked Data to Build Better APIsStop Reinventing the Wheel! Use Linked Data to Build Better APIs
Stop Reinventing the Wheel! Use Linked Data to Build Better APIsMarkus Lanthaler
 
End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012Alexandre Morgaut
 
Creating 3rd Generation Web APIs with Hydra
Creating 3rd Generation Web APIs with HydraCreating 3rd Generation Web APIs with Hydra
Creating 3rd Generation Web APIs with HydraMarkus Lanthaler
 
Web Standards adoption in the AR market
Web Standards adoption in the AR marketWeb Standards adoption in the AR market
Web Standards adoption in the AR marketRob Manson
 
LODeX: Schema Summarization and automatic SPARQL query generation for Linked ...
LODeX: Schema Summarization and automatic SPARQL query generation for Linked ...LODeX: Schema Summarization and automatic SPARQL query generation for Linked ...
LODeX: Schema Summarization and automatic SPARQL query generation for Linked ...Fabio Benedetti
 
Linked Data Generation Process
Linked Data Generation ProcessLinked Data Generation Process
Linked Data Generation ProcessLD4SC
 
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
 
HTTP and Your Angry Dog
HTTP and Your Angry DogHTTP and Your Angry Dog
HTTP and Your Angry DogRoss Tuck
 
What is Hydra?
What is Hydra?What is Hydra?
What is Hydra?Findwise
 
What's New With Markup and Structured Data By Aaron Bradley
What's New With Markup and Structured Data By Aaron BradleyWhat's New With Markup and Structured Data By Aaron Bradley
What's New With Markup and Structured Data By Aaron BradleySearch Marketing Expo - SMX
 

Destacado (20)

Adrs Presentation March 2008
Adrs Presentation March 2008Adrs Presentation March 2008
Adrs Presentation March 2008
 
Semantic Web Services: State of the Art
Semantic Web Services: State of the ArtSemantic Web Services: State of the Art
Semantic Web Services: State of the Art
 
F-interop Meetup
F-interop MeetupF-interop Meetup
F-interop Meetup
 
Hypermedia Cannot be the Engine
Hypermedia Cannot be the EngineHypermedia Cannot be the Engine
Hypermedia Cannot be the Engine
 
The web – A hypermedia story
The web – A hypermedia storyThe web – A hypermedia story
The web – A hypermedia story
 
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...
 
SAPS - Semantic AtomPub-based Services
SAPS - Semantic AtomPub-based ServicesSAPS - Semantic AtomPub-based Services
SAPS - Semantic AtomPub-based Services
 
A Deep Dive into JSON-LD and Hydra
A Deep Dive into JSON-LD and HydraA Deep Dive into JSON-LD and Hydra
A Deep Dive into JSON-LD and Hydra
 
A Semantic Description Language for RESTful Data Services to Combat Semaphobia
A Semantic Description Language for RESTful Data Services to Combat SemaphobiaA Semantic Description Language for RESTful Data Services to Combat Semaphobia
A Semantic Description Language for RESTful Data Services to Combat Semaphobia
 
The Lonesome LOD Cloud
The Lonesome LOD CloudThe Lonesome LOD Cloud
The Lonesome LOD Cloud
 
Stop Reinventing the Wheel! Use Linked Data to Build Better APIs
Stop Reinventing the Wheel! Use Linked Data to Build Better APIsStop Reinventing the Wheel! Use Linked Data to Build Better APIs
Stop Reinventing the Wheel! Use Linked Data to Build Better APIs
 
End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012
 
Creating 3rd Generation Web APIs with Hydra
Creating 3rd Generation Web APIs with HydraCreating 3rd Generation Web APIs with Hydra
Creating 3rd Generation Web APIs with Hydra
 
Web Standards adoption in the AR market
Web Standards adoption in the AR marketWeb Standards adoption in the AR market
Web Standards adoption in the AR market
 
LODeX: Schema Summarization and automatic SPARQL query generation for Linked ...
LODeX: Schema Summarization and automatic SPARQL query generation for Linked ...LODeX: Schema Summarization and automatic SPARQL query generation for Linked ...
LODeX: Schema Summarization and automatic SPARQL query generation for Linked ...
 
Linked Data Generation Process
Linked Data Generation ProcessLinked Data Generation Process
Linked Data Generation Process
 
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
 
HTTP and Your Angry Dog
HTTP and Your Angry DogHTTP and Your Angry Dog
HTTP and Your Angry Dog
 
What is Hydra?
What is Hydra?What is Hydra?
What is Hydra?
 
What's New With Markup and Structured Data By Aaron Bradley
What's New With Markup and Structured Data By Aaron BradleyWhat's New With Markup and Structured Data By Aaron Bradley
What's New With Markup and Structured Data By Aaron Bradley
 

Similar a RESTdesc: Describing Services Functionally

Our Brave Modular Future
Our Brave Modular FutureOur Brave Modular Future
Our Brave Modular FutureOrchestrate
 
D6.2.1 e sens kick off meeting - 2013-04-10 - isa action 1.1 on semantic inte...
D6.2.1 e sens kick off meeting - 2013-04-10 - isa action 1.1 on semantic inte...D6.2.1 e sens kick off meeting - 2013-04-10 - isa action 1.1 on semantic inte...
D6.2.1 e sens kick off meeting - 2013-04-10 - isa action 1.1 on semantic inte...Goedertier Stijn
 
Restful Best Practices
Restful Best PracticesRestful Best Practices
Restful Best PracticesBelighted
 
Experience with MarkLogic at Elsevier
Experience with MarkLogic at ElsevierExperience with MarkLogic at Elsevier
Experience with MarkLogic at ElsevierDATAVERSITY
 
RESTful SOA and the Spring Framework (EMCWorld 2011)
RESTful SOA and the Spring Framework (EMCWorld 2011)RESTful SOA and the Spring Framework (EMCWorld 2011)
RESTful SOA and the Spring Framework (EMCWorld 2011)EMC
 
Introduction to REST and Jersey
Introduction to REST and JerseyIntroduction to REST and Jersey
Introduction to REST and JerseyChris Winters
 
Research ON Big Data
Research ON Big DataResearch ON Big Data
Research ON Big Datamysqlops
 
Research on big data
Research on big dataResearch on big data
Research on big dataRoby Chen
 
Sem tech 2011 v8
Sem tech 2011 v8Sem tech 2011 v8
Sem tech 2011 v8dallemang
 
DAT101 Understanding AWS Database Options - AWS re: Invent 2012
DAT101 Understanding AWS Database Options - AWS re: Invent 2012DAT101 Understanding AWS Database Options - AWS re: Invent 2012
DAT101 Understanding AWS Database Options - AWS re: Invent 2012Amazon Web Services
 
CEPH & OPENSTACK - Red Hat's Winning Combination for Enterprise Clouds
CEPH & OPENSTACK - Red Hat's Winning Combination for Enterprise CloudsCEPH & OPENSTACK - Red Hat's Winning Combination for Enterprise Clouds
CEPH & OPENSTACK - Red Hat's Winning Combination for Enterprise CloudsRed Hat India Pvt. Ltd.
 
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 DataJohn Domingue
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern LaunguageInho Kang
 
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...Pôle Systematic Paris-Region
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSSteve Wong
 
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...bdemchak
 

Similar a RESTdesc: Describing Services Functionally (20)

Our Brave Modular Future
Our Brave Modular FutureOur Brave Modular Future
Our Brave Modular Future
 
D6.2.1 e sens kick off meeting - 2013-04-10 - isa action 1.1 on semantic inte...
D6.2.1 e sens kick off meeting - 2013-04-10 - isa action 1.1 on semantic inte...D6.2.1 e sens kick off meeting - 2013-04-10 - isa action 1.1 on semantic inte...
D6.2.1 e sens kick off meeting - 2013-04-10 - isa action 1.1 on semantic inte...
 
Restful Best Practices
Restful Best PracticesRestful Best Practices
Restful Best Practices
 
Experience with MarkLogic at Elsevier
Experience with MarkLogic at ElsevierExperience with MarkLogic at Elsevier
Experience with MarkLogic at Elsevier
 
RESTful SOA and the Spring Framework (EMCWorld 2011)
RESTful SOA and the Spring Framework (EMCWorld 2011)RESTful SOA and the Spring Framework (EMCWorld 2011)
RESTful SOA and the Spring Framework (EMCWorld 2011)
 
Closer17.ppt
Closer17.pptCloser17.ppt
Closer17.ppt
 
Closer17.ppt
Closer17.pptCloser17.ppt
Closer17.ppt
 
Introduction to REST and Jersey
Introduction to REST and JerseyIntroduction to REST and Jersey
Introduction to REST and Jersey
 
Research ON Big Data
Research ON Big DataResearch ON Big Data
Research ON Big Data
 
Research on big data
Research on big dataResearch on big data
Research on big data
 
Sem tech 2011 v8
Sem tech 2011 v8Sem tech 2011 v8
Sem tech 2011 v8
 
DAT101 Understanding AWS Database Options - AWS re: Invent 2012
DAT101 Understanding AWS Database Options - AWS re: Invent 2012DAT101 Understanding AWS Database Options - AWS re: Invent 2012
DAT101 Understanding AWS Database Options - AWS re: Invent 2012
 
CEPH & OPENSTACK - Red Hat's Winning Combination for Enterprise Clouds
CEPH & OPENSTACK - Red Hat's Winning Combination for Enterprise CloudsCEPH & OPENSTACK - Red Hat's Winning Combination for Enterprise Clouds
CEPH & OPENSTACK - Red Hat's Winning Combination for Enterprise Clouds
 
Docker meetup-nyc-v1
Docker meetup-nyc-v1Docker meetup-nyc-v1
Docker meetup-nyc-v1
 
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
 
Microservice Pattern Launguage
Microservice Pattern LaunguageMicroservice Pattern Launguage
Microservice Pattern Launguage
 
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
OSIS19_Cloud : Des objets dans le cloud, et qui y restent -- L'expérience du ...
 
Big Data
Big DataBig Data
Big Data
 
Introduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OSIntroduction to Apache Mesos and DC/OS
Introduction to Apache Mesos and DC/OS
 
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
 

Último

Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsManeerUddin
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 

Último (20)

Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture hons
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 

RESTdesc: Describing Services Functionally

  • 1. ELIS – Multimedia Lab RESTdesc Efficient runtime service discovery and consumption. Ruben Verborgh, Thomas Steiner, Davy Van Deursen, Rik Van de Walle, Joaquim Gabarró Vallés
  • 2. ELIS – Multimedia Lab Talking with others is difficult when you’re different. RESTdesc © Jule Berlin Efficient runtime service discovery and consumption. 2
  • 3. ELIS – Multimedia Lab The goal is not RESTdesc to blend in… © Eric Vest Efficient runtime service discovery and consumption. 3
  • 4. ELIS – Multimedia Lab …but to stand out. RESTdesc © Nicholas Kreidberg Efficient runtime service discovery and consumption. 4
  • 5. What makes a Web service stand out from others? Functionality.
  • 6. Capturing functionality is vital for automated service consumption.
  • 7. ELIS – Multimedia Lab RESTdesc Efficient runtime service discovery and consumption. 1. Why? – need and challenges 2. What? – syntax and structure 3. So what? – benefits and potential RESTdesc Efficient runtime service discovery and consumption. 7
  • 8. ELIS – Multimedia Lab RESTdesc Efficient runtime service discovery and consumption. 1. Why? – need and challenges 2. What? – syntax and structure 3. So what? – benefits and potential RESTdesc Efficient runtime service discovery and consumption. 8
  • 9. ELIS – Multimedia Lab Example service: calculating photo height 768 photo height service send a photo, retrieve its height in pixels RESTdesc Efficient runtime service discovery and consumption. 9
  • 10. ELIS – Multimedia Lab Several service description methods exist. FACT: there are already lots of ways to describe that • the input is an image; • the output is a height in pixels. FACT: none of them really helps... wait? RESTdesc Efficient runtime service discovery and consumption. 10
  • 11. ELIS – Multimedia Lab They don’t describe functionality. 53 768 23.489 What height in pixels? • The height of the face rectangle in the image? • The optimal height on a certain mobile device? • The height of the costume, mysteriously converted to pixels? RESTdesc Efficient runtime service discovery and consumption. 11
  • 12. ELIS – Multimedia Lab Functional descriptions tell the whole story. 768 What height in pixels? Only the functional relation tells us this: send a photo, retrieve its height in pixels RESTdesc Efficient runtime service discovery and consumption. 12
  • 13. ELIS – Multimedia Lab RESTdesc Efficient runtime service discovery and consumption. 1. Why? – need and challenges 2. What? – syntax and structure 3. So what? – benefits and potential RESTdesc Efficient runtime service discovery and consumption. 13
  • 14. ELIS – Multimedia Lab Ingredients of RESTdesc • HTTP • resources RESTdesc Efficient runtime service discovery and consumption. 14
  • 15. ELIS – Multimedia Lab REST-style HTTP is resource-oriented. http://example.com/images/wolfie This is a resource. http://example.com/images/wolfie/height This is a resource, too. They’re even the same resources 768 as those on the Semantic Web: “Resource Description Framework”. RESTdesc Efficient runtime service discovery and consumption. 15
  • 16. ELIS – Multimedia Lab Ingredients of RESTdesc • HTTP • resources • Notation3 (N3) • small superset of RDF RESTdesc Efficient runtime service discovery and consumption. 16
  • 17. ELIS – Multimedia Lab Everything in RDF has 3 parts.     :MyPhoto  :a  :Photo. subject verb object                                                       RESTdesc Efficient runtime service discovery and consumption. 17
  • 18. ELIS – Multimedia Lab RDF is organized in vocabularies. @prefix  :  <http://example.org/photo/>.   @prefix  rdf:  <http://www.w3.org/1999/02/22-­‐rdf-­‐syntax-­‐ns#>. @prefix  dbpedia:  <http://dbpedia.org/resource/>. :MyPhoto  rdf:type  dbpedia:Photo.                                                       RESTdesc Efficient runtime service discovery and consumption. 18
  • 19. ELIS – Multimedia Lab Ingredients of RESTdesc • HTTP • resources • Notation3 (N3) • small superset of RDF • your own vocabulary RESTdesc Efficient runtime service discovery and consumption. 19
  • 20. ELIS – Multimedia Lab How do we describe this functionality? 768 photo height service send a photo, retrieve its height in pixels RESTdesc Efficient runtime service discovery and consumption. 20
  • 21. ELIS – Multimedia Lab Photo height service in RESTdesc @prefix  :  <http://restdesc.no.de/ontlogies/photos#>. @prefix  http:  <http://www.w3.org/2006/http#>. @prefix  tmpl:  <http://purl.org/restdesc/http-­‐template#>. { Not a new model.    ?photo  :photoId  ?id. This is RDF in Notation3, } a Semantic Web language. => {      _:request  http:methodName  "GET";                          tmpl:requestURI  ("/photos/"  ?id  "/height");                          http:resp  [  tmpl:represents  ?pixels  ].      ?photo  :height  ?pixels. }. RESTdesc Efficient runtime service discovery and consumption. 21
  • 22. ELIS – Multimedia Lab Photo height service in RESTdesc If your photo has identifier “wolfie”... { “wolfie ”    ?photo  :photoId  ?id. } => {      _:request  http:methodName  "GET";                          tmpl:requestURI  ("/photos/"  ?id  "/height");                          http:resp  [  tmpl:represents  ?pixels  ].      ?photo  :height  ?pixels. }. RESTdesc Efficient runtime service discovery and consumption. 22
  • 23. ELIS – Multimedia Lab Photo height service in RESTdesc ... then ... {    ?photo  :photoId  ?id. } => {      _:request  http:methodName  "GET";                          tmpl:requestURI  ("/photos/"  ?id  "/height");                          http:resp  [  tmpl:represents  ?pixels  ].      ?photo  :height  ?pixels. }. RESTdesc Efficient runtime service discovery and consumption. 23
  • 24. ELIS – Multimedia Lab Photo height service in RESTdesc ...you can use HTTP to get /photos/wolfie/height... {    ?photo  :photoId  ?id. } => {      _:request  http:methodName  "GET";                          tmpl:requestURI  ("/photos/"  ?id  "/height");                          http:resp  [  tmpl:represents  ?pixels  ].      ?photo  :height  ?pixels. }. RESTdesc Efficient runtime service discovery and consumption. 24
  • 25. ELIS – Multimedia Lab Photo height service in RESTdesc ...and the response will 768 represent a value... {    ?photo  :photoId  ?id. } => {      _:request  http:methodName  "GET";                          tmpl:requestURI  ("/photos/"  ?id  "/height");                          http:resp  [  tmpl:represents  ?pixels  ].      ?photo  :height  ?pixels. }. RESTdesc Efficient runtime service discovery and consumption. 25
  • 26. ELIS – Multimedia Lab Photo height service in RESTdesc ...which is 768 that photo’s height. { “wolfie ”    ?photo  :photoId  ?id. } => {      _:request  http:methodName  "GET";                          tmpl:requestURI  ("/photos/"  ?id  "/height");                          http:resp  [  tmpl:represents  ?pixels  ].      ?photo  :height  ?pixels. }. RESTdesc Efficient runtime service discovery and consumption. 26
  • 27. ELIS – Multimedia Lab This description contains everything you need. 768 “wolfie” “wolfie ” {    ?photo  :photoId  ?id. It’s that simple. } And it’s that powerful. => {      _:request  http:methodName  "GET";                          tmpl:requestURI  ("/photos/"  ?id  "/height");                          http:resp  [  tmpl:represents  ?pixels  ].      ?photo  :height  ?pixels. }. RESTdesc Efficient runtime service discovery and consumption. 27
  • 28. ELIS – Multimedia Lab RESTdesc Efficient runtime service discovery and consumption. 1. Why? – need and challenges 2. What? – syntax and structure 3. So what? – benefits and potential RESTdesc Efficient runtime service discovery and consumption. 28
  • 29. ELIS – Multimedia Lab RESTdesc descriptions are simple, because… They rely on HTTP and HTTP best practices. • resource-oriented They use the vocabulary you choose. • descriptions adapts to your domain They describe only what you need. • concepts live in vocabularies • “height” is an integer, expresses a length in pixels RESTdesc Efficient runtime service discovery and consumption. 29
  • 30. ELIS – Multimedia Lab RESTdesc descriptions are powerful, because… They use the Resource Description Framework. • logically sound • allows complex expressions • interoperable with other services and data They can be composed by generic reasoners. • all N3 reasoners understand RESTdesc • enables goal-driven service composition RESTdesc Efficient runtime service discovery and consumption. 30
  • 31. RESTdesc enables straightforward automated use of services.
  • 32. Seeing services as resources leads to elegant functional descriptions.
  • 33. In functional descriptions, services are not defined by what they look like…
  • 34. ELIS – Multimedia Lab …but by what they do. http://restdesc.org/ RESTdesc Efficient runtime service discovery and consumption. 34