59
An Introduction to OSLC and Linked Data OSLC: Lifecycle integration inspired by the web

Introduction to OSLC and Linked Data

Embed Size (px)

DESCRIPTION

An introduction to Open Services for Lifecycle Collaboration (OSLC): - The OSLC community - Linked Data and RDF - OSLC specifications

Citation preview

Page 1: Introduction to OSLC and Linked Data

An Introduction to OSLC and Linked DataOSLC: Lifecycle integration inspired by the web

Page 2: Introduction to OSLC and Linked Data

2

Objectives and Pre-requisites

Objectives: You will gain an understanding of the OSLC community,

linked data, and the OSLC specifications– OSLC = Open Services for Lifecycle Collaboration

Pre-requisites: none

Recommended reading:

1. http://www.linkeddatatools.com/introducing-rdf

2. http://3roundstones.com/linked-data-101/linked-data-tutorial/

Page 3: Introduction to OSLC and Linked Data

3

What’s next

The OSLC communityLinked data and RDFAn exampleThe OSLC specifications

Page 4: Introduction to OSLC and Linked Data

4

More limited ability to respond to changeConstrained by exhausted IT budget and lower productivity

More limited ability to respond to changeConstrained by exhausted IT budget and lower productivity

Integrations consume more of the IT budget:integration failures are the top 2 causes

of software project delays*

Integrations consume more of the IT budget:integration failures are the top 2 causes

of software project delays*

The Integration Problem

Point-to-point Integrationsdon’t scale

Monocultureslock you in

Maintenance, management,and change costs go up over time

Creating newintegrations isunpredictable

Ongoing and unexpectedcosts drain resources

Past choicesrestrict present

action andfuture vision

End-user productivity suffers:Either stuck with the wrong tool,stuck doing manual integration;

often stuck doing both

End-user productivity suffers:Either stuck with the wrong tool,stuck doing manual integration;

often stuck doing both

* Commissioned study conducted byForrester Consulting on behalf of IBM.

Page 5: Introduction to OSLC and Linked Data

5

Identify Scenarios

Iterate on working drafts

Call it a specification

Gain technical consensus,

OSLC and Open Community: open collaboration, better integration

http://open-services.net

Page 6: Introduction to OSLC and Linked Data

6

The Basics: What is OSLC, and why should I care?OSLC is an open community building practical specifications

for integrating software

OSLC is beneficial to many stakeholders

Page 7: Introduction to OSLC and Linked Data

7

OSLC’s Simple Solution

Automation

Monitoring

Increased traceability

Architecture of the Web

Linked Data

Increased reuse

Standard Interfaces

Better visibility

“Just Enough” integration

Decreased maintenance costs

Users can work seamlessly across their tools

OSLC is an open and scalable approach to lifecycle integration.It simplifies key integration scenarios across heterogeneous tools

Page 8: Introduction to OSLC and Linked Data

8

OSLC’s Big Picture

Open Services for Lifecycle CollaborationLifecycle integration inspired by the web

LINKED DATA PLATFORM WORKING GROUP

Future Home of OSLC Spec Dev

Future Home of OSLC Spec Dev

The Resource for OSLC

Implementers

Inspired by the web

ProvenFree to use and share

OpenChanging the industry

InnovativeOSLC:

Tests, Libraries, Samples, Examples,Reference Implementations

Scenario-driven & Solution-oriented

Generally applicable: specs available for many domains covering ALM, DevOps, ISM, and PLM

Leading choice for strategic integration technology

Page 9: Introduction to OSLC and Linked Data

9

Eclipse LyoEclipse project created with the goal of providing tools to enable adoption of OSLC specifications. Content includes

Code libraries (Java, Perl, others under development)– Give developers tools to ease OSLC implementations

Reference implementations of specifications– Provide a starting point for new integrations

Test suites and test reporting. Covers OSLC Core, CM, QM, RM and Asset today.– Accelerate and assess development

Samples, tutorials and documentation– Working samples of OSLC integrations with Bugzilla, Excel,

Jazz tools and more.http://eclipse.org/lyo

Page 10: Introduction to OSLC and Linked Data

10

What’s next

The OSLC communityLinked data and RDFAn exampleThe OSLC specifications

Page 11: Introduction to OSLC and Linked Data

11

OSLC turns data into...

Requirements Validation Tests Design Implementation

Tool A Tool B Tool D

R1

R2

T1

T2

D1

D2

I1

I2

Tool C

Page 12: Introduction to OSLC and Linked Data

12

...connected information...

validates

satisfy

validates

satisfy

validates

validates

implements

implements

Requirements Validation Tests Design Implementation

Tool A Tool B Tool D

R1

R2

T1

T2

D1

D2

I1

I2

Tool C

Which requirements for the UI are related to test cases that failed on their last run?

Which requirements for the UI are related to test cases that failed on their last run?

Does every requirement have a test to validate it?

Does every requirement have a test to validate it?

Page 13: Introduction to OSLC and Linked Data

13

Release

...that can facilitate applied knowledge

User Interface

Processing Engine

validates validates

satisfy

validates

satisfy

validates

implements

implements

Requirements Validation Tests Design Implementation

Tool A Tool B Tool D

R1

R2

T1

T2

D1

D2

I1

I2

Tool C

Why is the number of failed test cases for the UI increasing in each iteration?

Why is the number of failed test cases for the UI increasing in each iteration?

How much faster is work progressing on the UI versus the Processing Engine?

How much faster is work progressing on the UI versus the Processing Engine?

Page 14: Introduction to OSLC and Linked Data

14

OSLC links lifecycle data

Page 15: Introduction to OSLC and Linked Data

15

“Instead of defining a new data model, OSLC’s resource and property-value approach is based on industry standard Resource Description Framework (RDF) data model.”

Adapted from: http://open-services.net/bin/view/Main/ OslcCoreSpecification

Linked Data and RDF

Tim Berners-Lee’s four principles for linking data: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

Page 16: Introduction to OSLC and Linked Data

16

RDF Concepts

OSLC applies some RDF key concepts:

1. Graph data model

2. URI-based vocabulary

3. Format - Serialization syntaxes (RDF/XML, Turtle, JSON)

4. Datatypes

5. Literals

6. Expression of simple facts

7. Entailment

We’ll briefly look at some of them.

Page 17: Introduction to OSLC and Linked Data

17

1. OSLC uses an RDF graph data model

Adapted from:

http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-data-model

The predicate provides the property or relationship between the subject and object.

Subject ObjectPredicate

Test Case 1 Requirement 1

Amanda Carowns

validates

Page 18: Introduction to OSLC and Linked Data

18

2. OSLC uses a URI-based vocabulary

When there is a need to identify anything in OSLC, use a URI (there are a few exceptions).

Using URIs allows everything to be linked together. It also allows common agreed-upon meaning for relationships and for resource types

<http://...Test Case 1> <http://...validates> <http://...Requirement 1>

OSLC Core URI Naming Guidance:

http://open-services.net/wiki/core/OSLC-Core-URI-Naming-Guidance/

Page 19: Introduction to OSLC and Linked Data

19

3. OSLC allows different RDF formats

The RDF model provides for describing RDF triples. There are various supported formats. Some are specialized for RDF (Turtle) and others are derived from existing formats (XML, JSON). These formats can be exchanged between different applications (tools).

OSLC allows different types of format: RDF/XML Turtle JSON

OSLC Core Specification:

http://open-services.net/bin/view/Main/OslcCoreSpecification

Page 20: Introduction to OSLC and Linked Data

20

Examples of different OSLC notations

<http://example.com/TestCases/1> a oslc_qm:TestCase ;

oslc_qm:validatesRequirement <http://example.com/Requirements/1>

{

"rdf:about": "http:\/\/example.com\/TestCases\/1",

"rdf:type": [ {

"rdf:resource": "http:\/\/open-services.net\/ns\/qm#TestPlan"

} ],

"oslc_qm:validatesRequirement": {

"rdf:resource": "http:\/\/example.com\/Requirements\/1"

}

}

<oslc_qm:TestCase rdf:about="http://example.com/TestCases/1">

<oslc_qm:validatesRequirement rdf:resource="http://example.com/Requirements/1"/>

</oslc_qm:TestCase>

ObjectPredicate

Subject

<http://...Test Case 1> <http://...validates> <http://...Requirement 1>

Turtle

JSON

RDF/XML

Page 21: Introduction to OSLC and Linked Data

21

What’s next

The OSLC communityLinked data and RDFAn exampleThe OSLC specifications

This example is adapted from http://3roundstones.com/linked-data-101/linked-data-tutorial/ [David Wood, 3RoundStonesInc. November2011]

Page 22: Introduction to OSLC and Linked Data

22

Here’s a fictional project

Existing product: Lunar Rover 3.0

New Release: Lunar Rover 3.1

Main goal is to improve remote steering

Release to orbit date: September 20, 2014

Page 23: Introduction to OSLC and Linked Data

23

Let’s look at the requirements domain

Bobowner

Highpriority

Implementedstate

created onNovember 24, 2011

Requirement 28465 Improve Remote Steering

Lunar Rover 3.1release

September 20, 2014

release to orbit date

owned byIris

Page 24: Introduction to OSLC and Linked Data

24

The same information as before, in tabular form

Rover Release Owned by Release to orbit date

Lunar Rover 3.0 Cheng August 16, 2011

Lunar Rover 3.1 Iris Sept 14, 2014

Requirement Owner Priority Created on State Release

Requirement 28464 Add rear FIDO mast

Linda Low October 18, 2012

New Lunar Rover 3.1

Requirement 28465 Improve Remote Steering

Bob High November 24, 2011

Implemented Lunar Rover 3.1

Requirement 28466 Rebuild wheels for soil excavation

Tanuj Medium September 9, 2012

Reviewed Lunar Rover 3.1

Page 25: Introduction to OSLC and Linked Data

25

Let’s look at the quality domain

Janetowner

Highpriority

Executedstate

passresult

created onDecember 7, 2011

Test Case 35645: Test Steering

Lunar Rover 3.1release

September 20, 2014

release to orbit date

owned byIris

Page 26: Introduction to OSLC and Linked Data

26

Let’s add more relationships

Bob

High

Implemented

owner

priority

state

created onNovember 24, 2011

Requirement 28465 Improve Remote Steering

Lunar Rover 3.1

release

September 20, 2014

release to orbit date

ownerIris

Janet

High

Executed

pass

owner

priority

state

result

created onDecember 7, 2011

Test Case 35645: Test Steering

release

validated by

Page 27: Introduction to OSLC and Linked Data

27

The same information as before, in tabular formRequirement Owner Priority Created

onState Release Validated by

Requirement 28464 Add rear FIDO mast

Linda Low October 18, 2012

New Lunar Rover 3.1

Requirement 28465 Improve Remote Steering

Bob High November 24, 2011

Implemented Lunar Rover 3.1

Test Case 35645: Test Steering

Requirement 28466 Rebuild wheels for soil excavation

Tanuj Medium September 9, 2012

Reviewed Lunar Rover 3.1

Lunar Rover 3.1

Rover Release

Owner Release to orbit date

Lunar Rover 3.0

Cheng August 16, 2011

Lunar Rover 3.1

Iris Sept 14, 2014

Test Case Owner Priority ...

Test Case 35645 Test Steering

Janet High ...

Lunar Rover 3.1 Iris ...

Page 28: Introduction to OSLC and Linked Data

28

RDF triple (subject-predicate-object)

validated by

Triple

Requirement 28465 Improve

Remote Steering

Test Case 35645: Test

Steering

priorityHigh

Subject = Resource = always a URI

Predicate = Relationship or

property = Always a URI

Object = Could be a URI (which could refer

to a resource) or a literal value (value to work with and show

users)

Page 29: Introduction to OSLC and Linked Data

29

RDF triple (subject-predicate-object)

<http://...validatedby>

Triple

<http://...requirement28465_

improve_remote steering>

<http://...testcase35645_test_ste

ering>

<http://...priority>“High”

Subject = Resource = always a URI

Predicate = Relationship or

property = Always a URI

Object = Could be a URI (which could refer

to a resource) or a literal value (value to work with and show

users)

Page 30: Introduction to OSLC and Linked Data

30

Let’s add more relationships

Bob

High

Implemented

owner

priority

state

created on

November 24, 2011

Requirement 28465 Improve Remote Steering

Lunar Rover 3.1release

September 20, 2014

release to orbit date

owner

Iris

Janet

High

Executed

pass

owner

priority

state

result

created on

December 7, 2011

Test Case 35645: Test Steeringrelease

validated by

Work Item 38759

implements

Page 31: Introduction to OSLC and Linked Data

31

There is a web of URIs around a development effort

<http://.../test case>

<http://.../req>

<http://.../workitem>

<http://.../test case>

<http://.../test case>

<http://.../test case>

<http://.../release><http://.../bug>

<http://.../req>

<http://.../req>

<http://.../req>

<http://.../req>

<http://.../workitem>

<http://.../workitem>

<http://.../workitem>

<http://.../workitem>

<http://.../test case>

<http://.../change request>

<http://.../build>

<http://.../change request>

<http://.../change request>

<http://.../change request>

<http://.../change request>

<http://.../build>

<http://.../build>

<http://.../build>

<http://.../build>

<http://.../build>

<http://.../build>

<http://.../build>

<http://.../build>

<http://.../build>

<http://.../build>

<http://.../build>

<http://.../build>

<http://.../build>

<http://.../build>

<http://.../bug>

<http://.../build>

<http://.../build>

<http://.../build>

<http://.../testresult>

<http://.../testresult>

<http://.../testresult>

<http://.../build>

<http://.../change request>

<http://.../bug>

<http://.../testresult>

<http://.../testresult>

validate

Page 32: Introduction to OSLC and Linked Data

32

Tim Berners-Lee’s four principles applied to OSLC: Use URIs as names for things – In OSLC, each artifact in the lifecycle (for example, requirements,

change requests, test cases...) is identified by a URI. Use HTTP URIs so that people can look up those names. – In OSLC, each artifact in the lifecycle is an HTTP resource.

Standard HTTP methods (GET, PUT, POST, DELETE) are used to interact with them.

When someone looks up a URI, provide useful information using the standards (RDF*, SPARQL) – Each OSLC resource has an RDF representation. OSLC resources

can be queried using SPARQL. Include links to other URIs so that they can discover more things.– OSLC lifecycle artifacts are linked by relationships (for example,

validatesRequirement or testedByTestCase) which are defined by URIs.

OSLC principles

Page 33: Introduction to OSLC and Linked Data

33

What’s next

The OSLC communityLinked data and RDFAn exampleThe OSLC specifications

Page 34: Introduction to OSLC and Linked Data

34

Anatomy of a specification

OSLC Core Specification

http://open-services.net/bin/view/Main/OslcCoreSpecification

OSLC Change Mgt Specification

OSLC Requirements Specification

OSLC Domain X Specification

Core: Specifies the primary integration techniques for integrating lifecycle tools – the standard rules and patterns for using HTTP and RDF that all the domain workgroups must adopt in their specifications

Domain: Defines integration scenarios for a given lifecycle topic and specifies a common vocabulary for the lifecycle artifacts needed to support the scenarios.

Example: The Core specification describes Delegated UIs and Creation Factories and states that OSLC service providers MAY provide them. The Change Management specification states that CM service providers MUST provide them.

How

Page 35: Introduction to OSLC and Linked Data

35

OSLC defines the following technical areas:

1. Discovery of capabilities

1. Discovery of capabilities

5. Delegated UI for Create and Select5. Delegated UI for Create and Select

2. HTTP C.R.U.D. for resources

2. HTTP C.R.U.D. for resources

4. Querying for resources

4. Querying for resources

6. UI Previews for Resource Links

6. UI Previews for Resource Links

3. Standard resource representations

3. Standard resource representations

Page 36: Introduction to OSLC and Linked Data

36

First, some terminology (before we get to #1)

OSLC Resource

OSLC Service

manages

OSLC Service Provider

example: IBM Rational Team Concert project area

example: Change Management capability

example: work item (bug, defect, enhancement request)

provides an implementation of

A product or online service offering that provides an implementation of one or more

OSLC Services, which may themselves implement different OSLC Domain

specifications

Set of capabilities that enable a web client to create, retrieve, update and delete resources managed by an ALM or PLM product or online

service offering and associated with one OSLC Domain

Managed by an OSLC Service, may have properties and may link to other resources including those provided by other OSLC

Services.

OSLC Service Provider catalog

These catalogs are used in the discovery of OSLC service providers. They help to simplify

the configuration of tools that will integrate with providers of OSLC-defined services.

example: IBM Rational Team Concert

provides

Page 37: Introduction to OSLC and Linked Data

37

Starting from the catalog you can discover services and their capabilities. This is a common pattern in OSLC.

OSLC capabilities:Delegated UI Dialog allows you to create or find resources using a UI provided by the OSLC toolCreation Factory allows you to create resources programmaticallyQuery Capability allows you to query for resources

1. Discovery of capabilities

Page 38: Introduction to OSLC and Linked Data

38

2. HTTP C.R.U.D

OSLC allows manipulation of resources using standard HTTP C.R.U.D

Create = POSTRequest = GETUpdate = PUTDelete = DELETE

Page 39: Introduction to OSLC and Linked Data

39

Resource Creation (Create)Create a resource using HTTP POST, with the resource body in format of choice

URI for doing the POST is defined in the oslc:ServiceProvider in the oslc:creationFactory service

Response is a 201-Created with Location HTTP header indicating URI for resourceRequest may be rejected for any number of reasons

Insufficient permissions Missing required values Invalid data choices ...and … and ...

Valid resource formats for creation are defined by: domain specifications service provider may define its own resources and formats optionally, by resource shape associated with creation factory

Page 40: Introduction to OSLC and Linked Data

40

Resource Retrieval (Request)Use HTTP GET and standard HTTP content negotiation

Client uses HTTP Accept request header to specify desired resource formats

Use standard content(MIME) types

Partial representations can be requested via HTTP URL key=value pair as ?oslc.properties=

Allows for minimal retrieval of properties Get Defect 123 (all properties)

Get Defect 123 (just title and status)

Accept: application/json, application/xml

GET http://bugs/123

GET http://bugs/123?oslc.properties=dcterms:title,oslc_cm:status

Page 41: Introduction to OSLC and Linked Data

41

Resource Modification (Update)Use HTTP GET to get resource properties to be updated

You’ll get an ETag back

Change only the property values you need to change Clients must preserve unknown content

Use HTTP PUT to send updated resource Use If-Match HTTP request header with ETag, services may reject

your request without it HTTP PUT will completely replace the resource representation We are moving towards PATCH – new HTTP verb

http://tools.ietf.org/html/rfc5789

It is possible to update only selected properties

Page 42: Introduction to OSLC and Linked Data

42

Resource Deletion (Delete)

Use HTTP DELETE on the resource identifier

May not be allowed

Response usually:• 200-OK• 204-No-Content• 400-Bad-Request• 403-Forbidden

Page 43: Introduction to OSLC and Linked Data

43

3. Resource representations

OSLC services should handle any type of resourceNot just those defined by OSLC

Resources defined by OSLC use RDF data model therefore are simply defined by their set of properties

OSLC services MUST produce and consume RDF/XML representationsClients and services MUST NOT assume any subset of RDF/XML

Other representations are allowed such as:XML: OSLC defined format that allows for consistent formats and is

RDF/XML validJSON: Rules for representing namespaces and QName propertiesTurtle: No constraints, use as is (may be preferred by future specs)Atom Syndication Format: <atom:content> SHOULD be RDF/XML

Page 44: Introduction to OSLC and Linked Data

44

A few words on Resource Linking

Links are properties where the property values are URIs

Don't make assumptions about the target of linksOSLC supports an open modelNeeded to achieve goal of “loosely coupled” integrationsClients need to be flexible and expect anything

Sometimes we need to provide additional data about links: label, owners, and so on.

Special cases where links need more representation

Turtle format for a bug resource (abbreviated)

<http://example.com/bugs/2314>

a oslc_cm:ChangeRequest ;

dcterms:relation <http://server/app/bugs/1235> ;

Page 45: Introduction to OSLC and Linked Data

45

4. Querying for resources

Query capability has base URI

Clients form query URI and HTTP GET the results

OSLC services MAY support OSLC Query Syntax http://open-services.net/bin/view/Main/OSLCCoreSpecQuery

Page 46: Introduction to OSLC and Linked Data

46

Query syntax overview Filter results by appending “oslc.where=” with query clause to query base URI

Only boolean operation allowed is “and” which represents conjunction “or” for disjunction is not defined in the interests of keeping the syntax simple.

Retrieve just what you want with “oslc.select=” Defined ordering using “oslc.orderBy=” Full-text search via “oslc.searchTerms=”

Comparison Operators

= test for equality

!= test for inequality

< test less-than

> test greater-than

<= test less-than or equal

>= test greater-than or equal

'in' operator:

Test for equality to any of the values in a list. The list is a comma-separated sequence of values, enclosed in square brackets: in [“high”,”critical”]

Page 47: Introduction to OSLC and Linked Data

47

Query syntax example

Find high severity bugs created after April fools day

Find bugs related to test case 31459

Find all bugs created by John Smith

http://example.com/bugs?oslc.where=

cm:severity="high" and dcterms:created>"2010-04-01"

http://example.com/bugs?oslc.where=

dcterms:creator{

foaf:givenName="John" and foaf:familyName="Smith"}

http://example.com/bugs?oslc.prefix=qm=

<http://qm.example.com/ns>&

oslc.where=qm:testcase=<http://example.com/tests/31459>

Page 48: Introduction to OSLC and Linked Data

48

2. iframe's src set to delegated UI's URL

1. Click to launch delegated UI

3. Selection made

4. Click OK. Sends message (link+label) to parent window

A delegated UI renders the source application UI in the target application. This example shows the contributed/delegated Rational Team Concert Work Item search dialog being rendered in an OSLC Quality Management application.

5. Delegated UI renders the source app UI in the target app

Page 49: Introduction to OSLC and Linked Data

49

Delegated UI key pointsDelegated UIs support both creation and selection of resources

Two communication protocols are supported for iframes: HTML5 postMessage() ← preferred method–Supported in most modern browers

Window object's window.name–Supported in older browsers and Eclipse embedded web widget

Consumer selects which protocol to use, informs provider via fragment identifier

Tremendous value for resource creation Traditionally most service logic was communicated to client and new

dialog built Now the rules for creation and dialog change as needed

Prefilling of creation dialog done by “creating” a dialog resource HTTP POST of resource format to creation dialog URL, response is URL

of dialog prefilled

Page 50: Introduction to OSLC and Linked Data

50

6. UI PreviewScenario supported: hover over link to get in context preview of resourceSimple resource format defined and retrieved using HTTP content negotiation

Hover over link

Page 51: Introduction to OSLC and Linked Data

51

OSLC specifications also include Common property and resource definitions covering

Resource shapesResource typical properties: title, description, identification, …Leveraging Dublin Core and FOAFDiscussion/comments

OSLC services MAY offer OAuth 1.0aThree legged OAuth for webapp to webapp authenticationTwo legged OAuth for client to webapp authentication

OSLC services MAY offer HTTP BASIC AuthUser name and password sent “in the clear” with Base64 encodingShould be done via HTTPS only

Page 52: Introduction to OSLC and Linked Data

52

OSLC Specifications Cover Many Domains

Core & Common• Core, Configuration Management, Reporting

Application Lifecycle Management (ALM)• Change Management, Quality Management, Requirements

Management, Asset Management, Architecture Management, Automation

(Software) Project Management• Estimation and Reporting

Product Lifecycle Management (PLM)• ALM-PLM Interoperability

Integrated Service Management (ISM)• Performance Monitoring, Reconciliation

Page 53: Introduction to OSLC and Linked Data

53

Get Connected with OSLC

Learn more at http://open-services.net http://eclipse.org/lyo

Get started with your OSLC “Hello World!” with Eclipse Lyo and existing specs

Join the community and contribute scenarios Jump in and create specifications that matter to

you

Open Services for Lifecycle CollaborationLifecycle integration inspired by the web

Page 54: Introduction to OSLC and Linked Data

54

Resources

OSLC Web Site http://open-services.net

OSLC Primer http://open-services.net/primer

OSLC Tutorial http://open-services.net/tutorial

OSLC Core and Domain specifications http://open-services.net/specifications/

Eclipse Lyo http://www.eclipse.org/lyo/

Even more OSLC resources http://open-services.net/resources/

Page 55: Introduction to OSLC and Linked Data

55

BACKUP

Page 56: Introduction to OSLC and Linked Data

56

Need better integration approaches

Past integration approaches have provided limited choice and coverage.

Universal metadata standard

“How did I ever think all those vendors would be able to agree?”

Point-to-point integrations

“How can I ever upgrade one tool without breaking everything else?”

Standard implementations

“Did I really believe that every vendor would rewrite their tools on a single framework?”

Single repository

“Can I really expect one vendor to provide all the functionality I need? And what about my existing tools?”

Past integration approaches have been disruptive and slow to emerge.

Page 57: Introduction to OSLC and Linked Data

57

Need open collaboration on solutions

Past collaborations have fallen short because of limited and restrictive participation.

No consensus driven approachNo external reviewNo visibility into solution

Built after the fact with limited product APIsSolution focuses on two tools in hand

License feesFear of giving up IPForces alternative solutions

No open process for others to join inLimits solution to particular use cases and technologies

Limited to small set of business partners

Solution design goals and approach Restrictive licenses and intellectual property

Point-to-point integrations

Page 58: Introduction to OSLC and Linked Data

58

Change Management, Quality Management, Requirements Management, Asset Management, Architecture Management, Automation

Product Lifecycle Management, Configuration Management

Performance Monitoring, Reconciliation

Implementations from IBM Rational, Oracle, IBM Tivoli and open source

3rd party adapters from IBM, Kovair, Tasktop, and open source

Dozens of end users enabling homegrown tools

Vendors, end users, industry consortia

40+ organizations have had employees participate in specification development efforts

100s of developers have used assets from Lyo

Collaborating on solutions for ALM, DevOps, ISM, PLM

OSLC community

Wide range of interests, expertise,

participation

Growing list of implementations

Specifications for many domains

Page 59: Introduction to OSLC and Linked Data

59

OSLC website at http://open-services.net

Register ParticipateBrowseLearn Adopt