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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

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