(Web Composition and Mashups track) "REST Web Service Description for Graph-Based Service Discovery" - Rosa Alarcon, Rodrigo Saffie, Nikolas Bravo, and Javiera Cabello
The document describes a REST API description (RAD) for graph-based service discovery. RAD uses a machine-readable JSON format to describe REST services and connect them semantically as a graph. This allows automatic discovery of related services through queries of the graph. An example uses the RAD graph to discover Spotify playlists for a given artist by matching nodes for music playlists, get actions, and required parameters.
With the growing interest in the API economy, IBM Integration Bus (IIB) has provided many recent enhancements in the area of REST APIs and JSON support. This session will discuss how to create an IIB REST API, either from scratch or starting from a Swagger (OpenAPI specification) document. We will also cover the new JSON Schema support for the Graphical Data Mapper, and the new REST Request node for calling REST APIs from IIB, which can be easily configured by drag-and-drop. Easy integration of IIB Rest APIs with an API Connect catalog is also possible, from both the IIB Toolkit and the IIB Web UI. We will talk through these new capabilities and how they relate to IBM's Application Integration Suite (AIS) solution.
CSOM and REST should probably be #1 on your list of things to learn. You’ve probably seen those tutorials, copy pasted code, the basic hello world apps. Well life is a lot different when writing a relatively complex app. How do you do error handling, concurrency checks, thread synchronization, memory tracking and optimization, and browser independence while taking advantage of newer browsers. Let’s not forget the pain writing and debugging your JavaScript can be, unless of course you structure it right. But how is a developer to match all those parenthesis and semicolons, or check for variable types where your best dev. environment is F12? This session is a hands-on dive into such fun topics.
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)Rob Crowley
The shift to microservices, cloud native and rich web apps have made it challenging to deliver compelling API experiences. REST, as specified in Roy Fielding’s seminal dissertation, has become the architectural pattern of choice for APIs and when applied correctly allows for clients and servers to evolve in a loosely coupled manner. There are areas however where REST can deliver less than ideal client experiences. Often many HTTP requests are required to render a single view.
While this may be a minor concern for a web app running on a WAN with low latency and high bandwidth, it can yield poor client experiences for mobile clients in particular. GraphQL is Facebook’s response to this challenge and it is quickly proving itself as an exciting alternative to RESTful APIs for a wide range of contexts. GraphQL is a query language that provides a clean and simple syntax for consumers to interrogate your APIs. These queries are strongly types, hierarchical and enable clients to retrieve only the data they need.
In this session, we will take a hands-on look at GraphQL and see how it can be used to build APIs that are a joy to use.
With the growing interest in the API economy, IBM Integration Bus (IIB) has provided many recent enhancements in the area of REST APIs and JSON support. This session will discuss how to create an IIB REST API, either from scratch or starting from a Swagger (OpenAPI specification) document. We will also cover the new JSON Schema support for the Graphical Data Mapper, and the new REST Request node for calling REST APIs from IIB, which can be easily configured by drag-and-drop. Easy integration of IIB Rest APIs with an API Connect catalog is also possible, from both the IIB Toolkit and the IIB Web UI. We will talk through these new capabilities and how they relate to IBM's Application Integration Suite (AIS) solution.
CSOM and REST should probably be #1 on your list of things to learn. You’ve probably seen those tutorials, copy pasted code, the basic hello world apps. Well life is a lot different when writing a relatively complex app. How do you do error handling, concurrency checks, thread synchronization, memory tracking and optimization, and browser independence while taking advantage of newer browsers. Let’s not forget the pain writing and debugging your JavaScript can be, unless of course you structure it right. But how is a developer to match all those parenthesis and semicolons, or check for variable types where your best dev. environment is F12? This session is a hands-on dive into such fun topics.
GraphQL - A query language to empower your API consumers (NDC Sydney 2017)Rob Crowley
The shift to microservices, cloud native and rich web apps have made it challenging to deliver compelling API experiences. REST, as specified in Roy Fielding’s seminal dissertation, has become the architectural pattern of choice for APIs and when applied correctly allows for clients and servers to evolve in a loosely coupled manner. There are areas however where REST can deliver less than ideal client experiences. Often many HTTP requests are required to render a single view.
While this may be a minor concern for a web app running on a WAN with low latency and high bandwidth, it can yield poor client experiences for mobile clients in particular. GraphQL is Facebook’s response to this challenge and it is quickly proving itself as an exciting alternative to RESTful APIs for a wide range of contexts. GraphQL is a query language that provides a clean and simple syntax for consumers to interrogate your APIs. These queries are strongly types, hierarchical and enable clients to retrieve only the data they need.
In this session, we will take a hands-on look at GraphQL and see how it can be used to build APIs that are a joy to use.
GraphQL can be one of the best ways to make your product development more fun and productive. In this presentation I talk about how GraphQL makes your life simpler, and how to write and deploy a GraphQL API with Apollo Server 2.0 and serverless deployment via Netlify Functions.
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...luisw19
Originally designed by Facebook to allow its mobile clients to define exactly what data should be send back by an API and therefore avoid unnecessary roundtrips and data usage, GraphQL is a JSON based query language for Web APIs. Since it was open sourced by Facebook in 2015, it has undergone very rapid adoption and many companies have already switch to the GraphQL way of building APIs – see http://GraphQL.org/users.
However, with some many hundreds of thousands of REST APIs publicly available today (and many thousands others available internally), what are the implications of moving to GraphQL? Is it really worth the effort of replacing REST APIs specially if they’re successful and performing well in production? What are the pros/cons of using GraphQL? What tools / languages can be used for GraphQL? What about API Gateways? What about API design?
With a combination of rich content and hands-on demonstrations, attend this session for a point of view on how address these and many other questions, and most importantly get a better understanding and when/where/why/if GraphQL applies for your organisation or specific use case.
How to Build a Big Data Application: Serverless Editionecobold
Come learn how to build, launch, and scale a Big Data application in a serverless context. This is going to be an information packed meetup around Big Data processing, Lambda functions, Lambda Step functions, and everything that ties them together.
Big Data is something we're very passionate about. As the cost of servers have come down and the cost of software has become free, using data to drive your business has become much more obtainable to a larger group of companies. The serverless methodology has recently come in the scene, and it's proving to be just as transformational as cloud has been to the Big Data analytics space. We will be sharing some of our learnings and experiences over the last two years of working with Big Data in a serverless context. We will cover one or two examples of eventful Big Data processing, and the impact it can have on your business in terms of speed of analytics and cost savings to the bottom line.
GraphQL across the stack: How everything fits togetherSashko Stubailo
My talk from GraphQL Summit 2017!
In this talk, I talk about a future for GraphQL which builds on the idea that GraphQL enables lots of tools to work together seamlessly across the stack. I present this through the lens of 3 examples: Caching, performance tracing, and schema stitching.
Stay tuned for the video recording from GraphQL Summit!
SAP FIORI COEP Pune - pavan golesar (ppt)Pavan Golesar
Hi,
This material is not for commercial purpose, Disclaimer: Copyright content included.
For learning purpose only.
sapparamount@gmail.com
Pavan Golesar
How to Build a Big Data Application: Serverless EditionLecole Cole
How to Build a Big Data Application: Serverless Edition
Come learn how do build, launch, and scale a Big Data application in a serverless context. This is going to be an information packed meetup around Big Data processing, Lambda functions, Lambda Step functions, and everything that ties them together.
Enabling transparent SQL/SPARQL access to both static and dynamically-computed data
Query languages for databases (e.g., SQL) and knowledge graphs (e.g., SPARQL) provide a concise, declarative, and highly flexible mechanism to access stored data. Yet, many use cases also involve dynamically-computed data available through web APIs or other forms of external services. In such settings, data access is comparatively less flexible (e.g., due to restrictions on available input/output methods), convenient, and sometimes prohibitively slow for users interactively querying data. In this talk, we discuss these problems and present open source solutions that enable querying dynamically-computed data as a “virtual” (since not fully materialized) relational database via SQL, or as a “virtual” knowledge graph via SPARQL, at the same time providing pre-computation and caching solutions to speed up data access. The core components presented in the talk have been developed in the context of the HIVE “Fusion Grant” project and the OntoCRM project, both involving UNIBZ and Ontopic srl. In both projects, we aim at extending virtual knowledge graphs to dynamically-computed data, with a particular focus on applications in the domains of environmental sustainability and climate risk management.
In Drupal 8, Web services are open standard-based Web applications that interact with other web applications to exchange data, using XML, SOAP, WSDL and UDDI.
(Web User Interfaces track) "Getting the Query Right: User Interface Design o...icwe2015
-
More Related Content
Similar to (Web Composition and Mashups track) "REST Web Service Description for Graph-Based Service Discovery" - Rosa Alarcon, Rodrigo Saffie, Nikolas Bravo, and Javiera Cabello
GraphQL can be one of the best ways to make your product development more fun and productive. In this presentation I talk about how GraphQL makes your life simpler, and how to write and deploy a GraphQL API with Apollo Server 2.0 and serverless deployment via Netlify Functions.
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...luisw19
Originally designed by Facebook to allow its mobile clients to define exactly what data should be send back by an API and therefore avoid unnecessary roundtrips and data usage, GraphQL is a JSON based query language for Web APIs. Since it was open sourced by Facebook in 2015, it has undergone very rapid adoption and many companies have already switch to the GraphQL way of building APIs – see http://GraphQL.org/users.
However, with some many hundreds of thousands of REST APIs publicly available today (and many thousands others available internally), what are the implications of moving to GraphQL? Is it really worth the effort of replacing REST APIs specially if they’re successful and performing well in production? What are the pros/cons of using GraphQL? What tools / languages can be used for GraphQL? What about API Gateways? What about API design?
With a combination of rich content and hands-on demonstrations, attend this session for a point of view on how address these and many other questions, and most importantly get a better understanding and when/where/why/if GraphQL applies for your organisation or specific use case.
How to Build a Big Data Application: Serverless Editionecobold
Come learn how to build, launch, and scale a Big Data application in a serverless context. This is going to be an information packed meetup around Big Data processing, Lambda functions, Lambda Step functions, and everything that ties them together.
Big Data is something we're very passionate about. As the cost of servers have come down and the cost of software has become free, using data to drive your business has become much more obtainable to a larger group of companies. The serverless methodology has recently come in the scene, and it's proving to be just as transformational as cloud has been to the Big Data analytics space. We will be sharing some of our learnings and experiences over the last two years of working with Big Data in a serverless context. We will cover one or two examples of eventful Big Data processing, and the impact it can have on your business in terms of speed of analytics and cost savings to the bottom line.
GraphQL across the stack: How everything fits togetherSashko Stubailo
My talk from GraphQL Summit 2017!
In this talk, I talk about a future for GraphQL which builds on the idea that GraphQL enables lots of tools to work together seamlessly across the stack. I present this through the lens of 3 examples: Caching, performance tracing, and schema stitching.
Stay tuned for the video recording from GraphQL Summit!
SAP FIORI COEP Pune - pavan golesar (ppt)Pavan Golesar
Hi,
This material is not for commercial purpose, Disclaimer: Copyright content included.
For learning purpose only.
sapparamount@gmail.com
Pavan Golesar
How to Build a Big Data Application: Serverless EditionLecole Cole
How to Build a Big Data Application: Serverless Edition
Come learn how do build, launch, and scale a Big Data application in a serverless context. This is going to be an information packed meetup around Big Data processing, Lambda functions, Lambda Step functions, and everything that ties them together.
Enabling transparent SQL/SPARQL access to both static and dynamically-computed data
Query languages for databases (e.g., SQL) and knowledge graphs (e.g., SPARQL) provide a concise, declarative, and highly flexible mechanism to access stored data. Yet, many use cases also involve dynamically-computed data available through web APIs or other forms of external services. In such settings, data access is comparatively less flexible (e.g., due to restrictions on available input/output methods), convenient, and sometimes prohibitively slow for users interactively querying data. In this talk, we discuss these problems and present open source solutions that enable querying dynamically-computed data as a “virtual” (since not fully materialized) relational database via SQL, or as a “virtual” knowledge graph via SPARQL, at the same time providing pre-computation and caching solutions to speed up data access. The core components presented in the talk have been developed in the context of the HIVE “Fusion Grant” project and the OntoCRM project, both involving UNIBZ and Ontopic srl. In both projects, we aim at extending virtual knowledge graphs to dynamically-computed data, with a particular focus on applications in the domains of environmental sustainability and climate risk management.
In Drupal 8, Web services are open standard-based Web applications that interact with other web applications to exchange data, using XML, SOAP, WSDL and UDDI.
Effective Semantic Web Service Composition Framework Based on QoSsethuraman R
Effective Semantic Web Service Composition Framework Based on QoS
by
R.Sethuraman
Research Scholar
Sathyabama University
Similar to (Web Composition and Mashups track) "REST Web Service Description for Graph-Based Service Discovery" - Rosa Alarcon, Rodrigo Saffie, Nikolas Bravo, and Javiera Cabello (20)
(Keynote) Mike Thelwall - “Sentiment Strength Detection for Social Media Text...
(Web Composition and Mashups track) "REST Web Service Description for Graph-Based Service Discovery" - Rosa Alarcon, Rodrigo Saffie, Nikolas Bravo, and Javiera Cabello
1. REST Web
Service
Description
for
Graph-‐Based
Service
Discovery
ICWE
2015
Authors:
Rosa
Alarcón
Rodrigo
Saffie (rasaffie@uc.cl)
Nikolas Bravo
(ngbravo@uc.cl)
Javiera
Cabello
25th
June
2015
Pontificia
Universidad
Católica
de
Chile
Engineering
School
Computer
Science
Department
2. Outline
1. Motivation &
Problem Statement
2. Related
Work
3. Rest API
Description (RAD)
4. Results
5. Summary &
Future Work
Outline REST
Web
Service
Description
for
Graph-‐Based
Service
Description
3. MOTIVATION
AND
PROBLEM
STATEMENT
Motivation REST
Web
Service
Description
for
Graph-‐Based
Service
Description
4. Motivation
• Let's
suppose
we
want to
create
a
service
where
you
can
look
up
your
favorite
artist's
top
tracks
• Web
services
will
allow
us
to
use
what
others
have
already
done
• So
how
would
we
proceed
to
create
such
service?
Motivation REST
Web
Service
Description
for
Graph-‐Based
Service
Description
10. Motivation
• Manual
search
of
web
services
by
category is
insufficient
• Descriptions
are
not
machine-‐readable
• Similar
services
are
not
connected
Motivation REST
Web
Service
Description
for
Graph-‐Based
Service
Description
11. REST
WS
Popularity
Motivation REST
Web
Service
Description
for
Graph-‐Based
Service
DescriptionSearchInterest
Source:
Google
Trends,
June
10,
2015
12. REST
WS
Popularity
Motivation REST
Web
Service
Description
for
Graph-‐Based
Service
Description
Source:
ProgrammableWeb,
Mar
24,
2014
13. Problem
Statement
• Nowadays REST
services are
isolated
• We aim for automatic discovery and
composition of
REST
Web
Services
– Facilitate that end-‐usersfind the resources they
need
– Facilitate the creation of
new
services upon
existing services
Problem
Statement REST
Web
Service
Description
for
Graph-‐Based
Service
Description
15. Related
Work
• RAML
– http://raml.org/
• RESTdesc
– http://restdesc.org/
• HYDRA
– http://www.markus-‐lanthaler.com/hydra/
• WADL
– http://www.w3.org/Submission/wadl/
Related
Work REST
Web
Service
Description
for
Graph-‐Based
Service
Description
16. REST API DESCRIPTION
(RAD)
RAD REST
Web
Service
Description
for
Graph-‐Based
Service
Description
17. Rest
API
Description
(RAD)
• Hypermedia-‐centric
• Machine-‐readable
description
• Connection of
services at
a
semantic level
RAD REST
Web
Service
Description
for
Graph-‐Based
Service
Description
19. RAD
Implementations
• RAD
can
be
implemented
in
multiple
formats
• We
used:
– Microdata
– JSON
RAD REST
Web
Service
Description
for
Graph-‐Based
Service
Description
26. An
Illustrative
Example
• Spotify
– https://developer.spotify.com/web-‐api/
• Songkick
– http://www.songkick.com/developer
• Uber
– https://developer.uber.com/
Results REST
Web
Service
Description
for
Graph-‐Based
Service
Description
27. Extended
Vocabulary
• Extended
schema.org vocabulary
• Parameters
and
actions
have
an
URI
• Specialization
relationships
between
concepts
Results REST
Web
Service
Description
for
Graph-‐Based
Service
Description
29. Results REST
Web
Service
Description
for
Graph-‐Based
Service
Description
30. Results REST
Web
Service
Description
for
Graph-‐Based
Service
Description
Vocabulary
31. Use
Cases
• We
will
analize
two
use
cases:
– Service Discovery
– Service Composition
Results REST
Web
Service
Description
for
Graph-‐Based
Service
Description
32. Use
Case:
Discovery
A
user wants to
find a
given artist’s playlists
Results REST
Web
Service
Description
for
Graph-‐Based
Service
Description
,
33. Use
Case:
Discovery
Cypher
Query
Results REST
Web
Service
Description
for
Graph-‐Based
Service
Description
MATCH
(concept)<-‐[:`is
a`]-‐(resources)-‐[action]-‐>(operations)-‐[:uses]-‐>(parameters)
WHERE
concept.GRI=~
'http://schema.org/Thing/CreativeWork/MusicPlaylist.*'
AND
action.GRI=
'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction'
AND
concept:
`Resource
Concept`
AND
resources:
Resource
AND
operations:
Operation
AND
parameters:
Parameter
RETURN
concept,
resources,
operations,
parameters
34. Use
Case:
Discovery
Cypher
Query
Results REST
Web
Service
Description
for
Graph-‐Based
Service
Description
MATCH
(concept)<-‐[:`is
a`]-‐(resources)-‐[action]-‐>(operations)-‐[:uses]-‐>(parameters)
WHERE
concept.GRI=~
'http://schema.org/Thing/CreativeWork/MusicPlaylist.*'
AND
action.GRI=
'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction'
AND
concept:
`Resource
Concept`
AND
resources:
Resource
AND
operations:
Operation
AND
parameters:
Parameter
RETURN
concept,
resources,
operations,
parameters
35. Use
Case:
Discovery
Cypher
Query
Results REST
Web
Service
Description
for
Graph-‐Based
Service
Description
MATCH
(concept)<-‐[:`is
a`]-‐(resources)-‐[action]-‐>(operations)-‐[:uses]-‐>(parameters)
WHERE
concept.GRI=~
'http://schema.org/Thing/CreativeWork/MusicPlaylist.*'
AND
action.GRI=
'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction'
AND
concept:
`Resource
Concept`
AND
resources:
Resource
AND
operations:
Operation
AND
parameters:
Parameter
RETURN
concept,
resources,
operations,
parameters
36. Use
Case:
Discovery
Cypher
Query
Results REST
Web
Service
Description
for
Graph-‐Based
Service
Description
MATCH
(concept)<-‐[:`is
a`]-‐(resources)-‐[action]-‐>(operations)-‐[:uses]-‐>(parameters)
WHERE
concept.GRI=~
'http://schema.org/Thing/CreativeWork/MusicPlaylist.*'
AND
action.GRI =
'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction'
AND
concept:
`Resource
Concept`
AND
resources:
Resource
AND
operations:
Operation
AND
parameters:
Parameter
RETURN
concept,
resources,
operations,
parameters
37. Use
Case:
Discovery
Cypher
Query
Results REST
Web
Service
Description
for
Graph-‐Based
Service
Description
MATCH
(concept)<-‐[:`is
a`]-‐(resources)-‐[action]-‐>(operations)-‐[:uses]-‐>(parameters)
WHERE
concept.GRI=~
'http://schema.org/Thing/CreativeWork/MusicPlaylist.*'
AND
action.GRI=
'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction'
AND
concept:
`Resource
Concept`
AND
resources:
Resource
AND
operations:
Operation
AND
parameters:
Parameter
RETURN
concept,
resources,
operations,
parameters
38. Use
Case:
Discovery
Cypher
Query
Results REST
Web
Service
Description
for
Graph-‐Based
Service
Description
MATCH
(concept)<-‐[:`is
a`]-‐(resources)-‐[action]-‐>(operations)-‐[:uses]-‐>(parameters)
WHERE
concept.GRI=~
'http://schema.org/Thing/CreativeWork/MusicPlaylist.*'
AND
action.GRI=
'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction'
AND
concept:
`Resource
Concept`
AND
resources:
Resource
AND
operations:
Operation
AND
parameters:
Parameter
RETURN
concept,
resources,
operations,
parameters
39. Use
Case:
Discovery
Results REST
Web
Service
Description
for
Graph-‐Based
Service
Description
Concept:
'http://schema.org/Thing/CreativeWork/MusicPlaylist’
Action:
'http://schema.org/Action/GetAction/GetMusicRecordingCollectionAction’
40. Use
Case:
Composition
A
user
wants
to
attend
a
concert
but
her
favorite
band
is
not
in
town.
She
decides
to
go
to
a
similar
artist
concert
and
needs
to
know
the
venues where
they
will
play
as
well
as
information
of
taxis
to
reach the event.
Results REST
Web
Service
Description
for
Graph-‐Based
Service
Description
42. Composition
Results REST
Web
Service
Description
for
Graph-‐Based
Service
Description
Concept:
‘(…)/MusicGroupCollection’
Action:
‘(…)/GetSimilarArtistsAction’
43. Composition
Results REST
Web
Service
Description
for
Graph-‐Based
Service
Description
Concept:
‘(…)/MusicEventCollection’
Action:
‘(…)/MusicEventSearchAction’
44. Composition
Results REST
Web
Service
Description
for
Graph-‐Based
Service
Description
Concept:
‘(…)/TaxiCollection’
Action:
‘(…)/GetTaxiCollectionAction’
46. Summary
• Natural
language
descriptions
are
insufficient
for
automatic
discovery
&
composition
• A
hypermedia-‐centered model
facilitates
discovery
&
composition
Summary REST
Web
Service
Description
for
Graph-‐Based
Service
Description
47. Summary
• A
graph-‐based solution allows to
represent
links between REST
web
services
• RAD
allows resources and
operations to
be
discovered through concepts and
actions
Summary REST
Web
Service
Description
for
Graph-‐Based
Service
Description
48. Future
Work
• Automatic
service
composition
• Metalanguage
for
RAD
graph
queries
• Natural
language
queries
Future
Work REST
Web
Service
Description
for
Graph-‐Based
Service
Description
49. Acknowledgements
• Engineering’s Graduate School at
PUC
• Computer Science Dept.
at
PUC
Future
Work REST
Web
Service
Description
for
Graph-‐Based
Service
Description
50. REST Web
Service
Description
for
Graph-‐Based
Service
Discovery
ICWE
2015
Authors:
Rosa
Alarcón
Rodrigo
Saffie (rasaffie@uc.cl)
Nikolas Bravo
(ngbravo@uc.cl)
Javiera
Cabello
25th
June
2015
Pontificia
Universidad
Católica
de
Chile
Engineering
School
Computer
Science
Department