making oslc adoption easier - omg oslc summit · 2015-12-18 · omg oslc summit 2015 jim ruehlin...
TRANSCRIPT
![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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/1.jpg)
© 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
![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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/2.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/3.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/4.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/5.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/6.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/7.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/8.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/9.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/10.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/11.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/12.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/13.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/14.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/15.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/16.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/17.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/18.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/19.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/20.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/21.jpg)
© 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](https://reader035.vdocuments.site/reader035/viewer/2022070811/5f0ab8a27e708231d42d03c1/html5/thumbnails/22.jpg)
© 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.