OSLC Executive Checkpoint

Download Report

Transcript OSLC Executive Checkpoint

Leveraging W3C Linked Data, OSLC, and Open Source
for Loosely Coupled Application Integrations
Steve Speicher
OSLC Core Lead
W3C Linked Data Platform Workgroup
IBM Rational
@sspeiche
Michael Fiedler
OSLC Automation Lead
Eclipse Lyo Project Lead and Committer
IBM Rational
@mffielder
© 2013 IBM Corporation
Software Development Tools : Year 2000 - point products
Software
Configuration
Management
Test automation
& management
Build automation
& management
Work item &
bug 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
Requirements
management
Work item &
bug tracking
ALM Solution
• Developer complaints
– Clumsy integrations
– Want best-of-breed choice
• Management complaints
• Mixed Tool Environments
– Open-source offerings with
DIY integration
– 3rd party ALM suites
– Need governance, metrics,
reports, …
© 2013 IBM Corporation
Year 2010 – Linked Data and OSLC – A major breakthrough
Software
Configuration
Management
Build automation
& management
Test automation
& management
Requirements
management
Work item &
bug tracking
Learned to integrate with open REST-based
protocols instead of glue
@ http://open-services.net
© 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)
4. Include links to other URIs. so that they can discover more
things.
He concludes this with: “Simple.”
Reference: “Linked Data”, Tim Berners-Lee, 2006-07-27
© 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
OSLC – Based on Linked Data
<http://cm/bugs/2314>
Lifecycle ToolCommon 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
OSLC Specifications: Layered Cake and Independently Adoptable
Common
Domains
New domains
as needed
Performance Monitoring
Change Management
Automation
Quality Management
Keep scope
simple, learn
and iterate
OSLC Core
REST
W3C Linked Data
Provides
common and
core needs
© 2013 IBM Corporation
Evolution of W3C Linked Data
 2006: Tim Berners-Lee introduced Linked Data as four design principles in an article
 May 2011: IBM and W3C agreed that standardization is necessary to accelerate industry
adoption and enhance interoperability
 Dec 2011: IBM Sponsored W3C Workshop on Linked Enterprise Data Patterns
– Participating organizations included EMC, Elsevier, IBM, Nokia, Oracle
– Workshop recommended W3C produce a standard “which defines a Linked Data
Platform”, leveraging RDF
 March 2012: IBM Submitted Linked Data Basic Profile 1.0 proposal to W3C
– Base the Linked Data Platform foundation on OSLC Core technology and experience
– Co-submitters:
– Supporters:
 June 2012: W3C launched the Linked Data Platform (LDP) Working Group
– Membership spans over 50 participants from 30 organizations
– Arnaud J Le Hors (IBM) and Erik Wilde (EMC) as co-chairs
© 2013 IBM Corporation
W3C Linked Data Platform (LDP)
 WG is chartered to produce a W3C Recommendation:
– For HTTP-based (RESTful) application integration patterns using read/write Linked Data
– It will complement SPARQL and will be compatible with standards for publishing Linked
Data, bringing the data integration features of RDF to RESTful, data-oriented software
development.
LDP defines a set of rules that clarify and extends Tim Berners-Lee's four basic rules
focusing on the following concepts:
– LDP Resources (LDPR)
– HTTP and RDF techniques to read and write linked data
– LDP Containers (LDPC)
– A LDPR to which you POST to create new things, GET to find existing things
– Similar to what AtomPub does for XML
– Paging
– A mechanism to get the content of a LDPC in chunks
– Ordering
– A mechanism to specify the order in which the content of a LDPC is sorted
■
 WG currently on target to deliver a W3C Candidate Recommendation by the end of 2013.
Details @ http://www.w3.org/2012/ldp
© 2013 IBM Corporation
W3C Linked Data Platform (LDP)
■
Published 1st Public Working Draft of Use Case and Requirements on January 31
■
Published 2nd Public Working Draft of Linked Data Platform 1.0 spec on March 7
■
■
2nd Face-to-Face meeting March 13-15 Cambridge, MA
■ 14 in attendance in all (out of 50 members)
■ Worked on key issues (IBM's issues identified via SWGAB Linked Data WG and OSLC)
■ Covered topics of required deliverables: specification, use case and requirements, test
suite, and access control requirements.
Key issues
■ Binary resources and metadata – agreed on direction in line with IBM's preference.
■ Partial update of resources – agreed on direction in line with OSLC's approach.
■ Composition and aggregation models for containers – working on a new proposal to
address various concerns with the status quo.
 Last Call specification most likely to slip from May to June.
 3rd Face-to-Face meeting scheduled for June to address any remaining issues.
 WG still on target to deliver a W3C Candidate Recommendation by the end of 2013.
 Ashok Malhotra of Oracle to become co-editor of the specification.
Details @ http://www.w3.org/2012/ldp
11
© 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
container1
member1
Removed HTTP headers to save some space
Response
@prefix dcterms: <http://purl.org/dc/terms/>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix ldp: <http://w3.org/ns/ldp#>.
<http://example.org/container1/member1>
a o:Cash;
dcterms:title “ACME Bank savings account”;
o:value 45.00.
member2
member3
http://example.org
© 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
Response
@prefix dcterms: <http://purl.org/dc/terms/>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix ldp: <http://w3c.org/ns/ldp#>.
<http://example.org/container1>
a ldp:Container;
dcterms:title "A very simple container";
rdfs:member
<http://example.org/container1/member1>,
<http://example.org/container1/member2>,
<http://example.org/container1/member3>.
member2
member3
http://example.org
© 2013 IBM Corporation
OSLC’s Big Picture
Tests, Libraries, Samples, Examples,
Reference Implementations
The Resource
for OSLC
Implementers
LINKED DATA PLATFORM WORKING GROUP
Open Services for Lifecycle Collaboration
Lifecycle integration inspired by the web
Scenario-driven &
Solution-oriented
Leading choice for
strategic integration
technology
OSLC:
Generally applicable: specs available for many
domains covering ALM, DevOps, ISM, and PLM
Inspired by the web
Free to use and share
Changing the industry
Proven
Open
Innovative
© 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
Impl of LDP that can be extended and deployed
easily by orgs who want to publish data or build
custom apps
SDK and supporting tools to help the community
to adopt OSLC specifications and build
compliant tools
OSLC4Net
OSLC SDKs and tools for the .NET development
community
© 2013 IBM Corporation
Eclipse Lyo
•
Provide tools to enable adoption of OSLC and Linked Data specifications
•
SDKs
– OSLC4J, OAuth, Lyo::OSLC for Perl
– OSLC provider and consumer development
•
Test Suites
– Assessment reports OSLC implementations
– Coverage for Core + Change, Requirements, Quality, Asset and Automation.
Performance Management tests under development.
•
Sample implementations, workshops, tutorials
– Provider and consumer samples.
– Updated tutorial: http://open-services.net/resources/tutorials/integrating-products-with-oslc/
•
Project update
– 1.1 available in February (Client SDK, OAuth libraries, other enhancements)
– 2.0 planned for June (new spec support, new samples, non-Java libs)
© 2013 IBM Corporation
 OSLC – http://open-services.net
 Eclipse Lyo – http://eclipse.org/lyo
 W3C Linked Data Platform – http://LinkedDataPlatform.org
© 2013 IBM Corporation