22
© 2015 IBM Corporation IBM Open Integrations OSLC Adoption Lowering barriers for OSLC implementations OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team Almost an Eclipse Lyo Committer [email protected]

Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

OSLC Adoption Lowering barriers for OSLC implementations OMG OSLC Summit 2015

Jim Ruehlin IBM Open Integrations Team Almost an Eclipse Lyo Committer

[email protected]

Page 2: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

2

Overview

▪ How easy is it to adopt OSLC?

▪ Common OSLC adoption strategies

▪ “First generation” OSLC adoption tools

▪ Emerging “Second generation” OSLC adoption tools

▪ Potential futures

Page 3: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

3

OSLC Adoption OSLC is important to large organizations but not pervasive

91 organizations are OSLC Members*

34 of those organizations organizations build OSLC-enabled applications or adapters*

Most of these are larger organizations

There’s not a lot of evidence that smaller organizations or products see value on OSLC

Many newer lifecycle products are not OSLC compliant

Open source products don’t adopt OSLC

A standard is only as valuable as the extent of its adoption. Our intent should be to make OSLC the way that all lifecycle tools interact with each other.

No one should have to learn a new API just to talk to a Lifecycle tool. OSLC has already done the thinking necessary to implement your lifecycle product API.

*Source: open-services.net

Page 4: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

4

OSLC Adoption It’s difficult to know where to start

open-services.netNews, forum, wiki, mailing list Specs (up to 2.0)

Core, CCM, etc. Tutorials

Integrating products Primer

Groups Steering committee ALM-PLM interop Communications Integrations TCs LDP … lots of other areas

Formal development Forum, wiki, mailing list Bug list Code and JARs

OSLC4J Reference implementations Under development (idle) Tests Adapter code generator Environment and deployment

Tutorials OSLC workshop OSCL TRS workshop Adapter code generator workskhop

oslc4net.codeplex.com

oasis-oslc.orgNews, forum, wiki, mailing list Specs (post 2.0)

Core, CCM, etc. Tutorials

Integrating products Primer

Bugs/requests Project management TCs

Core CM … etc

jazz.netNews, forum, wiki, mailing list Product specific articles General OSLC articles Product specific bugs/requests Tutorials

OSLC Workshop

github.comOSLC repo JavaScript source Other assets

IBM BluemixRIO3 EZOslcAdapter JS Client/Server … other experimental projects

Page 5: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

5

OSLC Adoption It’s difficult to address specific problems

I just want to link data in my proprietary application to data in an OSLC application.

I just want to pull the results of a query of my proprietary application into my OSLC application.

I want to make an OSLC server that just returns a specific item of data based on an ID.

The problem we support the best:

I want to support OSLC across all the lifecycle products

Page 6: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

6

OSLC Adoption Need to understand a wide range of technologies and specifications

OSLC Core Technologies and Standards

REST, URI, ALM/PLM, RDF, XML, JSON, Turtle, BNF, CSS, Dublin Core, FOAF, HTTP, OAuth, Window Objects, XML Namspaces, XML Base, XSD Datatypes, Semantic Web, web query syntax, HTML and web dialogs, service architecture (e.g. creation factories), Linked Data Platform

OSLC Core Specifications

OSLC Core 2.0

OSLC Core Spec Query

Core Spec Appendix A: Common Properties and Resources

Core Spec Appendix B: Representation Guidance

Core Spec Appendix C: Links and Relationships

… And now I can start on the specification for the domain I’m interested in. Then maybe some coding…

Page 7: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

7

OSLC Adoption More learning needed for implementationDecide on the client implementation

Java is OK: OSLC4J

.Net is available: OSLC4Net

JavaScript is under development

No support for other languages

Write your own?

OSLC4J

Architecturally significant development considerations: Java, Antlr, Mylin, POM

Lack of API documentation

OSLC

OSL4J

Tutorials (some good ones, some not so good, hard to know before you start)

Wraps the API but doesn’t implement a scenario

Page 8: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

8

OSLC Adoption Our best sample code can still be difficult to follow

Page 9: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

9

Common adoption strategiesEnterprise adoption - fully embrace standard in corporate and 3rd party tools

Dedicated resources

Powerful adapters

Agosense, FusionForge, IBM Rational, Jenkins, Kovair, OSLC4J Bugzilla, Prostep, Sodius, Tasktop - see http://open-services.net/software/ for more

Just enough adoption

Make some tool talk to an OSLC interface in a limited way

Questions on forums (Lyo, OSLC, open-services, jazz.net, …)

SSA strategy: Struggle, struggle, abandon

In an ideal world, everyone would do “Just enough adoption” and incrementally expand

Page 10: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

10

Some observations about OSLC adoption

• It’s easier for developers to learn and implement a point-to-point integration than it is to learn and implement OSLC’s general purpose integration.

• Reuse koan: Don’t build for reuse until you’ve already reused it at least 3 times.

• Larger organizations with significant integration issues get more leverage from OSLC.

• It’s difficult to rapidly or incrementally adopt OSLC.

• If we want OSLC to gain wider adoption, it needs to be almost as easy to learn and implement as a point-to-point integration

• At least at an implementation level - architectural concerns will necessarily be significant.

• OSLC is specification-level reuse. There are other types of reuse we can leverage.

• Object reuse (OSLC4J, OSLC4Net)

• Architectural reuse (jazz.net)

• Copy/paste (github)

• Frameworks (Yeoman, Express)

• Services (Bluemix)

• Knowledge reuse (wide adoption)

Page 11: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

11

First generation OSLC adoption Rudimentary tools: Roll-your-own OSLC REST API

See: OSLC Workshop at https://jazz.net/library/article/635

Page 12: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

12

First generation OSLC adoption Off-the-shelf OSLC adapters encourage point-to-point integrations

http://open-services.net/software/

Page 13: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

13

First generation OSLC adoption Lyo Adapter Code Generator - Understand OSLC metamodel

Page 14: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

14

First generation OSLC adoption Lyo code requires significant time to set up, learn, understand, reuse

▪ OSLC4J

▪ OSLC4Net (Codeplex)

▪ Reference implementations for OSLC (RIOs)

▪ Dev env setup

▪ Tutorials

▪ Deployment architecture

▪ JAR files available

▪ Legal and tested - low risk

▪ New releases have moderately high overhead

▪ Testing

▪ Legal approvals

▪ Committer reviews

Page 15: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

15

Second generation OSLC adoption Easier implementation reuse: Lightweight Javascript

OSLC JavaScript client

RIO3 (JavaScript)

EZ OSLC adapter (JavaScript): 1 line need to convert query params from OSLC to Bugz

dcterms:serviceProvider

oslc_cm:status

Page 16: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

Github repos for hosted and framework OSLC code

Rapid changes, cloning, etc

Faster adoption, higher risk

Lyo for Enterprise support

Clone Github baselines to Lyo

License and legal validation

Testing

Stability for larger/complex organizations

Controlled adoption, lower risk

16

Second generation OSLC adoption Easier implementation reuse: Rapid source development

Page 17: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

17

Second generation OSLC adoption Easier design reuse: OSLC frameworks

Express frameworks under development

LDP.js

OSLC.js

Yeoman (under consideration)

Page 18: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

18

Second generation OSLC adoption Easier API reuse: Hosted OSLC

EZ Oslc Adapter

RIO3

Swagger.io API documentation (under consideration) © 2015

Page 19: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

19

Second generation OSLC adoption Easier specification reuse: OSLC 3 improvements

“Motivation” sections

Linked Data Platform (easier discovery)

Container support

Turtle and JSON-LD (RDF easier to consume)

3

Page 20: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

20

OSLC adoption: Futures Just some thoughts…▪ OSLC Devops

▪ Toolchain integration setup

▪ Establish OSLC or adapters across sets of tools during deployment

▪ Validate OSLC compliance across the toolchain

▪ Support pipelines by describing tasks and input/output dependencies

▪ OSLC as a service

▪ Sets of REST APIs

▪ “I want to establish a tested-by relationship between requirement 1234 and everything in this query”

▪ Automatic linking (increased semantics and cognitive computing)

▪ Toolkits: Just enough OSLC

▪ Stitching together OSLC and non-OSLC applications as needed

▪ How much OSLC is right for a new project?

▪ Incrementally increase as the project gains maturity

▪ OSLC adoption in non-lifecycle apps

▪ Adaptors for linking to apps that are not formally considered lifecycle apps

▪ Requirements in Google Sheets

▪ Tweets linked to builds

Page 21: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

21

Page 22: Making OSLC Adoption Easier - OMG OSLC Summit · 2015-12-18 · OMG OSLC Summit 2015 Jim Ruehlin IBM Open Integrations Team ... I just want to pull the results of a query of my proprietary

© 2015 IBM Corporation

IBM Open Integrations

22

© Copyright IBM Corporation 2015. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.