Advertisement
Advertisement

More Related Content

Similar to OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools(20)

Advertisement

OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools

  1. Intoduction FLOSS development issues OSLC Interoperability Conclusion OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis Wednesday 2011/11/30 ICSSEA 2011 Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  2. Intoduction FLOSS development issues OSLC Interoperability Conclusion Quick Introduction Plan FLOSS development issues OSLC Standard Interoperability of development tools Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  3. Intoduction FLOSS development issues OSLC Interoperability Conclusion Quick Introduction Short bio Télécom SudParis http://www.telecom-sudparis.eu/ Higher education school in Évry (France), sister of Telecom Paristech, also member of Institut Telecom. Olivier BERGER <olivier.berger@it-sudparis.eu> Research Engineer at TELECOM SudParis, expert on software development forges, and interoperability in the libre software development projects. Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  4. 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 <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  5. Intoduction FLOSS development issues OSLC Interoperability Conclusion Research interest FLOSS distributions ecosystem Source : http ://git.upsilon.cc/r/talks/20110224-evry.git Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  6. Intoduction FLOSS development issues OSLC Interoperability Conclusion Research interest Bugtracker interoperability prerequisite No existing standard for bugtracker APIs . . . until OSLC-CM (2009-) Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  7. 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 software lifecycle 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 / Our Savior Lutheran Church Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  8. 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 <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  9. 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 Source project : http: //www.eclipse.org/lyo/ Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  10. Intoduction FLOSS development issues OSLC Interoperability Conclusion Open Services for Lifecycle Collaboration Specifications : interoperability «standard» Open Standard patent non-assert covenant signed by all contributors specifications under Creative Commons various domains (ALM, PLM) OSLC-CM (Change Management) More domains, but haven’t participated myself Technology based on the Web’s tech standards : REST, RDF, AJAX, Dublin Core going from the LAN to the Web (>= 2.0, Linked Data) pragmatic approach Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  11. Intoduction FLOSS development issues OSLC Interoperability Conclusion Open Services for Lifecycle Collaboration Specification effort progress V2 specs finalized for many domains Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  12. Intoduction FLOSS development issues OSLC Interoperability Conclusion Open Services for Lifecycle Collaboration Change Management Domain OSLC Core http://open-services.net/bin/view/Main/OslcCore OSLC-CM : Change Management (bug trackers, etc.) Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  13. Intoduction FLOSS development issues OSLC Interoperability Conclusion Open Services for Lifecycle Collaboration Semantic + extendable exchange format : RDF Example (XML) <rdf:RDF Example (JSON) 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#"> "prefixes" : { "oslc": "http://open-services.net/ns/core#", <oslc_blog:Entry "rdf" : "http://www.w3.org/1999/02/22-rdf-syntax- rdf:about="http://example.com/blogs/entry/1"> "foaf" : "http://http://xmlns.com/foaf/0.1/", "dcterms" : "http://purl.org/dc/terms/" <dcterms:title>I love trash</dcterms:title> }, <dcterms:modified>2002-10-10T12:00:00-05:00</dcterms:modified> "rdf:type" : { "rdf:resource" : "http://open-service <dcterms:content> "rdf:about" : "http://example.com/blogs/entry/1", Anything dirty or dingy or dusty. "dcterms:title" : "I love trash", Anything ragged or rotten or rusty. "dcterms:modified" : "2002-10-10T12:00:00-05:00", </dcterms:content> "dcterms:content" : "Anything dirty or dingy or dust <dcterms:creator> "dcterms:creator" : { <foaf:Person> "foaf:name" : "Oscar T. Grouch" <foaf:name>Oscar T. Grouch</foaf:name> }, </foaf:Person> } </dcterms:creator> </oslc_blog:Entry> </rdf:RDF> Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  14. Intoduction FLOSS development issues OSLC Interoperability Conclusion Open Services for Lifecycle Collaboration Meta model entities for Web Services (discovery) Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  15. Intoduction FLOSS development issues OSLC Interoperability Conclusion Open Services for Lifecycle Collaboration REST APIs classical REST C,R,U,D operations Create (POST) Retrieve (GET) Update (PUT) Delete (DEL) Integration / interop oriented APIs resource IDs == URLs (RDF, Linked Data) minimal REST APIs + extensions for each product’s features delegated dialogues -> AJAX scenarii resource preview, OAuth etc. Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  16. 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 "olivier.berger@it-sudparis.eu" ; 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 <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  17. Intoduction FLOSS development issues OSLC Interoperability Conclusion Open Services for Lifecycle Collaboration Service catalog’s operations Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  18. Intoduction FLOSS development issues OSLC Interoperability Conclusion Open Services for Lifecycle Collaboration AJAX Mashups (delegated dialogs) Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  19. 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 suites Open Source tools or Proprietary Software alike Software development forges Agile methodologies vs. monolithic suites Traceability Scalability Very poor interoperability Syntactic Semantic Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  20. 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 <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  21. Intoduction FLOSS development issues OSLC Interoperability Conclusion Tools integration and interoperability New integration model linked lifecycle data Source : IBM/Rational Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  22. 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 for URIs + AJAX preview http://fusionforge.org/plugins/mediawiki/wiki/fusionforge/index.php/OslcCompactPreviewTooltips Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  23. 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 <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  24. Intoduction FLOSS development issues OSLC Interoperability Conclusion Tools integration and interoperability Continuous integration : FusionForge + JenkinsCI Jenkins (ex Hudson) as OSLC-CM Consumer Can create bug reports in case of failed builds/tests on distant bugtracker We have developped an Open Source plugin for Jenkins (Java, Javascript mashup, OSLC-CM plugin published on GiHub) FusionForge Trackers as OSLC-CM Provider Handles the bug reports DB, and exhibits an OSLC-CM compatible REST API Delegates authentication to consumers on behalf of real forge users, through OAuth We have developed an Open Source plugin (PHP + Zend Framework, published on FusionForge’s SVN) Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  25. Intoduction FLOSS development issues OSLC Interoperability Conclusion Tools integration and interoperability Demo : FusionForge + jenkins Demo : http://vimeo.com/23480321 Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  26. Intoduction FLOSS development issues OSLC Interoperability Conclusion Tools integration and interoperability Deployments ? Proprietary IBM/Rational : Jazz, RTC,. . . Tasktop Sync ... FLOSS FusionForge trackers Bugzilla (through Eclipse Lyo : http ://eclipse.org/lyo/) Hudson/Jenkins Eclipse Mylyn (soon ?) +/- Mantis Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  27. 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), based on Eclipse Lyo roots ? . . . When ? New opportunities Open Linked Data for direct “mining” of FLOSS projects development process metrics Large scale bug tracking and QA process in the FLOSS ecosystem Qui vivra verra. . . Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
  28. 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:olivier.berger@it-sudparis.eu Blog : http://www-public.it-sudparis.eu/~berger_o/weblog/ Copyright 2011 Institut Telecom + Olivier Berger License of this presentation : Creative Commons Share Alike Some illustrations borrowed from the OSLC specificationss (licence Creative Commons) Olivier Berger <olivier.berger@it-sudparis.eu>, Télécom SudParis OSLC (Open Services for Lifecycle Collaboration): open standard for interoperability of open source ALM tools
Advertisement