application integration with the w3c linked data standards

Post on 14-Jan-2015

533 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Linked Data Platform specification aims to define a set of HTTP protocol extensions for accessing, updating, creating and deleting resources from servers that expose their resources as Linked Data. This presentation looks at how the Linked Data Platform can be used for application integration.

TRANSCRIPT

Center for Open Middleware

Center for Open Middleware

Application integration with the W3C Linked Data standards

Nandana Mihindukulasooriya

Universidad Politécnica de Madrid

nmihindu@fi.upm.es

@nandanamihindu

Día W3C en EspañaDecember 18th, 2013

Center for Open Middleware

2

Evolution of Application Integration

http://www.immortalhumans.com/wp-content/uploads/Evolution-11.jpg

Center for Open Middleware

3

Linked Data

• Connecting data distributed across the Web• Similar to how documents are connected using hyperlinks to set up an

hypertext web

• Based on four rules defined by Tim Berners Lee [1]: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

[1] http://www.w3.org/DesignIssues/LinkedData.html

[2] Linking Open Data cloud diagram, by Richard Cyganiak

and Anja Jentzsch. http://lod-cloud.net/

Center for Open Middleware

4

Why Linked Data ?

• Global identifiers that are dereferenceable • Easily accessible data using HTTP• Reconciliation of duplicate data• Avoid data silos

• Use of standards • Interoperability

• Flexible graph based RDF data model • Easy to merge data from different sources • Multiple schemas can live together • Easy to evolve

• Typed links between data from different sources • Ability to traverse through data to find more information and context

• Richer knowledge representation and modeling• Mappings without complex transformations

• By adding more information rather than converting data

No silver bullets

Center for Open Middleware

5

Linked Data specifications

• Advanced modeling• OWL

Domain Specification

Protocol HTTP

Data model RDF(S)

Serializations RDF/XMLTurtleTriGRDFaJSON-LD

Query SPARQL

W3C Linked Data Platform

Center for Open Middleware

6

Linked Data Platformhttp://www.w3.org/2012/ldp/

• RESTful protocol for Read / Write Linked Data

• Extensions to HTTP protocol • Pagination, ordering, partial updates, introspection, creation factories, collections

• Standardization focused of interoperability

• Developed by W3C Linked Data Platform Working Group• 54 participants from 32 organizations

• Industry: IBM, Oracle, EMC, Fujitsu, OpenLink Software, Base22, …• Academia: Universidad Politécnica de Madrid, University of Oxford, DERI, Université de Lyon, INRIA,

• Progress:• Several public working drafts are available • On its way to a Candidate Recommendation

• Current and potential implementations: • OpenLink Virtuoso, Eclipse Lyo, ALM iStack middleware, Apache Marmotta, Callimachus,

Tabulator, rdflib.js, RWW.IO, …

Center for Open Middleware

7

An example: BugLinks An LDP-enabled bug tracker

OPTIONS

OPTIONS

Center for Open Middleware

8

Looking up for the projectGET /bug-tracker/alm-istack HTTP/1.1

Host: example.org

Accept: text/turtle; charset=UTF-8

HTTP/1.1 200 OK

Content-Type: text/turtle; charset=UTF-8

Link: <http://www.w3.org/ns/ldp/Container>; rel="type"

ETag: W/"123456789"

@prefix dcterms: <http://purl.org/dc/terms/>.

@prefix ldp: <http://www.w3.org/ns/ldp#>.

@prefix bt: <http://www.example.org/vocab#>.

</bug-tracker/alm-istack> a ldp:SimpleContainer, bt:ProductDescription;

dcterms:title "A collection of bug reports on ALM iStack project";

bt:developer </user/johndoe>;

ldp:contains </bug-tracker/alm-istack/bug3>;

ldp:contains </bug-tracker/alm-istack/bug4> .

Center for Open Middleware

9

Looking up for the project with many bugs (Paging)

GET /bug-tracker/buggy-product HTTP/1.1

Host: example.org

Accept: text/turtle; charset=UTF-8

HTTP/1.1 303 See Other

Location: /bug-tracker/buggy-product?firstpage

Link: <http://www.w3.org/ns/ldp/Container>; rel="type"

Center for Open Middleware

10

HTTP/1.1 200 OK

Content-Type: text/turtle; charset=UTF-8

Link: <http://www.w3.org/ns/ldp/Resource>; rel="type“

Link: </bug-tracker/buggy-product?secondpage>; rel='next'

ETag: W/"123456789“

@prefix ldp: <http://www.w3.org/ns/ldp#>.

@prefix bt: <http://www.example.org/vocab#>.

<bug-tracker/buggy-product> a ldp:SimpleContainer,bt:ProductDescription;

ldp:contains </bug-tracker/alm-istack/bug1>;

ldp:contains </bug-tracker/alm-istack/bug200> .

Looking up for the project with many bugs (Paging) II

GET /bug-tracker/buggy-product?firstpage HTTP/1.1

Host: example.org

Accept: text/turtle; charset=UTF-8

Under discussion

Center for Open Middleware

11

Creating a new bug reportPOST /bug-tracker/alm-istack HTTP/1.1

Host: example.org

Content-Type: text/turtle

@prefix dcterms: <http://purl.org/dc/terms/>.

@prefix bt: <http://www.example.org/vocab#>.

<> a bt:BugReport;

dcterms:title "Server crashed";

dcterms:creator </user/janedoe> .

HTTP/1.1 201 Created

Location: /bug-tracker/alm-istack/bug5

Link: <http://www.w3.org/ns/ldp/Resource>; rel="type"

ETag: W/"123456789"

Content-Length: 0

Center for Open Middleware

12

Looking up for a project (again)GET /bug-tracker/alm-istack HTTP/1.1

Host: example.org

Accept: text/turtle; charset=UTF-8

HTTP/1.1 200 OK

Content-Type: text/turtle; charset=UTF-8

Link: <http://www.w3.org/ns/ldp/Container>; rel="type"

ETag: W/“223456789"

@prefix dcterms: <http://purl.org/dc/terms/>.

@prefix ldp: <http://www.w3.org/ns/ldp#>.

@prefix bt: <http://www.example.org/vocab#>.

</bug-tracker/alm-istack> a ldp:SimpleContainer, bt:ProductDescription;

dcterms:title "A collection of bug reports on ALM iStack project";

ldp:contains </bug-tracker/alm-istack/bug3> ;

ldp:contains </bug-tracker/alm-istack/bug4> ;

ldp:contains </bug-tracker/alm-istack/bug5> .

Center for Open Middleware

13

Looking up for a bug reportGET /bug-tracker/alm-istack/bug5 HTTP/1.1

Host: example.org

Accept: text/turtle; charset=UTF-8

HTTP/1.1 200 OK

Content-Type: text/turtle; charset=UTF-8

Link: <http://www.w3.org/ns/ldp/Resource>; rel="type"

ETag: W/"123456789"

@prefix dcterms: <http://purl.org/dc/terms/>.

@prefix ldp: <http://www.w3.org/ns/ldp#>.

@prefix bt: <http://www.example.org/vocab#>.

</bug-tracker/alm-istack/bug5> a bt:BugReport;

dcterms:title "Server crashed";

dcterms:creator </user/janedoe>;

dcterms:created "2013-05-05T10:00"^^xsd:dateTime;

bt:state bt:New .

.

Center for Open Middleware

14

ALM iStack Project

Objective:

To evaluate and foster the adoption of Linked Data technologies as the means for facilitating real-time Application Lifecycle Management tool integration in enterprise-grade environments.

Center for Open Middleware

Center for Open Middleware

15

Architecture of the Proof-of-Concept

Center for Open Middleware

16

Enterprise readiness

VALIDATION

TRANSACTIONS

SECURITY

DESIGN PATTERNS &

ANTI-PATTERNS

APPLICATION MODELS

DISCOVERY & INTROSPECTI

ON

VOCABULARY

MANAGEMENT

VERSIONING

PROVENANCE

IDENTITY MANAGEME

NT

PERFORMANCE

OPTIMIZATION

TESTING

PARTIAL RETRIEVALS & UPDATES

Center for Open Middleware

17

Final remarks • Linked Data can be a good approach when the

integrations are data intensive• Service orientation vs. Data / Resource orientation

• Linked Data Platform as a standard RESTful protocol for read/write Linked Data

• Supported by the industry• OSLC / IBM Rational Jazz• EU projects (PPP/FP7): CESAR, iFEST, CRYSTAL

• Some work to be done on enterprise Quality of Service requirements

Center for Open Middleware

Center for Open Middleware

Thank You !Application integration with

the W3C Linked Data standards

Raúl García Castro,

Miguel Esteban Gutiérrez,

Nandana Mihindukulasooriya

top related