OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source...
-
Upload
olberger -
Category
Technology
-
view
3.223 -
download
2
description
Transcript of OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source...
Intoduction FLOSS development issues OSLC Interoperability Conclusion
OSLC (Open Services for Lifecycle Collaboration):open standard for interoperability of open source
ALM tools
Olivier Berger <[email protected]>,Télécom SudParis
Wednesday 2011/11/30ICSSEA 2011
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Quick Introduction
Plan
FLOSS development issuesOSLC StandardInteroperability of development tools
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Quick Introduction
Short bio
Télécom SudParishttp://www.telecom-sudparis.eu/Higher education school in Évry (France), sister of TelecomParistech, also member of Institut Telecom.
Olivier BERGER<[email protected]>Research Engineer at TELECOM SudParis, expert on softwaredevelopment forges, and interoperability in the libre softwaredevelopment projects.
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Research interest
Large scale bug-tracking
Lots of duplicate or related bug reports
Not a single place where to monitor bugs
OK, launchpad, maybe. . . too much a silo anyway
No interoperability of tools
Manual work of maintainer / QA (bug triaging, etc.)
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Research interest
FLOSS distributions ecosystem
Source : http ://git.upsilon.cc/r/talks/20110224-evry.git
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Research interest
Bugtracker interoperability prerequisite
No existing standard for bugtracker APIs
. . . until OSLC-CM (2009-)
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Open Services for Lifecycle Collaboration
Quick introduction to OSLC
Open Services for Lifecycle Collaboration :Lifecycle integration inspired by the Web
The Open Services for Lifecycle Collaboration (OSLC)community is working to standardize the way that softwarelifecycle tools can share data (for example, requirements,defects, test cases, plans, or code) with one another.
Website :http://open-services.net/
Open Source License Checker / OurSavior Lutheran Church
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Open Services for Lifecycle Collaboration
Showtime ! (nice IBM propaganda)
http://www.youtube.com/watch?v=B2vqL8fujgE
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Open Services for Lifecycle Collaboration
OSLC Community
Open Community
Lead : IBM/Rational
Specs elaborated in a Wiki
Eclipse Lyo Open Sourceproject :http://www.eclipse.org/lyo/
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Open Services for Lifecycle Collaboration
Specifications : interoperability «standard»
Open Standardpatent non-assert covenant signed by all contributorsspecifications under Creative Commonsvarious domains (ALM, PLM)
OSLC-CM (Change Management)More domains, but haven’t participated myself
Technologybased on the Web’s tech standards : REST, RDF, AJAX,Dublin Coregoing from the LAN to the Web (>= 2.0, Linked Data)pragmatic approach
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Open Services for Lifecycle Collaboration
Specification effort progress
V2 specs finalized for many domains
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Open Services for Lifecycle Collaboration
Change Management Domain
OSLC Corehttp://open-services.net/bin/view/Main/OslcCore
OSLC-CM : Change Management (bug trackers, etc.)
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Open Services for Lifecycle Collaboration
Semantic + extendable exchange format : RDF
Example (XML)<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:dcterms="http://purl.org/dc/terms/"xmlns:foaf="http://xmlns.com/foaf/0.1/"xmlns:oslc_blog="http://open-services.net/ns/bogus/blogs#">
<oslc_blog:Entryrdf:about="http://example.com/blogs/entry/1">
<dcterms:title>I love trash</dcterms:title><dcterms:modified>2002-10-10T12:00:00-05:00</dcterms:modified><dcterms:content>
Anything dirty or dingy or dusty.Anything ragged or rotten or rusty.
</dcterms:content><dcterms:creator>
<foaf:Person><foaf:name>Oscar T. Grouch</foaf:name>
</foaf:Person></dcterms:creator>
</oslc_blog:Entry></rdf:RDF>
Example (JSON){
"prefixes" : {"oslc": "http://open-services.net/ns/core#","rdf" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#","foaf" : "http://http://xmlns.com/foaf/0.1/","dcterms" : "http://purl.org/dc/terms/"
},"rdf:type" : { "rdf:resource" : "http://open-services.net/ns/bogus/blogs#Entry" },"rdf:about" : "http://example.com/blogs/entry/1","dcterms:title" : "I love trash","dcterms:modified" : "2002-10-10T12:00:00-05:00","dcterms:content" : "Anything dirty or dingy or dusty. \\nAnything ragged or rotten or rusty.","dcterms:creator" : {
"foaf:name" : "Oscar T. Grouch"},
}
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Open Services for Lifecycle Collaboration
Meta model entities for Web Services (discovery)
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Open Services for Lifecycle Collaboration
REST APIs
classical REST C,R,U,D operationsCreate (POST)Retrieve (GET)Update (PUT)Delete (DEL)
Integration / interop oriented APIsresource IDs == URLs (RDF, Linked Data)minimal REST APIs + extensions for each product’s featuresdelegated dialogues -> AJAX scenariiresource preview,OAuthetc.
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Open Services for Lifecycle Collaboration
Example bugzilla report (through Eclipse Lyo adapter)$ rapper -o turtle http://localhost:8282/bugz/changerequest?id=1
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix dcterms: <http://purl.org/dc/terms/> .@prefix oslc: <http://open-services.net/ns/core#> .@prefix oslc_cm: <http://open-services.net/ns/cm#> .@prefix bugz: <http://www.bugzilla.org/rdf#> .@prefix foaf: <http://http://xmlns.com/foaf/0.1/> .
<http://localhost:8282/bugz/changerequest?id=1>oslc_cm:status "NEW" ;dcterms:contributor [
foaf:name "[email protected]" ;a foaf:Person
] ;dcterms:created "Fri May 20 17:36:00 CEST 2011" ;dcterms:identifier "1" ;dcterms:modified "Fri May 20 17:36:56 CEST 2011" ;dcterms:title "coin" ;bugz:component "TestComponent" ;bugz:opsys "Linux" ;bugz:platform "PC" ;bugz:priority "P3" ;bugz:product "TestProduct" ;bugz:version "unspecified" ;a oslc_cm:ChangeRequest .
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Open Services for Lifecycle Collaboration
Service catalog’s operations
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Open Services for Lifecycle Collaboration
AJAX Mashups (delegated dialogs)
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Tools integration and interoperability
Software development tools integration issues
Lots of different (legacy) systems in respective silos
Integrated suitesOpen Source tools or Proprietary Software alikeSoftware development forges
Agile methodologies vs. monolithic suites
Traceability
Scalability
Very poor interoperabilitySyntacticSemantic
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Tools integration and interoperability
Integration with silos
Tools are “natively” integrated in isolated suites
Ad-hoc interfaces : no standardization
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Tools integration and interoperability
New integration model
linked lifecycle data
Source : IBM/Rational
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Tools integration and interoperability
Exemple : OSLC Compact preview of FusionForge users
Resources linking and preview through standardized mechanism forURIs + AJAX preview
http://fusionforge.org/plugins/mediawiki/wiki/fusionforge/index.php/OslcCompactPreviewTooltips
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Tools integration and interoperability
Generic preview through HTTP content-negociation
$ curl -H ’Accept: application/x-oslc-compact+xml’ http://fftrunk/users/labbenes
<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dcterms="http://purl.org/dc/terms/"xmlns:oslc="http://open-services.net/ns/core#">
<oslc:Compact rdf:about="https://fftrunk/plugins/oslc/compact/user/labbenes"><dcterms:title>M. Sabri LABBENE</dcterms:title><oslc:shortTitle>labbenes</oslc:shortTitle><oslc:smallPreview>
<oslc:Preview><oslc:document rdf:ressource="https://fftrunk/plugins/oslc/compact/user/labbenes/type/small"/><oslc:hintWidth>500px</oslc:hintWidth><oslc:hintHeight>150px</oslc:hintHeight>
</oslc:Preview></oslc:smallPreview>
</oslc:Compact></rdf:RDF>
Specs : http://open-services.net/bin/view/Main/OslcCoreUiPreview
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Tools integration and interoperability
Continuous integration : FusionForge + JenkinsCI
Jenkins (ex Hudson) as OSLC-CM ConsumerCan create bug reports in case of failed builds/tests on distantbugtrackerWe have developped an Open Source plugin for Jenkins (Java,Javascript mashup, OSLC-CM plugin published on GiHub)
FusionForge Trackers as OSLC-CM ProviderHandles the bug reports DB, and exhibits an OSLC-CMcompatible REST APIDelegates authentication to consumers on behalf of real forgeusers, through OAuthWe have developed an Open Source plugin (PHP + ZendFramework, published on FusionForge’s SVN)
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Tools integration and interoperability
Demo : FusionForge + jenkins
Demo : http://vimeo.com/23480321
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Tools integration and interoperability
Deployments ?
ProprietaryIBM/Rational : Jazz, RTC,. . .Tasktop Sync. . .
FLOSSFusionForge trackersBugzilla (through Eclipse Lyo : http ://eclipse.org/lyo/)Hudson/JenkinsEclipse Mylyn (soon ?)+/- Mantis
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Perspectives
More interoperability in FLOSS tools
Push standardization in tools development
Eclipse Mylyn support of OSLC (in the FLOSS parts), basedon Eclipse Lyo roots ? . . . When ?
New opportunities
Open Linked Data for direct “mining” of FLOSS projectsdevelopment process metrics
Large scale bug tracking and QA process in the FLOSSecosystem
Qui vivra verra. . .
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Intoduction FLOSS development issues OSLC Interoperability Conclusion
Questions ?
Fin
Thanks.
More
OSLC Tutorial : http ://open-services.net/tutorial/Micro-blogging : @oberger http://identi.ca/oberger/Email : mailto:[email protected] : http://www-public.it-sudparis.eu/~berger_o/weblog/
Copyright 2011 Institut Telecom + Olivier BergerLicense of this presentation : Creative Commons Share AlikeSome illustrations borrowed from the OSLC specificationss (licence Creative Commons)
Olivier Berger <[email protected]>, Télécom SudParis
OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools