SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
Leveraging W3C Linked Data Platform for
Loosely Coupled Application Integrations
JavaOne 2013 Session CON2492
Steve Speicher
Linked Lifecycle Data and OSLC
Chief Architect
IBM Rational
@sspeiche
sspeiche@gmail.com

© 2013 IBM Corporation
Agenda
Uses and
Background
What is it

Linked Data
Standardization
Open
Source

© 2013 IBM Corporation
Software Development Tools : Year 2000 - point products
Software
Configuration
Management

Test automation
& management

Build automation &
management

Work-item & defect
tracking

Requirements
management

User complaints
–Need tools to work better
–Need tools to work together

© 2013 IBM Corporation
Year 2005 – ALM V1
Software
Configuration
Management

Test automation
& management

Build automation
& management

Work-item & defect
tracking

Requirements
management

ALM Solution

• Developer complaints
– Clumsy integrations
– Want best-of-breed choice

• Management complaints
– Need governance, metrics,
reports, …

• Mixed Tool Environments
– Open-source offerings with DIY
integration
– 3rd party ALM suites

© 2013 IBM Corporation
Year 2010 – Linked Data and OSLC – A major breakthrough
Software
Configuration
Management

Build automation
& management

Requirements
management

Test automation
& management
Work-item & defect
tracking

Learned to integrate with open protocols instead of glue

@ http://open-services.net
© 2013 IBM Corporation
Cloud Application Management pain points
Managing the lifecycle of cloud applications is complex:

- Different tools to manage the cloud applications at the different lifecycle stages
(i.e. development, governance, instantiation, defect tracking, etc.)
- Different APIs provided by these tools
- Different overlapping resource models
- …
Simplify the way cloud applications are managed:
- development of cloud application templates
- governance of templates
- publishing templates to cloud managers
- instantiation of templates
- management of created instances
© 2013 IBM Corporation
Healthcare – Adverse Event Reporting Landscape

Regulatory
Agency

Local
Office Systems

Drug
Producer

For each of these 3, need:
• Custom protocol
• Custom format
• Custom schema
• Custom security

© 2013 IBM Corporation
Agenda
Uses and
Background
What is it

Linked Data
Standardization
Open
Source

© 2013 IBM Corporation
Linked Data – Defined by Tim Berners-Lee
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)
Got links?

4. Include links to other URIs. so that they
can discover more things.
Simple.

© 2013 IBM Corporation
Linked Data – What is it?

TestCase 14 is blocked by Issue 973
http://srv/qm/tc/14

qm:blockedBy

http://apache.org/jira/HTTPCLIENT-973

Joe is a committer for Apache
http://joecoder.me

doap:committer

http://apache.org

Issue 973 depends on Bug 318
http://apache.org/jira/HTTPCLIENT-973

cm:dependsOn

http://bugs.sun.com/? id=7172318

Issue 973 is owned by Joe
http://apache.org/jira/HTTPCLIENT-973

dc:contributor

http://joecoder.me

© 2013 IBM Corporation
Linked Data – What is it? Show me a picture

TestCase
14
Joe
Issue
973
Apache
Bug
318

© 2013 IBM Corporation
Linked Data – Bridging separate data sources (but with meaning)

Source: http://lod-cloud.net Sept 2011

© 2013 IBM Corporation
OSLC – Based on Linked Data
Lifecycle Tool
<http://cm/bugs/2314>
Common Resource Definitions
a oslc_cm:ChangeRequest ;
Change
dcterms:relation <http://cm/bugs/1235>;
Management
oslc_cm:implementsRequirement <http://rm/req/56> .

Service Management
Help Desk

<http://rm/req/56>
a oslc_rm:Requirement ;
Lifecycle Tool
dcterms:title “Online shopping cart”;
Requirements
oslc_rm:validatedBy <http://qm/tc/17> .
Management

Lifecycle Tool
Quality Management

Delegated Dialogs
Service Management
Deployment

Link Preview

http://open-services.net

© 2013 IBM Corporation
Agenda
Uses and
Background

What is it

Linked Data
Standardization
Open
Source

© 2013 IBM Corporation
Linked Data – state of the art
Has some limitations:
– Focused on exposing data with relationships
– No support for update and creation of granular data
– Data updates achieved by receiving new dataset dumps
– Often an export transformation and dump of data
– Based on best practices -- don’t all align and based on specialized usage
Provides great value for many cases
Limited interoperability:
– Interoperable solutions are limited due to no agreement on best practices
– Applications support least common denominator or hacks

© 2013 IBM Corporation
Evolution of W3C Linked Data
 W3C Linked Data
 Four design principles proposed by Tim Berners-Lee in a 2006 article
 Standardization will accelerate industry adoption and enhance interop
 IBM Sponsored W3C Workshop on Linked Enterprise Data Patterns (Dec 2011)
– Participating organizations included EMC, Elsevier, IBM, Nokia, Oracle
– Workshop recommended W3C produce a standard “which defines a Linked Data
Platform”, leveraging RDF
 IBM Submitted Linked Data Basic Profile 1.0 proposal to W3C (March 2012)
– Base the Linked Data Platform foundation on OSLC Core technology and experience
– Co-submitters:
– Supporters:
© 2013 IBM Corporation
W3C Linked Data Platform (LDP) Working Group
 Workgroup membership spans 49 participants from 30 organizations
 Participants: IBM, Oracle, Fujitsu, EMC, BBC, DERI, Cambridge Semantics, …
 Define a W3C Standard of “Linked Data”
– Based on Tim Berners-Lee four principles of Linked Data
– HTTP-based (RESTful) application integration patterns using read/write Linked
Data
– Will complement SPARQL and will be compatible with standards for publishing
Linked Data, bringing the data integration features of RDF to RESTful, dataoriented software development.
 On target to deliver a W3C Candidate Recommendation by early 2014

Details @ http://www.w3.org/2012/ldp
© 2013 IBM Corporation
W3C Linked Data Platform (LDP)

CAUTION: Specification is still under construction.

© 2013 IBM Corporation
Linked Data Platform - Resource
 What resource formats should be used?
 What literal value types should be used?
 Are there some typical vocabularies that should be reused?

 How is optimistic collision detection handled for updates?
 What should client expectations be for changes to linked-to
resources, such as type changes?
 What can servers do to ease the burden of constraints for resource
creation?
© 2013 IBM Corporation
Request

LDP Resource – GET a simple example
GET /container1/member1 HTTP/1.1
Host: example.org
Accept: text/turtle

Response

Removed HTTP headers to save some space

@prefix dcterms: <http://purl.org/dc/terms/>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix ldp: <http://w3.org/ns/ldp#>.

container1

member
1
member2
member3
http://example.org

<http://example.org/container1/member1>
a o:Cash;
dcterms:title “ACME Bank savings account”;
o:value 45.00.

© 2013 IBM Corporation
Linked Data Platform - Container
 To which URLs can I POST to create new resources?
 Where can I GET a list of existing resources?
 How is the order of the container entries expressed?

 How do I get information about the members along with the
container?
 How do I GET the entries of a large container broken up into pages?
 How can I ensure the resource data is easy to query?

© 2013 IBM Corporation
Request

ldp:Container – GET a simple example
GET /container1/ HTTP/1.1
Host: example.org
Accept: text/turtle

container1
member1

Removed HTTP headers to save some space

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

member2
member3

Response

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix ldp: <http://w3c.org/ns/ldp#>.

http://example.org

<http://example.org/container1/>

a ldp:Container;
dcterms:title "A very simple container";
rdfs:member <member1>, <member2>, <member3>.

© 2013 IBM Corporation
Request

ldp:Container – create resource and add
POST /container1/ HTTP/1.1
Host: example.org
Content-type: text/turtle
Content-length: 324
@prefix dcterms: <http://purl.org/dc/terms/>.
@prefix o: <http://example.org/ontology/>.
<>

Response

a o:Stock;
dcterms:title “ACME Co.”;
o:value 100.00.

container1
member1
member2
member3
+member4
http://example.org

HTTP/1.1 201 CREATED
Location: http://example.org/container1/member4

© 2013 IBM Corporation
Request

ldp:Container – get updated
GET /container1/ HTTP/1.1
Host: example.org
Accept: text/turtle

container1
member1

Removed HTTP headers to save some space

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

Response

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix ldp: <http://w3c.org/ns/ldp#>.

member2
member3
member4
http://example.org

<http://example.org/container1/>
a ldp:Container;
dcterms:title "A very simple container";
rdfs:member <member1>, <member2>, <member3>, <member4>.

© 2013 IBM Corporation
ldp:Container – Net worth example

Disclaimer: picture only in UML, does not follow UML constraints
© 2013 IBM Corporation
ldp:Container – slightly more complex example
# The following is the representation of
#
http://example.org/netWorth/nw1
@prefix o: <http://example.org/ontology/>.
@prefix dcterms: <http://purl.org/dc/terms/>.
@prefix ldp: <http://w3c.org/ns/ldp#>.
<http://example.org/netWorth/nw1>
a o:NetWorth;
o:asset
<http://example.org/netWorth/nw1/assetContainer/a1>,
<http://example.org/netWorth/nw1/assetContainer/a2>.
<http://example.org/netWorth/nw1/assetContainer/>
a ldp:Container;
dcterms:title "The assets of JohnZSmith";
ldp:membershipSubject <http://example.org/netWorth/nw1>;
ldp:membershipPredicate o:asset.

•

Membership predicate is something other than rdfs:member (o:asset)

•

Subject for members is something other than the container
© 2013 IBM Corporation
ldp:Container – Member Information
# chopped @prefix
<http://example.org/netWorth/nw1>
a o:NetWorth;
o:asset
<http://example.org/netWorth/nw1/assetContainer/a1>,
<http://example.org/netWorth/nw1/assetContainer/a2>.
<http://example.org/netWorth/nw1/assetContainer/>
a ldp:Container;
dcterms:title "The assets of JohnZSmith";
ldp:membershipSubject <http://example.org/netWorth/nw1>;
ldp:membershipPredicate o:asset.
<http://example.org/netWorth/nw1/assetContainer/a1>
a o:Stock;
o:value 10000.
<http://example.org/netWorth/nw1/assetContainer/a2>
a o:Bond;
o:value 20000.

•

Statements about the member resources included with container representation response
© 2013 IBM Corporation
Request

ldp:Container – Only data about it, no members
GET /netWorth/nw1?non-member-properties HTTP/1.1
Host: example.org
Accept: text/turtle; charset=utf-8

Removed HTTP headers to save some space

Response

@prefix o: <http://example.org/ontology/>.
@prefix dcterms: <http://purl.org/dc/terms/>.
@prefix ldp: <http://w3c.org/ns/ldp#>.
<http://example.org/netWorth/nw1>
a o:NetWorth.
# Members omitted
<http://example.org/netWorth/nw1/assetContainer/>
a ldp:Container;
dcterms:title "The assets of JohnZSmith";
ldp:membershipSubject <http://example.org/netWorth/nw1>;
ldp:membershipPredicate o:asset.

© 2013 IBM Corporation
ldp:Container – Paging (first page)
# Request-URI: http://example.org/netWorth/nw1?firstPage
<http://example.org/netWorth/nw1>
a o:NetWorth;
o:asset
<http://example.org/netWorth/nw1/assetContainer/a1>,
<http://example.org/netWorth/nw1/assetContainer/a2>.
<http://example.org/netWorth/nw1/assetContainer/>
a ldp:Container;
dcterms:title "The assets of JohnZSmith";
bp:membershipSubject <http://example.org/netWorth/nw1>;
bp:membershipPredicate o:asset.

<http://example.org/netWorth/nw1/assetContainer/?firstPage>

a ldp:Page;
ldp:pageOf
<http://example.org/netWorth/nw1/assetContainer/>;
ldp:nextPage <http://example.org/netWorth/nw1/assetContainer/?p=2>.
<http://example.org/netWorth/nw1/assetContainer/a1>
a o:Stock;
o:value 100.00.
<http://example.org/netWorth/nw1/assetContainer/a2>
a o:Cash;
o:value 50.00.

•

New ldp:Page resource

•

Members of containers are paged

© 2013 IBM Corporation
ldpContainer – Paging (last page)
# Request-URI: http://example.org/netWorth/nw1/assetContainer/?p=2
# omitted @prefix
<http://example.org/netWorth/nw1>
a o:NetWorth;
o:asset
<http://example.org/netWorth/nw1/assetContainer/a3>.
<http://example.org/netWorth/nw1/assetContainer/>
a bp:Container;
dcterms:title "The assets of JohnZSmith";
bp:membershipSubject <http://example.org/netWorth/nw1>;
bp:membershipPredicate o:asset.

<http://example.org/netWorth/nw1/assetContainer/?p=2>

a ldp:Page;
ldp:pageOf <http://example.org/netWorth/nw1/assetContainer/>;

ldp:nextPage rdf:nil.
<http://example.org/netWorth/nw1/assetContainer/a5>
a o:Stock;
dcterms:title "Big Co.";
o:value 200.02.

•

Last page indicated by ldp:nextPage set to rdf:nil
© 2013 IBM Corporation
ldp:Container – Paging (ordering)
# Request-URI: http://example.org/netWorth/nw1/assetContainer/?firstPage
# omitted @prefix
<http://example.org/netWorth/nw1>
a o:NetWorth;
o:asset
<http://example.org/netWorth/nw1/assetContainer/a1>,
<http://example.org/netWorth/nw1/assetContainer/a2>.
<http://example.org/netWorth/nw1/assetContainer/>
a ldp:Container;
dcterms:title "The assets of JohnZSmith";
ldp:membershipSubject <http://example.org/netWorth/nw1>;
ldp:membershipPredicate o:asset.

<http://example.org/netWorth/nw1/assetContainer/?firstPage>
a ldp:Page;
ldp:pageOf <http://example.org/netWorth/nw1/assetContainer/>;
ldp:containerSortPredicates (o:value).
<http://example.org/netWorth/nw1/assetContainer/a1>
a o:Stock;
o:value 100.00.
<http://example.org/netWorth/nw1/assetContainer/a2>
a o:Cash;
o:value 50.00.

•

Order indicated by ldp:containerSortPredicate

•

No ordinal predicate introduced, leverage domain model

© 2013 IBM Corporation
Agenda
Uses and
Background
What is it

Linked Data
Standardization
Open
Source

© 2013 IBM Corporation
Open Source Linked Data projects
Simple yet solid framework for building RESTful Web
services based on JAX-RS
RDF Java API and Fuseki provides REST-style
SPARQL HTTP interface
Easily develop semantic web apps by providing tools to
manipulate RDF data, create RESTful Web Services
Extend traditional content management systems with
semantic services
SDK and supporting tools to help the community to
adopt OSLC specifications and build compliant tools

© 2013 IBM Corporation
Handling Linked Data requests - GET
@GET
@Path("{crId}")
@Produces({“application/rdf+xml”, “application/xml”, “application/json”})
public ChangeRequest getChangeRequest(@Context final HttpServletResponse httpServletResponse,
@PathParam(”crId") final String crId)

{ final ChangeRequest cr = Persistence.getChangeRequest(crId);
if (cr != null) {
cr.setServiceProvider(ServiceProviderSingleton.getServiceProviderURI());
setETagHeader(getETagFromChangeRequest(cr), httpServletResponse);

return cr; }

throw new WebApplicationException(Status.NOT_FOUND);
}
© 2013 IBM Corporation
Handling Linked Data requests – HTTP POST
@OslcCreationFactory ( resourceTypes = {“http://open-services.net/ns/cm#ChangeRequest”} )
@POST
@Consumes({“application/rdf+xml”, “application/xml”, “application/json”})
@Produces({“application/rdf+xml”, “application/xml”, “application/json”})
public Response addChangeRequest(@Context final HttpServletRequest httpServletRequest,
@Context final HttpServletResponse httpServletResponse,
final ChangeRequest
changeRequest)
throws URISyntaxException

{
// ... create magic happens here ...

return Response.created(about).entity(changeRequest).build();
}

© 2013 IBM Corporation
Annotating Classes for RDF
@OslcNamespace(“http://open-services.net/ns/cm#”)
@OslcResourceShape(describes = “http://open-services.net/ns/cm#ChangeRequest”)
public final class ChangeRequest extends AbstractResource
{ private String status;
private String title;
@OslcPropertyDefinition("http://open-services.net/ns/cm#status")
public String getStatus() { return status; }

@OslcPropertyDefinition("http://purl.org/dc/terms/#title")
public String getTitle() { return title; }
}

© 2013 IBM Corporation
Wrapping up
 Linked Data space is actively evolving and maturing

 Loosely-coupled application integrations have benefited
 Good alignment with REST applications
 Further standardization will help the cause
 Stay tuned for W3C Linked Data Platform

© 2013 IBM Corporation
Questions?

© 2013 IBM Corporation
BACKUP

© 2012 IBM Corporation
Open Services for Lifecycle Collaboration (OSLC)
Working to improve the way software lifecycle tools share data
Open Services for Lifecycle Collaboration
Lifecycle integration inspired by the web


Community driven and governed








400+ registered community members
Workgroup members from 34+ organizations

Wide range of interests, expertise, & participation
Open specifications for numerous disciplines
Defined by scenarios – solution oriented
Implementations from IBM, BPs, and Others


Based on

Inspired by the web

Proven

Automation

Monitoring

Linked Data

Free to use and share Changing the industry

Open

Innovative

@ http://open-services.net

© 2013 IBM Corporation

Más contenido relacionado

La actualidad más candente

Batch Applications for Java Platform 1.0: Java EE 7 and GlassFish
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFishBatch Applications for Java Platform 1.0: Java EE 7 and GlassFish
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFishArun Gupta
 
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Edward Burns
 
Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.Edward Burns
 
When dispatcher caching is not enough by Jakub Wądołowski
When dispatcher caching is not enough by Jakub WądołowskiWhen dispatcher caching is not enough by Jakub Wądołowski
When dispatcher caching is not enough by Jakub WądołowskiAEM HUB
 
Adding Modularity Afterward with Embedded OSGi
Adding Modularity Afterward with Embedded OSGiAdding Modularity Afterward with Embedded OSGi
Adding Modularity Afterward with Embedded OSGiBob Paulin
 
A Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark PerformanceA Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark PerformanceTim Ellison
 
Oracle ADF Architecture TV - Design - ADF Service Architectures
Oracle ADF Architecture TV - Design - ADF Service ArchitecturesOracle ADF Architecture TV - Design - ADF Service Architectures
Oracle ADF Architecture TV - Design - ADF Service ArchitecturesChris Muir
 
Oracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best PracticesOracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best PracticesChris Muir
 
JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015Edward Burns
 
Burns jsf-confess-2015
Burns jsf-confess-2015Burns jsf-confess-2015
Burns jsf-confess-2015Edward Burns
 
Node.js and Oracle Database: New Development Techniques
Node.js and Oracle Database: New Development TechniquesNode.js and Oracle Database: New Development Techniques
Node.js and Oracle Database: New Development TechniquesChristopher Jones
 
Oracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for SecurityOracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for SecurityChris Muir
 
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationOracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationChris Muir
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data ServicesChris Muir
 
Inspirage Webinar on Epm integration agent
Inspirage Webinar on Epm integration agentInspirage Webinar on Epm integration agent
Inspirage Webinar on Epm integration agentDayalan Punniyamoorthy
 
Oracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningOracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningChris Muir
 
Collaborate 18 presentation by Dayalan Punniyamoorthy
Collaborate 18 presentation by Dayalan PunniyamoorthyCollaborate 18 presentation by Dayalan Punniyamoorthy
Collaborate 18 presentation by Dayalan PunniyamoorthyDayalan Punniyamoorthy
 
Oracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project LayoutsOracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project LayoutsChris Muir
 
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsOracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsChris Muir
 
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015Edward Burns
 

La actualidad más candente (20)

Batch Applications for Java Platform 1.0: Java EE 7 and GlassFish
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFishBatch Applications for Java Platform 1.0: Java EE 7 and GlassFish
Batch Applications for Java Platform 1.0: Java EE 7 and GlassFish
 
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015
 
Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.Ed presents JSF 2.2 and WebSocket to Gameduell.
Ed presents JSF 2.2 and WebSocket to Gameduell.
 
When dispatcher caching is not enough by Jakub Wądołowski
When dispatcher caching is not enough by Jakub WądołowskiWhen dispatcher caching is not enough by Jakub Wądołowski
When dispatcher caching is not enough by Jakub Wądołowski
 
Adding Modularity Afterward with Embedded OSGi
Adding Modularity Afterward with Embedded OSGiAdding Modularity Afterward with Embedded OSGi
Adding Modularity Afterward with Embedded OSGi
 
A Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark PerformanceA Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark Performance
 
Oracle ADF Architecture TV - Design - ADF Service Architectures
Oracle ADF Architecture TV - Design - ADF Service ArchitecturesOracle ADF Architecture TV - Design - ADF Service Architectures
Oracle ADF Architecture TV - Design - ADF Service Architectures
 
Oracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best PracticesOracle ADF Architecture TV - Development - Programming Best Practices
Oracle ADF Architecture TV - Development - Programming Best Practices
 
JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015
 
Burns jsf-confess-2015
Burns jsf-confess-2015Burns jsf-confess-2015
Burns jsf-confess-2015
 
Node.js and Oracle Database: New Development Techniques
Node.js and Oracle Database: New Development TechniquesNode.js and Oracle Database: New Development Techniques
Node.js and Oracle Database: New Development Techniques
 
Oracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for SecurityOracle ADF Architecture TV - Design - Designing for Security
Oracle ADF Architecture TV - Design - Designing for Security
 
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationOracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
 
Oracle REST Data Services
Oracle REST Data ServicesOracle REST Data Services
Oracle REST Data Services
 
Inspirage Webinar on Epm integration agent
Inspirage Webinar on Epm integration agentInspirage Webinar on Epm integration agent
Inspirage Webinar on Epm integration agent
 
Oracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & TuningOracle ADF Architecture TV - Development - Performance & Tuning
Oracle ADF Architecture TV - Development - Performance & Tuning
 
Collaborate 18 presentation by Dayalan Punniyamoorthy
Collaborate 18 presentation by Dayalan PunniyamoorthyCollaborate 18 presentation by Dayalan Punniyamoorthy
Collaborate 18 presentation by Dayalan Punniyamoorthy
 
Oracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project LayoutsOracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
Oracle ADF Architecture TV - Development - Naming Conventions & Project Layouts
 
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation OptionsOracle ADF Architecture TV - Design - Task Flow Navigation Options
Oracle ADF Architecture TV - Design - Task Flow Navigation Options
 
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
 

Destacado

OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...olberger
 
Innovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesInnovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesSteve Speicher
 
REST meets Semantic Web
REST meets Semantic WebREST meets Semantic Web
REST meets Semantic WebSteve Speicher
 
Innovate 2012 ls 1439 linked data oslc
Innovate 2012 ls 1439 linked data oslcInnovate 2012 ls 1439 linked data oslc
Innovate 2012 ls 1439 linked data oslcSteve Speicher
 
Better integrations through open interfaces
Better integrations through open interfacesBetter integrations through open interfaces
Better integrations through open interfacesSteve Speicher
 
Innovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC IntegrationsInnovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC IntegrationsSteve Speicher
 
Innovate2011 DevOps TSRM RTC
Innovate2011 DevOps TSRM RTCInnovate2011 DevOps TSRM RTC
Innovate2011 DevOps TSRM RTCSteve Speicher
 
W3C Linked Data Platform Overview
W3C Linked Data Platform OverviewW3C Linked Data Platform Overview
W3C Linked Data Platform OverviewSteve Speicher
 
Oslc for owf think tank on open forges
Oslc for owf think tank on open forgesOslc for owf think tank on open forges
Oslc for owf think tank on open forgesSteve Speicher
 
Innovate2014 Panel - Best Practices on Implementing Integrations
Innovate2014 Panel - Best Practices on Implementing IntegrationsInnovate2014 Panel - Best Practices on Implementing Integrations
Innovate2014 Panel - Best Practices on Implementing IntegrationsSteve Speicher
 
DevOps in Cloud OSLC Integration
DevOps in Cloud OSLC IntegrationDevOps in Cloud OSLC Integration
DevOps in Cloud OSLC IntegrationSteve Speicher
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at FlickrJohn Allspaw
 

Destacado (12)

OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...
 
Innovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesInnovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open Interfaces
 
REST meets Semantic Web
REST meets Semantic WebREST meets Semantic Web
REST meets Semantic Web
 
Innovate 2012 ls 1439 linked data oslc
Innovate 2012 ls 1439 linked data oslcInnovate 2012 ls 1439 linked data oslc
Innovate 2012 ls 1439 linked data oslc
 
Better integrations through open interfaces
Better integrations through open interfacesBetter integrations through open interfaces
Better integrations through open interfaces
 
Innovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC IntegrationsInnovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC Integrations
 
Innovate2011 DevOps TSRM RTC
Innovate2011 DevOps TSRM RTCInnovate2011 DevOps TSRM RTC
Innovate2011 DevOps TSRM RTC
 
W3C Linked Data Platform Overview
W3C Linked Data Platform OverviewW3C Linked Data Platform Overview
W3C Linked Data Platform Overview
 
Oslc for owf think tank on open forges
Oslc for owf think tank on open forgesOslc for owf think tank on open forges
Oslc for owf think tank on open forges
 
Innovate2014 Panel - Best Practices on Implementing Integrations
Innovate2014 Panel - Best Practices on Implementing IntegrationsInnovate2014 Panel - Best Practices on Implementing Integrations
Innovate2014 Panel - Best Practices on Implementing Integrations
 
DevOps in Cloud OSLC Integration
DevOps in Cloud OSLC IntegrationDevOps in Cloud OSLC Integration
DevOps in Cloud OSLC Integration
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
 

Similar a Here are a few key points about the LDP Container resource:- Containers can have membership predicates other than rdfs:member to define the relationship between the container and its members. In this example it is o:asset.- The subject of the membership for a container's members can be something other than the container itself. Here it is the overall NetWorth resource. - Additional information about container members, like their types, can be provided inline rather than requiring separate requests. This gives clients a complete representation of the container and its members.- Large containers can be paginated to allow clients to retrieve subsets of the overall membership. Cursors or other paging controls would need to be supported

WWW2014 Overview of W3C Linked Data Platform 20140410
WWW2014 Overview of W3C Linked Data Platform 20140410WWW2014 Overview of W3C Linked Data Platform 20140410
WWW2014 Overview of W3C Linked Data Platform 20140410Arnaud Le Hors
 
Meteor - Codemotion Rome 2015
Meteor - Codemotion Rome 2015Meteor - Codemotion Rome 2015
Meteor - Codemotion Rome 2015Codemotion
 
Meteor + Polymer
Meteor + PolymerMeteor + Polymer
Meteor + Polymerwolf4ood
 
DataCite How To: Use the MDS
DataCite How To: Use the MDSDataCite How To: Use the MDS
DataCite How To: Use the MDSFrauke Ziedorn
 
Spring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applicationsSpring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applicationsmichaelaaron25322
 
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010Bhupesh Bansal
 
Hadoop and Voldemort @ LinkedIn
Hadoop and Voldemort @ LinkedInHadoop and Voldemort @ LinkedIn
Hadoop and Voldemort @ LinkedInHadoop User Group
 
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...Steve Speicher
 
Show104 buried treasure
Show104 buried treasureShow104 buried treasure
Show104 buried treasureMark Myers
 
SHOW104 - Buried treasure: Finding the Hidden Gold in Lotus Notes Data
SHOW104 - Buried treasure: Finding the Hidden Gold in Lotus Notes DataSHOW104 - Buried treasure: Finding the Hidden Gold in Lotus Notes Data
SHOW104 - Buried treasure: Finding the Hidden Gold in Lotus Notes Datapanagenda
 
ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudMicrosoft ArcReady
 
Application integration with the W3C Linked Data standards
Application integration with the W3C Linked Data standardsApplication integration with the W3C Linked Data standards
Application integration with the W3C Linked Data standardsNandana Mihindukulasooriya
 
Cloud adoption patterns
Cloud adoption patternsCloud adoption patterns
Cloud adoption patternsKyle Brown
 
IRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHPIRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHPIRJET Journal
 
Cloud adoption patterns April 11 2016
Cloud adoption patterns April 11 2016Cloud adoption patterns April 11 2016
Cloud adoption patterns April 11 2016Kyle Brown
 
Creating a RESTful api without losing too much sleep
Creating a RESTful api without losing too much sleepCreating a RESTful api without losing too much sleep
Creating a RESTful api without losing too much sleepMike Anderson
 
Linked Data for Information Extraction Challenge - Tasks and Results @ ISWC 2014
Linked Data for Information Extraction Challenge - Tasks and Results @ ISWC 2014Linked Data for Information Extraction Challenge - Tasks and Results @ ISWC 2014
Linked Data for Information Extraction Challenge - Tasks and Results @ ISWC 2014Robert Meusel
 
REST and REST-fulness
REST and REST-fulnessREST and REST-fulness
REST and REST-fulnessDavid Waite
 
PowerPoint
PowerPointPowerPoint
PowerPointVideoguy
 

Similar a Here are a few key points about the LDP Container resource:- Containers can have membership predicates other than rdfs:member to define the relationship between the container and its members. In this example it is o:asset.- The subject of the membership for a container's members can be something other than the container itself. Here it is the overall NetWorth resource. - Additional information about container members, like their types, can be provided inline rather than requiring separate requests. This gives clients a complete representation of the container and its members.- Large containers can be paginated to allow clients to retrieve subsets of the overall membership. Cursors or other paging controls would need to be supported (20)

WWW2014 Overview of W3C Linked Data Platform 20140410
WWW2014 Overview of W3C Linked Data Platform 20140410WWW2014 Overview of W3C Linked Data Platform 20140410
WWW2014 Overview of W3C Linked Data Platform 20140410
 
Meteor - Codemotion Rome 2015
Meteor - Codemotion Rome 2015Meteor - Codemotion Rome 2015
Meteor - Codemotion Rome 2015
 
Meteor + Polymer
Meteor + PolymerMeteor + Polymer
Meteor + Polymer
 
contentDM
contentDMcontentDM
contentDM
 
DataCite How To: Use the MDS
DataCite How To: Use the MDSDataCite How To: Use the MDS
DataCite How To: Use the MDS
 
Spring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applicationsSpring data jpa are used to develop spring applications
Spring data jpa are used to develop spring applications
 
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
 
Hadoop and Voldemort @ LinkedIn
Hadoop and Voldemort @ LinkedInHadoop and Voldemort @ LinkedIn
Hadoop and Voldemort @ LinkedIn
 
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
EclipseCon 2013 Learn and share about integrations using Eclipse Lyo, OSLC an...
 
Show104 buried treasure
Show104 buried treasureShow104 buried treasure
Show104 buried treasure
 
SHOW104 - Buried treasure: Finding the Hidden Gold in Lotus Notes Data
SHOW104 - Buried treasure: Finding the Hidden Gold in Lotus Notes DataSHOW104 - Buried treasure: Finding the Hidden Gold in Lotus Notes Data
SHOW104 - Buried treasure: Finding the Hidden Gold in Lotus Notes Data
 
ArcReady - Architecting For The Cloud
ArcReady - Architecting For The CloudArcReady - Architecting For The Cloud
ArcReady - Architecting For The Cloud
 
Application integration with the W3C Linked Data standards
Application integration with the W3C Linked Data standardsApplication integration with the W3C Linked Data standards
Application integration with the W3C Linked Data standards
 
Cloud adoption patterns
Cloud adoption patternsCloud adoption patterns
Cloud adoption patterns
 
IRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHPIRJET- Lightweight MVC Framework in PHP
IRJET- Lightweight MVC Framework in PHP
 
Cloud adoption patterns April 11 2016
Cloud adoption patterns April 11 2016Cloud adoption patterns April 11 2016
Cloud adoption patterns April 11 2016
 
Creating a RESTful api without losing too much sleep
Creating a RESTful api without losing too much sleepCreating a RESTful api without losing too much sleep
Creating a RESTful api without losing too much sleep
 
Linked Data for Information Extraction Challenge - Tasks and Results @ ISWC 2014
Linked Data for Information Extraction Challenge - Tasks and Results @ ISWC 2014Linked Data for Information Extraction Challenge - Tasks and Results @ ISWC 2014
Linked Data for Information Extraction Challenge - Tasks and Results @ ISWC 2014
 
REST and REST-fulness
REST and REST-fulnessREST and REST-fulness
REST and REST-fulness
 
PowerPoint
PowerPointPowerPoint
PowerPoint
 

Último

Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
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
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
[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
 
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
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
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
 
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
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 

Último (20)

Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
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
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
[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
 
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...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
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
 
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
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 

Here are a few key points about the LDP Container resource:- Containers can have membership predicates other than rdfs:member to define the relationship between the container and its members. In this example it is o:asset.- The subject of the membership for a container's members can be something other than the container itself. Here it is the overall NetWorth resource. - Additional information about container members, like their types, can be provided inline rather than requiring separate requests. This gives clients a complete representation of the container and its members.- Large containers can be paginated to allow clients to retrieve subsets of the overall membership. Cursors or other paging controls would need to be supported

  • 1. Leveraging W3C Linked Data Platform for Loosely Coupled Application Integrations JavaOne 2013 Session CON2492 Steve Speicher Linked Lifecycle Data and OSLC Chief Architect IBM Rational @sspeiche sspeiche@gmail.com © 2013 IBM Corporation
  • 2. Agenda Uses and Background What is it Linked Data Standardization Open Source © 2013 IBM Corporation
  • 3. Software Development Tools : Year 2000 - point products Software Configuration Management Test automation & management Build automation & management Work-item & defect tracking Requirements management User complaints –Need tools to work better –Need tools to work together © 2013 IBM Corporation
  • 4. Year 2005 – ALM V1 Software Configuration Management Test automation & management Build automation & management Work-item & defect tracking Requirements management ALM Solution • Developer complaints – Clumsy integrations – Want best-of-breed choice • Management complaints – Need governance, metrics, reports, … • Mixed Tool Environments – Open-source offerings with DIY integration – 3rd party ALM suites © 2013 IBM Corporation
  • 5. Year 2010 – Linked Data and OSLC – A major breakthrough Software Configuration Management Build automation & management Requirements management Test automation & management Work-item & defect tracking Learned to integrate with open protocols instead of glue @ http://open-services.net © 2013 IBM Corporation
  • 6. Cloud Application Management pain points Managing the lifecycle of cloud applications is complex: - Different tools to manage the cloud applications at the different lifecycle stages (i.e. development, governance, instantiation, defect tracking, etc.) - Different APIs provided by these tools - Different overlapping resource models - … Simplify the way cloud applications are managed: - development of cloud application templates - governance of templates - publishing templates to cloud managers - instantiation of templates - management of created instances © 2013 IBM Corporation
  • 7. Healthcare – Adverse Event Reporting Landscape Regulatory Agency Local Office Systems Drug Producer For each of these 3, need: • Custom protocol • Custom format • Custom schema • Custom security © 2013 IBM Corporation
  • 8. Agenda Uses and Background What is it Linked Data Standardization Open Source © 2013 IBM Corporation
  • 9. Linked Data – Defined by Tim Berners-Lee 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) Got links? 4. Include links to other URIs. so that they can discover more things. Simple. © 2013 IBM Corporation
  • 10. Linked Data – What is it? TestCase 14 is blocked by Issue 973 http://srv/qm/tc/14 qm:blockedBy http://apache.org/jira/HTTPCLIENT-973 Joe is a committer for Apache http://joecoder.me doap:committer http://apache.org Issue 973 depends on Bug 318 http://apache.org/jira/HTTPCLIENT-973 cm:dependsOn http://bugs.sun.com/? id=7172318 Issue 973 is owned by Joe http://apache.org/jira/HTTPCLIENT-973 dc:contributor http://joecoder.me © 2013 IBM Corporation
  • 11. Linked Data – What is it? Show me a picture TestCase 14 Joe Issue 973 Apache Bug 318 © 2013 IBM Corporation
  • 12. Linked Data – Bridging separate data sources (but with meaning) Source: http://lod-cloud.net Sept 2011 © 2013 IBM Corporation
  • 13. OSLC – Based on Linked Data Lifecycle Tool <http://cm/bugs/2314> Common Resource Definitions a oslc_cm:ChangeRequest ; Change dcterms:relation <http://cm/bugs/1235>; Management oslc_cm:implementsRequirement <http://rm/req/56> . Service Management Help Desk <http://rm/req/56> a oslc_rm:Requirement ; Lifecycle Tool dcterms:title “Online shopping cart”; Requirements oslc_rm:validatedBy <http://qm/tc/17> . Management Lifecycle Tool Quality Management Delegated Dialogs Service Management Deployment Link Preview http://open-services.net © 2013 IBM Corporation
  • 14. Agenda Uses and Background What is it Linked Data Standardization Open Source © 2013 IBM Corporation
  • 15. Linked Data – state of the art Has some limitations: – Focused on exposing data with relationships – No support for update and creation of granular data – Data updates achieved by receiving new dataset dumps – Often an export transformation and dump of data – Based on best practices -- don’t all align and based on specialized usage Provides great value for many cases Limited interoperability: – Interoperable solutions are limited due to no agreement on best practices – Applications support least common denominator or hacks © 2013 IBM Corporation
  • 16. Evolution of W3C Linked Data  W3C Linked Data  Four design principles proposed by Tim Berners-Lee in a 2006 article  Standardization will accelerate industry adoption and enhance interop  IBM Sponsored W3C Workshop on Linked Enterprise Data Patterns (Dec 2011) – Participating organizations included EMC, Elsevier, IBM, Nokia, Oracle – Workshop recommended W3C produce a standard “which defines a Linked Data Platform”, leveraging RDF  IBM Submitted Linked Data Basic Profile 1.0 proposal to W3C (March 2012) – Base the Linked Data Platform foundation on OSLC Core technology and experience – Co-submitters: – Supporters: © 2013 IBM Corporation
  • 17. W3C Linked Data Platform (LDP) Working Group  Workgroup membership spans 49 participants from 30 organizations  Participants: IBM, Oracle, Fujitsu, EMC, BBC, DERI, Cambridge Semantics, …  Define a W3C Standard of “Linked Data” – Based on Tim Berners-Lee four principles of Linked Data – HTTP-based (RESTful) application integration patterns using read/write Linked Data – Will complement SPARQL and will be compatible with standards for publishing Linked Data, bringing the data integration features of RDF to RESTful, dataoriented software development.  On target to deliver a W3C Candidate Recommendation by early 2014 Details @ http://www.w3.org/2012/ldp © 2013 IBM Corporation
  • 18. W3C Linked Data Platform (LDP) CAUTION: Specification is still under construction. © 2013 IBM Corporation
  • 19. Linked Data Platform - Resource  What resource formats should be used?  What literal value types should be used?  Are there some typical vocabularies that should be reused?  How is optimistic collision detection handled for updates?  What should client expectations be for changes to linked-to resources, such as type changes?  What can servers do to ease the burden of constraints for resource creation? © 2013 IBM Corporation
  • 20. Request LDP Resource – GET a simple example GET /container1/member1 HTTP/1.1 Host: example.org Accept: text/turtle Response Removed HTTP headers to save some space @prefix dcterms: <http://purl.org/dc/terms/>. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix ldp: <http://w3.org/ns/ldp#>. container1 member 1 member2 member3 http://example.org <http://example.org/container1/member1> a o:Cash; dcterms:title “ACME Bank savings account”; o:value 45.00. © 2013 IBM Corporation
  • 21. Linked Data Platform - Container  To which URLs can I POST to create new resources?  Where can I GET a list of existing resources?  How is the order of the container entries expressed?  How do I get information about the members along with the container?  How do I GET the entries of a large container broken up into pages?  How can I ensure the resource data is easy to query? © 2013 IBM Corporation
  • 22. Request ldp:Container – GET a simple example GET /container1/ HTTP/1.1 Host: example.org Accept: text/turtle container1 member1 Removed HTTP headers to save some space @prefix dcterms: <http://purl.org/dc/terms/>. member2 member3 Response @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix ldp: <http://w3c.org/ns/ldp#>. http://example.org <http://example.org/container1/> a ldp:Container; dcterms:title "A very simple container"; rdfs:member <member1>, <member2>, <member3>. © 2013 IBM Corporation
  • 23. Request ldp:Container – create resource and add POST /container1/ HTTP/1.1 Host: example.org Content-type: text/turtle Content-length: 324 @prefix dcterms: <http://purl.org/dc/terms/>. @prefix o: <http://example.org/ontology/>. <> Response a o:Stock; dcterms:title “ACME Co.”; o:value 100.00. container1 member1 member2 member3 +member4 http://example.org HTTP/1.1 201 CREATED Location: http://example.org/container1/member4 © 2013 IBM Corporation
  • 24. Request ldp:Container – get updated GET /container1/ HTTP/1.1 Host: example.org Accept: text/turtle container1 member1 Removed HTTP headers to save some space @prefix dcterms: <http://purl.org/dc/terms/>. Response @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix ldp: <http://w3c.org/ns/ldp#>. member2 member3 member4 http://example.org <http://example.org/container1/> a ldp:Container; dcterms:title "A very simple container"; rdfs:member <member1>, <member2>, <member3>, <member4>. © 2013 IBM Corporation
  • 25. ldp:Container – Net worth example Disclaimer: picture only in UML, does not follow UML constraints © 2013 IBM Corporation
  • 26. ldp:Container – slightly more complex example # The following is the representation of # http://example.org/netWorth/nw1 @prefix o: <http://example.org/ontology/>. @prefix dcterms: <http://purl.org/dc/terms/>. @prefix ldp: <http://w3c.org/ns/ldp#>. <http://example.org/netWorth/nw1> a o:NetWorth; o:asset <http://example.org/netWorth/nw1/assetContainer/a1>, <http://example.org/netWorth/nw1/assetContainer/a2>. <http://example.org/netWorth/nw1/assetContainer/> a ldp:Container; dcterms:title "The assets of JohnZSmith"; ldp:membershipSubject <http://example.org/netWorth/nw1>; ldp:membershipPredicate o:asset. • Membership predicate is something other than rdfs:member (o:asset) • Subject for members is something other than the container © 2013 IBM Corporation
  • 27. ldp:Container – Member Information # chopped @prefix <http://example.org/netWorth/nw1> a o:NetWorth; o:asset <http://example.org/netWorth/nw1/assetContainer/a1>, <http://example.org/netWorth/nw1/assetContainer/a2>. <http://example.org/netWorth/nw1/assetContainer/> a ldp:Container; dcterms:title "The assets of JohnZSmith"; ldp:membershipSubject <http://example.org/netWorth/nw1>; ldp:membershipPredicate o:asset. <http://example.org/netWorth/nw1/assetContainer/a1> a o:Stock; o:value 10000. <http://example.org/netWorth/nw1/assetContainer/a2> a o:Bond; o:value 20000. • Statements about the member resources included with container representation response © 2013 IBM Corporation
  • 28. Request ldp:Container – Only data about it, no members GET /netWorth/nw1?non-member-properties HTTP/1.1 Host: example.org Accept: text/turtle; charset=utf-8 Removed HTTP headers to save some space Response @prefix o: <http://example.org/ontology/>. @prefix dcterms: <http://purl.org/dc/terms/>. @prefix ldp: <http://w3c.org/ns/ldp#>. <http://example.org/netWorth/nw1> a o:NetWorth. # Members omitted <http://example.org/netWorth/nw1/assetContainer/> a ldp:Container; dcterms:title "The assets of JohnZSmith"; ldp:membershipSubject <http://example.org/netWorth/nw1>; ldp:membershipPredicate o:asset. © 2013 IBM Corporation
  • 29. ldp:Container – Paging (first page) # Request-URI: http://example.org/netWorth/nw1?firstPage <http://example.org/netWorth/nw1> a o:NetWorth; o:asset <http://example.org/netWorth/nw1/assetContainer/a1>, <http://example.org/netWorth/nw1/assetContainer/a2>. <http://example.org/netWorth/nw1/assetContainer/> a ldp:Container; dcterms:title "The assets of JohnZSmith"; bp:membershipSubject <http://example.org/netWorth/nw1>; bp:membershipPredicate o:asset. <http://example.org/netWorth/nw1/assetContainer/?firstPage> a ldp:Page; ldp:pageOf <http://example.org/netWorth/nw1/assetContainer/>; ldp:nextPage <http://example.org/netWorth/nw1/assetContainer/?p=2>. <http://example.org/netWorth/nw1/assetContainer/a1> a o:Stock; o:value 100.00. <http://example.org/netWorth/nw1/assetContainer/a2> a o:Cash; o:value 50.00. • New ldp:Page resource • Members of containers are paged © 2013 IBM Corporation
  • 30. ldpContainer – Paging (last page) # Request-URI: http://example.org/netWorth/nw1/assetContainer/?p=2 # omitted @prefix <http://example.org/netWorth/nw1> a o:NetWorth; o:asset <http://example.org/netWorth/nw1/assetContainer/a3>. <http://example.org/netWorth/nw1/assetContainer/> a bp:Container; dcterms:title "The assets of JohnZSmith"; bp:membershipSubject <http://example.org/netWorth/nw1>; bp:membershipPredicate o:asset. <http://example.org/netWorth/nw1/assetContainer/?p=2> a ldp:Page; ldp:pageOf <http://example.org/netWorth/nw1/assetContainer/>; ldp:nextPage rdf:nil. <http://example.org/netWorth/nw1/assetContainer/a5> a o:Stock; dcterms:title "Big Co."; o:value 200.02. • Last page indicated by ldp:nextPage set to rdf:nil © 2013 IBM Corporation
  • 31. ldp:Container – Paging (ordering) # Request-URI: http://example.org/netWorth/nw1/assetContainer/?firstPage # omitted @prefix <http://example.org/netWorth/nw1> a o:NetWorth; o:asset <http://example.org/netWorth/nw1/assetContainer/a1>, <http://example.org/netWorth/nw1/assetContainer/a2>. <http://example.org/netWorth/nw1/assetContainer/> a ldp:Container; dcterms:title "The assets of JohnZSmith"; ldp:membershipSubject <http://example.org/netWorth/nw1>; ldp:membershipPredicate o:asset. <http://example.org/netWorth/nw1/assetContainer/?firstPage> a ldp:Page; ldp:pageOf <http://example.org/netWorth/nw1/assetContainer/>; ldp:containerSortPredicates (o:value). <http://example.org/netWorth/nw1/assetContainer/a1> a o:Stock; o:value 100.00. <http://example.org/netWorth/nw1/assetContainer/a2> a o:Cash; o:value 50.00. • Order indicated by ldp:containerSortPredicate • No ordinal predicate introduced, leverage domain model © 2013 IBM Corporation
  • 32. Agenda Uses and Background What is it Linked Data Standardization Open Source © 2013 IBM Corporation
  • 33. Open Source Linked Data projects Simple yet solid framework for building RESTful Web services based on JAX-RS RDF Java API and Fuseki provides REST-style SPARQL HTTP interface Easily develop semantic web apps by providing tools to manipulate RDF data, create RESTful Web Services Extend traditional content management systems with semantic services SDK and supporting tools to help the community to adopt OSLC specifications and build compliant tools © 2013 IBM Corporation
  • 34. Handling Linked Data requests - GET @GET @Path("{crId}") @Produces({“application/rdf+xml”, “application/xml”, “application/json”}) public ChangeRequest getChangeRequest(@Context final HttpServletResponse httpServletResponse, @PathParam(”crId") final String crId) { final ChangeRequest cr = Persistence.getChangeRequest(crId); if (cr != null) { cr.setServiceProvider(ServiceProviderSingleton.getServiceProviderURI()); setETagHeader(getETagFromChangeRequest(cr), httpServletResponse); return cr; } throw new WebApplicationException(Status.NOT_FOUND); } © 2013 IBM Corporation
  • 35. Handling Linked Data requests – HTTP POST @OslcCreationFactory ( resourceTypes = {“http://open-services.net/ns/cm#ChangeRequest”} ) @POST @Consumes({“application/rdf+xml”, “application/xml”, “application/json”}) @Produces({“application/rdf+xml”, “application/xml”, “application/json”}) public Response addChangeRequest(@Context final HttpServletRequest httpServletRequest, @Context final HttpServletResponse httpServletResponse, final ChangeRequest changeRequest) throws URISyntaxException { // ... create magic happens here ... return Response.created(about).entity(changeRequest).build(); } © 2013 IBM Corporation
  • 36. Annotating Classes for RDF @OslcNamespace(“http://open-services.net/ns/cm#”) @OslcResourceShape(describes = “http://open-services.net/ns/cm#ChangeRequest”) public final class ChangeRequest extends AbstractResource { private String status; private String title; @OslcPropertyDefinition("http://open-services.net/ns/cm#status") public String getStatus() { return status; } @OslcPropertyDefinition("http://purl.org/dc/terms/#title") public String getTitle() { return title; } } © 2013 IBM Corporation
  • 37. Wrapping up  Linked Data space is actively evolving and maturing  Loosely-coupled application integrations have benefited  Good alignment with REST applications  Further standardization will help the cause  Stay tuned for W3C Linked Data Platform © 2013 IBM Corporation
  • 38. Questions? © 2013 IBM Corporation
  • 39. BACKUP © 2012 IBM Corporation
  • 40. Open Services for Lifecycle Collaboration (OSLC) Working to improve the way software lifecycle tools share data Open Services for Lifecycle Collaboration Lifecycle integration inspired by the web  Community driven and governed       400+ registered community members Workgroup members from 34+ organizations Wide range of interests, expertise, & participation Open specifications for numerous disciplines Defined by scenarios – solution oriented Implementations from IBM, BPs, and Others  Based on Inspired by the web Proven Automation Monitoring Linked Data Free to use and share Changing the industry Open Innovative @ http://open-services.net © 2013 IBM Corporation

Notas del editor

  1. Reference: “Linked Data”, Tim Berners-Lee, 2006-07-27
  2. Points:At the core is a set of Statements (aka facts), which are typically written down or learnedTell the story as if the present is a tester, they have knowledge of their test cases and of Joe. In the Web 1.0/2.0 way to learn these things is by publishing on a HTML page for a human consumer of itThis follows TBL’s 4 rules for linked dataFirst we give these statement URIs so computers can identify them and understand them. Grouping into subject-predicate-object builds the statementNext we can do a HTTP GET to learn moreWhen we learn more, it is in the form of more statements with URIsThose URIs point to more things or relate things back to things we already know (Joe)Jira http://www.atlassian.com/software/jira/overview
  3. Points:Same information as the previous slide but just as a direct graphHighlight this is just the way the web worksCan point out that easy to extend to include things like: can learn when dependent software has been fixed, built and where it is available
  4. Key pointsRequest URI == subjectResource has a typeSimple defnResponse representation is the full state of the resource (there is no other data the server knows about it, all other data is either inbound links or stored where it doesn’t know)
  5. http://incubator.apache.org/clerezza/ Clerezza allows to easily develop semantic web applications by providing tools to manipulate RDF data, create RESTful Web Serviceshttp://stanbol.apache.org/index.html Apache Stanbol&apos;s intended use is to extend traditional content management systems with semantic serviceshttp://jena.apache.org/documentation/serving_data/index.html Apache Jena and FusekiFuseki is a SPARQL server. It provides REST-style SPARQL HTTP Update, SPARQL Query, and SPARQL Update using the SPARQL protocol over HTTP.http://incubator.apache.org/wink/ http://eclipse/lyo