SlideShare uma empresa Scribd logo
1 de 65
Baixar para ler offline
Cassiopee Project 2012




Implementing the support of OSLC-CM
                           in Simple Defects
            Cliquez pour modifier le style des sous-titres du
            masque




Stéphanie Ouillon - Mentor : Olivier Berger
Contents


           q    Simple Defects (SD)
           q    SD connectors
           q    Introduction to OSLC-CM
           q    Development goal
           q    Net-OSLC-CM Perl module
           q    OSLC connector in SD
           q    Using and testing
           q    Making-up


Cassiopee 2012          OSLC-CM connector in SD
Specifications




q  Implementing a OSLC-CM adaptator
    for the bugtracker Simple Defects

q  Open Source contribution

q  Publishing content on the web


Base de données Pro

 Cassiopee 2012    OSLC-CM connector in SD
Simple Defects (SD)


                 Simple Defects (SD)
           q    Introduction to OSLC-CM
           q    Development goal
           q    SD connectors
           q    Net-OSLC-CM Perl module
           q    OSLC connector in SD
           q    Using and testing
           q    Making-up

Cassiopee 2012          OSLC-CM connector in SD
Simple Defects : a bugtracker




q  In command ligne

Prophet database




 Cassiopee 2012    OSLC-CM connector in SD
Simple Defects : a bugtracker



               filesystem                   code


    IDE
                                                      Server/storage



                                            bugs




      Web browser


5         Cassiopee 2012    OSLC-CM connector in SD
Simple Defects : a bugtracker



                 filesystem                   code


Terminal + Vim
                                                        Server/storage



                                              bugs
                 filesystem

Terminal + SD




  6        Cassiopee 2012     OSLC-CM connector in SD
Simple Defects : un bugtracker




q  In command ligne

q  Prophet database

https://gitorious.org/prophet/prophet




 Cassiopee 2012    OSLC-CM connector in SD
Prophet



ü  Semi-relationnal

ü  Peer to peer replicated

ü  Disconnected

ü  Versioned

ü  Self-healing conflict resolution

 Cassiopee 2012     OSLC-CM connector in SD
Cassiopee 2012   OSLC-CM connector in SD
Cassiopee 2012   OSLC-CM connector in SD
Cassiopee 2012   OSLC-CM connector in SD
Cassiopee 2012   OSLC-CM connector in SD
Cassiopee 2012   OSLC-CM connector in SD
Cassiopee 2012   OSLC-CM connector in SD
Demonstration




Cassiopee 2012   OSLC-CM connector in SD
Cassiopee 2012   OSLC-CM connector in SD
Cassiopee 2012   OSLC-CM connector in SD
Introduction to OSLC-CM


                 Simple Defects (SD)
                 Introduction to OSLC-CM
           q    Development goal
           q    SD connectors
           q    Net-OSLC-CM Perl module
           q    OSLC connector in SD
           q    Using and testing
           q    Making-up

Cassiopee 2012          OSLC-CM connector in SD
OSLC



Open Services for Lifecycle Collaboration

q  Specifications

     ü  Sharing data

     ü  Between software development tools



 Cassiopee 2012      OSLC-CM connector in SD
Specifications




q  Core specifications v2

q  Change Management specifications v2

  Defining a web services REST interface
  for Change Management



 Cassiopee 2012    OSLC-CM connector in SD
Change Management




q  Defects, bugs

q  Change requests, tasks




 Cassiopee 2012     OSLC-CM connector in SD
Cassiopee 2012   OSLC-CM connector in SD
Cassiopee 2012   OSLC-CM connector in SD
Principles: REST – Linked Data



q  ‘’Everything is a URI.’’

q  RDF/XML data format

q  HTTP protocol
      Pull : GET
      Push : POST, UPDATE, DELETE



  Cassiopee 2012     OSLC-CM connector in SD
Cassiopee 2012   OSLC-CM connector in SD
Development goal


                 Simple Defects (SD)
                 Introduction to OSLC-CM
                 Development goal
           q    SD connectors
           q    Net-OSLC-CM Perl module
           q    OSLC connector in SD
           q    Using and testing
           q    Making-up

Cassiopee 2012          OSLC-CM connector in SD
Goal




     SD                            Bugzilla




                        Adaptator
                        OSLC-CM Service Provider




Cassiopee 2012   OSLC-CM connector in SD
Goal



         Adaptator
     OSLC-CM Consumer


     SD                              Bugzilla




                          Adaptator
                          OSLC-CM Service Provider




Cassiopee 2012     OSLC-CM connector in SD
SD connectors


                 Simple Defects (SD)
                 Introduction to OSLC-CM
                 Development goal
                 SD connectors
           q    Net-OSLC-CM Perl module
           q    OSLC connector in SD
           q    Using and testing
           q    Making-up

Cassiopee 2012          OSLC-CM connector in SD
Development in SD




q  Developed in Perl 5

q  Object-oriented with Moose




 Cassiopee 2012    OSLC-CM connector in SD
Example with Github bugtracker



q  3 classes in Replica/

    ü  github.pm

    ü  github/PullEncoder.pm

    ü  github/PushEncoder.pm



 Cassiopee 2012     OSLC-CM connector in SD
Partial UML diagram (inheritance)




Cassiopee 2012   OSLC-CM connector in SD
Example with Github




q  Perl interface for github.com

   Net::GitHub::V2




 Cassiopee 2012      OSLC-CM connector in SD
Example with Github



q  github.pm module
      $sd clone –-from 
      ‘github:http://github.com/arroway/SD/issues’


    ü  Authentification (OAuth or basic auth)

    ü  Connection




 Cassiopee 2012    OSLC-CM connector in SD
Example with Github




q  github/PullEncoder.pm module

  find_matching_tickets

  calls

  github->issue->list(‘open’)
  github->issue->list(‘closed’)


 Cassiopee 2012   OSLC-CM connector in SD
Example with Github




q  github/PushEncoder.pm module

  integrate_ticket_create/update

  calls

  $github->issue->open/edit



 Cassiopee 2012   OSLC-CM connector in SD
Net-OSLC-CM Perl Module


               Simple Defects (SD)
               SD connectors
               Introduction to OSLC-CM
               Development goal
               Net-OSLC-CM Perl Module
           q  OSLC connector in SD
           q  Using and testing
           q  Making-up

Cassiopee 2012      OSLC-CM connector in SD
Net-OSLC-CM




q  Standard Perl module

q  Helping implement a OSLC-CM Consumer




 Cassiopee 2012   OSLC-CM connector in SD
Cassiopee 2012   OSLC-CM connector in SD
Example


use Net::OSLC::CM;

  my $oslccm = Net::OSLC::CM−>new(
        url   => $self−>remote_url,
        username => $username,
        password => $password
  ));

  # Getting an array of changeRequests
  my @results = $oslccm−>get_oslc_resources;




       Cassiopee 2012    OSLC-CM connector in SD
Résultat final




                 my @results =
                      $oslccm−>changeRequests;




Cassiopee 2012    OSLC-CM connector in SD
Detailed example

$oslccm−>url = "http://example.com";

 $oslccm−>parser(
    Net::OSLC::CM::Parser−>new(cm => $oslccm)
 );

 $oslccm−>create_catalog;
 $oslccm−>get_provider_catalog_resource;

 $oslccm−>get_service_providers;

 $oslccm−>get_changeRequests($oslccm−>providers);
 $oslccm−>load_changeRequests();

 my @results = $oslccm−>changeRequests;



         Cassiopee 2012         OSLC-CM connector in SD
Connection to a bugtracker
Connection

                                            http://localhost:8282/bugz
      Connection
      Authentification (basic auth)



       Consumer


                            Connection OK
                            Authenticated




         Cassiopee 2012           OSLC-CM connector in SD
Getting the Service Provider Catalog
GET Catalog

  GET http://localhost:8282/bugz/            http://localhost:8282/bugz
  catalog
  Accept => application/rdf+xml



      Consumer



  <oslc:ServiceProviderCatalog rdf:about="http://localhost/bugz/catalog">




          Cassiopee 2012            OSLC-CM connector in SD
Catalog RDF/XML
Service Provider Catalog
<oslc:ServiceProviderCatalog rdf:about="http://localhost:8282/bugz/catalog">
    <dcterms:title>OSLC-CM Adapter/Bugzilla Service Provider Catalog</dcterms:title>
    <oslc:domain rdf:resource="http://open-services.net/ns/cm#" />

    <oslc:serviceProvider>
         <oslc:ServiceProvider rdf:about="http://localhost:8282/bugz/provider?
productId=1">
              <dcterms:title>TestProduct</dcterms:title>
         </oslc:ServiceProvider>
    </oslc:serviceProvider>

     <oslc:serviceProvider>
          <oslc:ServiceProvider rdf:about="http://localhost:8282/bugz/provider?
productId=3">
               <dcterms:title>FakePortal</dcterms:title>
          </oslc:ServiceProvider>
     </oslc:serviceProvider>
</oslc:ServiceProviderCatalog>



            Cassiopee 2012              OSLC-CM connector in SD
Getting Service Providers data
GET Service Providers

   GET http://localhost:8282/bugz/provider?productId=1
   GET http://localhost:8282/bugz/provider?productId=2
   GET http://localhost:8282/bugz/provider?productId=3
   …


       Consumer




          Cassiopee 2012            OSLC-CM connector in SD
Service Provider RDF/XML
Service Provider
<oslc:ServiceProvider rdf:about="http://localhost:8282/bugz/provider?productId=1">
  <dcterms:title>Bugzilla Service Provider: Product TestProduct(1)</dcterms:title>

  <oslc:Service>

    <oslc:selectionDialog/>
    <oslc:creationDialog/>
    <oslc:CreationFactory/>
    <oslc:QueryCapability>
         <oslc:queryBase rdf:resource="http://localhost:8282/bugz/changerequests?
              productId=1" />
         <oslc:resourceShape rdf:resource="http://localhost:8282/bugz/queryshape?
              productId=1" />
    </oslc:QueryCapability>

  <oslc:Service/>

<oslc:ServiceProvider/>



             Cassiopee 2012               OSLC-CM connector in SD
Getting a list of Change Requests (tickets)

GET Change Requests list


   GET http://localhost:8282/bugz/changerequests?productId=1




      Consumer




          Cassiopee 2012         OSLC-CM connector in SD
Getting a Change Request

GET Change Request


  GET http://localhost:8282/bugz/changerequest?id=24




      Consumer




         Cassiopee 2012         OSLC-CM connector in SD
Change Request RDF/XML

Change Request
<oslc_cm:ChangeRequest rdf:about="http://192.168.56.101:8282/bugz/changerequest?
id=24">

    <dcterms:title rdf:datatype="http://www.w3.org/2001/XMLSchema#string”>
         New Bug: installation
    </dcterms:title>
    <dcterms:created rdf:datatype=“http://www.w3.org/2001 XMLSchema#dateTime”>
         2012-04-22T16:16:00Z
    </dcterms:created>
    <dcterms:identifier rdf:datatype="http://www.w3.org/2001/XMLSchema#string”>
         24
    </dcterms:identifier>

    …

</oslc_cm:ChangeRequest>




            Cassiopee 2012             OSLC-CM connector in SD
OSLC connector in SD


               Simple Defects (SD)
               SD Connectors
               Introduction to OSLC-CM
               Development goal
               Net-OSLC-CM Perl Module
               OSLC connector in SD
           q  Using and testing
           q  Making-up

Cassiopee 2012       OSLC-CM connector in SD
Result gained from Net::OSLC::CM




                 my @results =
                      $oslccm−>changeRequests;




Cassiopee 2012    OSLC-CM connector in SD
Result gained from Net::OSLC::CM




                 my @results =
                      $oslccm−>changeRequests;




                        List of tickets in SD


Cassiopee 2012    OSLC-CM connector in SD
Using and testing


               Simple Defects (SD)
               SD connectors
               Introduction to OSLC-CM
               Development goal
               Net-OSLC-CM Perl Module
               OSLC connector in SD
               Using and testing
           q  Making-up

Cassiopee 2012       OSLC-CM connector in SD
Test environment



                Adaptator
            OSLC-CM Consumer


            SD                              Bugzilla




                                 Adaptator
                                 OSLC-CM Service Provider

Host


       Cassiopee 2012     OSLC-CM connector in SD
Test environment



                Adaptator      Debian virtual machine
            OSLC-CM Consumer


            SD                               Bugzilla




                                  Adaptator
                                  OSLC-CM Service Provider

Host


       Cassiopee 2012     OSLC-CM connector in SD
Test environment



                Adaptator        Debian virtual machine
            OSLC-CM Consumer


            SD                                 Bugzilla




                                    Adaptator
                                    OSLC-CM Service Provider

Host                           Vboxnet network interface between
                               host and guest (//local network)

       Cassiopee 2012     OSLC-CM connector in SD
Demonstration




Cassiopee 2012   OSLC-CM connector in SD
Testing Net::OSLC::CM



q  With Test::More

q  Testing Net::OSLC::CM classes

      01-connection.t
      02-get-provider-catalog-resources.t
      03-get-service-providers.t
      04-get-change-requests.t


 Cassiopee 2012       OSLC-CM connector in SD
Making-up


                 Simple Defects (SD)
                 SD connectors
                 Introduction to OSLC-CM
                 Development goal
                 Net-OSLC-CM Perl Module
                 OSLC connector in SD
                 Using and testing
                 Making-up

Cassiopee 2012          OSLC-CM connector in SD
Commits in Net-OSLC-CM




Cassiopee 2012   OSLC-CM connector in SD
Next development steps


q  Implementing the Push part in Net::OSLC::CM
      with a serializer RDF/XML

q  Implementing PushEncoder.pm in SD

q  Completing the implementation of the specs

q  Refactoring Net::OSLC::CM
     ü  RDF data are extensible – so is the
         Prophet database
     ü  Data OSLC/ Net OSLC

     Cassiopee 2012    OSLC-CM connector in SD
What I learned


q  Perl 5 and OO Perl with Moose

q  Creation of a Perl module

q  Tests with Test::More

q  Specifications OSLC-CM v2

q  Searching through RDF data and
    performing SPARQL queries


     Cassiopee 2012    OSLC-CM connector in SD
Links

q  Source code
    http://github.com/arroway/Net-OSLC-CM (Perl licence)
    http://github/com/arroway/SD (Best Practicals Solutions)

q  Documentation
    http://arroway.github.com/Net-OSLC-CM

q  SD
    http://syncwith.us

q  OSLC
    http://open-services.net


   Cassiopee 2012        OSLC-CM connector in SD

Mais conteúdo relacionado

Semelhante a OSLC-CM connector in SD

DPC2007 PHP And Oracle (Kuassi Mensah)
DPC2007 PHP And Oracle (Kuassi Mensah)DPC2007 PHP And Oracle (Kuassi Mensah)
DPC2007 PHP And Oracle (Kuassi Mensah)dpc
 
OrientDB Distributed Architecture v2.0
OrientDB Distributed Architecture v2.0OrientDB Distributed Architecture v2.0
OrientDB Distributed Architecture v2.0Orient Technologies
 
WebDynPro for Java Common Error v5
WebDynPro for Java  Common Error v5WebDynPro for Java  Common Error v5
WebDynPro for Java Common Error v5Jodi Johnson
 
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCPractical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCAlexandre Gouaillard
 
Automated CI with AEM Cloud service
Automated CI with AEM Cloud serviceAutomated CI with AEM Cloud service
Automated CI with AEM Cloud serviceJakub Wadolowski
 
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & CoInfrastructure-As-Code and Cloud Deployments with Opscode Chef & Co
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & CoTorben Knerr
 
CI/CD Pipeline mit Gitlab CI und Kubernetes
CI/CD Pipeline mit Gitlab CI und KubernetesCI/CD Pipeline mit Gitlab CI und Kubernetes
CI/CD Pipeline mit Gitlab CI und Kubernetesinovex GmbH
 
WSO2 Application Server - Product Overview
WSO2 Application Server - Product OverviewWSO2 Application Server - Product Overview
WSO2 Application Server - Product OverviewWSO2
 
Developer-Friendly CI / CD for Kubernetes
Developer-Friendly CI / CD for KubernetesDeveloper-Friendly CI / CD for Kubernetes
Developer-Friendly CI / CD for KubernetesDevOps Indonesia
 
IBM Rational Rhapsody and Qt Integration
IBM Rational Rhapsody and Qt IntegrationIBM Rational Rhapsody and Qt Integration
IBM Rational Rhapsody and Qt Integrationgjuljo
 
Oracle RAC One Node 12c Overview
Oracle RAC One Node 12c OverviewOracle RAC One Node 12c Overview
Oracle RAC One Node 12c OverviewMarkus Michalewicz
 
The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)Geekstone
 
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...mfrancis
 
Web Components: Introduction and Practical Use Cases
Web Components: Introduction and Practical Use CasesWeb Components: Introduction and Practical Use Cases
Web Components: Introduction and Practical Use Casessumitamar
 
Rails is Easy*
Rails is Easy*Rails is Easy*
Rails is Easy*bryanbibat
 
Who Needs Thumbs? Reverse Engineering Scramble with Friends v1.1
Who Needs Thumbs? Reverse Engineering Scramble with Friends v1.1Who Needs Thumbs? Reverse Engineering Scramble with Friends v1.1
Who Needs Thumbs? Reverse Engineering Scramble with Friends v1.1Apkudo
 
WebAssembly - czy dzisiaj mi się to przyda do pracy?
WebAssembly - czy dzisiaj mi się to przyda do pracy?WebAssembly - czy dzisiaj mi się to przyda do pracy?
WebAssembly - czy dzisiaj mi się to przyda do pracy?Brainhub
 
Don't Be a Lopsided Web Developer
Don't Be a Lopsided Web DeveloperDon't Be a Lopsided Web Developer
Don't Be a Lopsided Web DeveloperDavid Pallmann
 
Red Hat Agile integration workshop - Atlanta
Red Hat Agile integration workshop - AtlantaRed Hat Agile integration workshop - Atlanta
Red Hat Agile integration workshop - AtlantaJudy Breedlove
 

Semelhante a OSLC-CM connector in SD (20)

DPC2007 PHP And Oracle (Kuassi Mensah)
DPC2007 PHP And Oracle (Kuassi Mensah)DPC2007 PHP And Oracle (Kuassi Mensah)
DPC2007 PHP And Oracle (Kuassi Mensah)
 
OrientDB Distributed Architecture v2.0
OrientDB Distributed Architecture v2.0OrientDB Distributed Architecture v2.0
OrientDB Distributed Architecture v2.0
 
WebDynPro for Java Common Error v5
WebDynPro for Java  Common Error v5WebDynPro for Java  Common Error v5
WebDynPro for Java Common Error v5
 
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYCPractical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
Practical webRTC - from API to Solution - webRTC Summit 2014 @ NYC
 
Automated CI with AEM Cloud service
Automated CI with AEM Cloud serviceAutomated CI with AEM Cloud service
Automated CI with AEM Cloud service
 
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & CoInfrastructure-As-Code and Cloud Deployments with Opscode Chef & Co
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co
 
CI/CD Pipeline mit Gitlab CI und Kubernetes
CI/CD Pipeline mit Gitlab CI und KubernetesCI/CD Pipeline mit Gitlab CI und Kubernetes
CI/CD Pipeline mit Gitlab CI und Kubernetes
 
WSO2 Application Server - Product Overview
WSO2 Application Server - Product OverviewWSO2 Application Server - Product Overview
WSO2 Application Server - Product Overview
 
Developer-Friendly CI / CD for Kubernetes
Developer-Friendly CI / CD for KubernetesDeveloper-Friendly CI / CD for Kubernetes
Developer-Friendly CI / CD for Kubernetes
 
CQ5 and Sling overview
CQ5 and Sling overviewCQ5 and Sling overview
CQ5 and Sling overview
 
IBM Rational Rhapsody and Qt Integration
IBM Rational Rhapsody and Qt IntegrationIBM Rational Rhapsody and Qt Integration
IBM Rational Rhapsody and Qt Integration
 
Oracle RAC One Node 12c Overview
Oracle RAC One Node 12c OverviewOracle RAC One Node 12c Overview
Oracle RAC One Node 12c Overview
 
The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)
 
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
 
Web Components: Introduction and Practical Use Cases
Web Components: Introduction and Practical Use CasesWeb Components: Introduction and Practical Use Cases
Web Components: Introduction and Practical Use Cases
 
Rails is Easy*
Rails is Easy*Rails is Easy*
Rails is Easy*
 
Who Needs Thumbs? Reverse Engineering Scramble with Friends v1.1
Who Needs Thumbs? Reverse Engineering Scramble with Friends v1.1Who Needs Thumbs? Reverse Engineering Scramble with Friends v1.1
Who Needs Thumbs? Reverse Engineering Scramble with Friends v1.1
 
WebAssembly - czy dzisiaj mi się to przyda do pracy?
WebAssembly - czy dzisiaj mi się to przyda do pracy?WebAssembly - czy dzisiaj mi się to przyda do pracy?
WebAssembly - czy dzisiaj mi się to przyda do pracy?
 
Don't Be a Lopsided Web Developer
Don't Be a Lopsided Web DeveloperDon't Be a Lopsided Web Developer
Don't Be a Lopsided Web Developer
 
Red Hat Agile integration workshop - Atlanta
Red Hat Agile integration workshop - AtlantaRed Hat Agile integration workshop - Atlanta
Red Hat Agile integration workshop - Atlanta
 

Último

UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIUdaiappa Ramachandran
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum ComputingGDSC PJATK
 
GenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncGenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncObject Automation
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Spring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfSpring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfAnna Loughnan Colquhoun
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 

Último (20)

UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AI
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum Computing
 
GenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncGenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation Inc
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Spring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdfSpring24-Release Overview - Wellingtion User Group-1.pdf
Spring24-Release Overview - Wellingtion User Group-1.pdf
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 

OSLC-CM connector in SD

  • 1. Cassiopee Project 2012 Implementing the support of OSLC-CM in Simple Defects Cliquez pour modifier le style des sous-titres du masque Stéphanie Ouillon - Mentor : Olivier Berger
  • 2. Contents q  Simple Defects (SD) q  SD connectors q  Introduction to OSLC-CM q  Development goal q  Net-OSLC-CM Perl module q  OSLC connector in SD q  Using and testing q  Making-up Cassiopee 2012 OSLC-CM connector in SD
  • 3. Specifications q  Implementing a OSLC-CM adaptator for the bugtracker Simple Defects q  Open Source contribution q  Publishing content on the web Base de données Pro Cassiopee 2012 OSLC-CM connector in SD
  • 4. Simple Defects (SD) Simple Defects (SD) q  Introduction to OSLC-CM q  Development goal q  SD connectors q  Net-OSLC-CM Perl module q  OSLC connector in SD q  Using and testing q  Making-up Cassiopee 2012 OSLC-CM connector in SD
  • 5. Simple Defects : a bugtracker q  In command ligne Prophet database Cassiopee 2012 OSLC-CM connector in SD
  • 6. Simple Defects : a bugtracker filesystem code IDE Server/storage bugs Web browser 5 Cassiopee 2012 OSLC-CM connector in SD
  • 7. Simple Defects : a bugtracker filesystem code Terminal + Vim Server/storage bugs filesystem Terminal + SD 6 Cassiopee 2012 OSLC-CM connector in SD
  • 8. Simple Defects : un bugtracker q  In command ligne q  Prophet database https://gitorious.org/prophet/prophet Cassiopee 2012 OSLC-CM connector in SD
  • 9. Prophet ü  Semi-relationnal ü  Peer to peer replicated ü  Disconnected ü  Versioned ü  Self-healing conflict resolution Cassiopee 2012 OSLC-CM connector in SD
  • 10. Cassiopee 2012 OSLC-CM connector in SD
  • 11. Cassiopee 2012 OSLC-CM connector in SD
  • 12. Cassiopee 2012 OSLC-CM connector in SD
  • 13. Cassiopee 2012 OSLC-CM connector in SD
  • 14. Cassiopee 2012 OSLC-CM connector in SD
  • 15. Cassiopee 2012 OSLC-CM connector in SD
  • 16. Demonstration Cassiopee 2012 OSLC-CM connector in SD
  • 17. Cassiopee 2012 OSLC-CM connector in SD
  • 18. Cassiopee 2012 OSLC-CM connector in SD
  • 19. Introduction to OSLC-CM Simple Defects (SD) Introduction to OSLC-CM q  Development goal q  SD connectors q  Net-OSLC-CM Perl module q  OSLC connector in SD q  Using and testing q  Making-up Cassiopee 2012 OSLC-CM connector in SD
  • 20. OSLC Open Services for Lifecycle Collaboration q  Specifications ü  Sharing data ü  Between software development tools Cassiopee 2012 OSLC-CM connector in SD
  • 21. Specifications q  Core specifications v2 q  Change Management specifications v2 Defining a web services REST interface for Change Management Cassiopee 2012 OSLC-CM connector in SD
  • 22. Change Management q  Defects, bugs q  Change requests, tasks Cassiopee 2012 OSLC-CM connector in SD
  • 23. Cassiopee 2012 OSLC-CM connector in SD
  • 24. Cassiopee 2012 OSLC-CM connector in SD
  • 25. Principles: REST – Linked Data q  ‘’Everything is a URI.’’ q  RDF/XML data format q  HTTP protocol Pull : GET Push : POST, UPDATE, DELETE Cassiopee 2012 OSLC-CM connector in SD
  • 26. Cassiopee 2012 OSLC-CM connector in SD
  • 27. Development goal Simple Defects (SD) Introduction to OSLC-CM Development goal q  SD connectors q  Net-OSLC-CM Perl module q  OSLC connector in SD q  Using and testing q  Making-up Cassiopee 2012 OSLC-CM connector in SD
  • 28. Goal SD Bugzilla Adaptator OSLC-CM Service Provider Cassiopee 2012 OSLC-CM connector in SD
  • 29. Goal Adaptator OSLC-CM Consumer SD Bugzilla Adaptator OSLC-CM Service Provider Cassiopee 2012 OSLC-CM connector in SD
  • 30. SD connectors Simple Defects (SD) Introduction to OSLC-CM Development goal SD connectors q  Net-OSLC-CM Perl module q  OSLC connector in SD q  Using and testing q  Making-up Cassiopee 2012 OSLC-CM connector in SD
  • 31. Development in SD q  Developed in Perl 5 q  Object-oriented with Moose Cassiopee 2012 OSLC-CM connector in SD
  • 32. Example with Github bugtracker q  3 classes in Replica/ ü  github.pm ü  github/PullEncoder.pm ü  github/PushEncoder.pm Cassiopee 2012 OSLC-CM connector in SD
  • 33. Partial UML diagram (inheritance) Cassiopee 2012 OSLC-CM connector in SD
  • 34. Example with Github q  Perl interface for github.com Net::GitHub::V2 Cassiopee 2012 OSLC-CM connector in SD
  • 35. Example with Github q  github.pm module $sd clone –-from ‘github:http://github.com/arroway/SD/issues’ ü  Authentification (OAuth or basic auth) ü  Connection Cassiopee 2012 OSLC-CM connector in SD
  • 36. Example with Github q  github/PullEncoder.pm module find_matching_tickets calls github->issue->list(‘open’) github->issue->list(‘closed’) Cassiopee 2012 OSLC-CM connector in SD
  • 37. Example with Github q  github/PushEncoder.pm module integrate_ticket_create/update calls $github->issue->open/edit Cassiopee 2012 OSLC-CM connector in SD
  • 38. Net-OSLC-CM Perl Module Simple Defects (SD) SD connectors Introduction to OSLC-CM Development goal Net-OSLC-CM Perl Module q  OSLC connector in SD q  Using and testing q  Making-up Cassiopee 2012 OSLC-CM connector in SD
  • 39. Net-OSLC-CM q  Standard Perl module q  Helping implement a OSLC-CM Consumer Cassiopee 2012 OSLC-CM connector in SD
  • 40. Cassiopee 2012 OSLC-CM connector in SD
  • 41. Example use Net::OSLC::CM; my $oslccm = Net::OSLC::CM−>new( url => $self−>remote_url, username => $username, password => $password )); # Getting an array of changeRequests my @results = $oslccm−>get_oslc_resources; Cassiopee 2012 OSLC-CM connector in SD
  • 42. Résultat final my @results = $oslccm−>changeRequests; Cassiopee 2012 OSLC-CM connector in SD
  • 43. Detailed example $oslccm−>url = "http://example.com"; $oslccm−>parser( Net::OSLC::CM::Parser−>new(cm => $oslccm) ); $oslccm−>create_catalog; $oslccm−>get_provider_catalog_resource; $oslccm−>get_service_providers; $oslccm−>get_changeRequests($oslccm−>providers); $oslccm−>load_changeRequests(); my @results = $oslccm−>changeRequests; Cassiopee 2012 OSLC-CM connector in SD
  • 44. Connection to a bugtracker Connection http://localhost:8282/bugz Connection Authentification (basic auth) Consumer Connection OK Authenticated Cassiopee 2012 OSLC-CM connector in SD
  • 45. Getting the Service Provider Catalog GET Catalog GET http://localhost:8282/bugz/ http://localhost:8282/bugz catalog Accept => application/rdf+xml Consumer <oslc:ServiceProviderCatalog rdf:about="http://localhost/bugz/catalog"> Cassiopee 2012 OSLC-CM connector in SD
  • 46. Catalog RDF/XML Service Provider Catalog <oslc:ServiceProviderCatalog rdf:about="http://localhost:8282/bugz/catalog"> <dcterms:title>OSLC-CM Adapter/Bugzilla Service Provider Catalog</dcterms:title> <oslc:domain rdf:resource="http://open-services.net/ns/cm#" /> <oslc:serviceProvider> <oslc:ServiceProvider rdf:about="http://localhost:8282/bugz/provider? productId=1"> <dcterms:title>TestProduct</dcterms:title> </oslc:ServiceProvider> </oslc:serviceProvider> <oslc:serviceProvider> <oslc:ServiceProvider rdf:about="http://localhost:8282/bugz/provider? productId=3"> <dcterms:title>FakePortal</dcterms:title> </oslc:ServiceProvider> </oslc:serviceProvider> </oslc:ServiceProviderCatalog> Cassiopee 2012 OSLC-CM connector in SD
  • 47. Getting Service Providers data GET Service Providers GET http://localhost:8282/bugz/provider?productId=1 GET http://localhost:8282/bugz/provider?productId=2 GET http://localhost:8282/bugz/provider?productId=3 … Consumer Cassiopee 2012 OSLC-CM connector in SD
  • 48. Service Provider RDF/XML Service Provider <oslc:ServiceProvider rdf:about="http://localhost:8282/bugz/provider?productId=1"> <dcterms:title>Bugzilla Service Provider: Product TestProduct(1)</dcterms:title> <oslc:Service> <oslc:selectionDialog/> <oslc:creationDialog/> <oslc:CreationFactory/> <oslc:QueryCapability> <oslc:queryBase rdf:resource="http://localhost:8282/bugz/changerequests? productId=1" /> <oslc:resourceShape rdf:resource="http://localhost:8282/bugz/queryshape? productId=1" /> </oslc:QueryCapability> <oslc:Service/> <oslc:ServiceProvider/> Cassiopee 2012 OSLC-CM connector in SD
  • 49. Getting a list of Change Requests (tickets) GET Change Requests list GET http://localhost:8282/bugz/changerequests?productId=1 Consumer Cassiopee 2012 OSLC-CM connector in SD
  • 50. Getting a Change Request GET Change Request GET http://localhost:8282/bugz/changerequest?id=24 Consumer Cassiopee 2012 OSLC-CM connector in SD
  • 51. Change Request RDF/XML Change Request <oslc_cm:ChangeRequest rdf:about="http://192.168.56.101:8282/bugz/changerequest? id=24"> <dcterms:title rdf:datatype="http://www.w3.org/2001/XMLSchema#string”> New Bug: installation </dcterms:title> <dcterms:created rdf:datatype=“http://www.w3.org/2001 XMLSchema#dateTime”> 2012-04-22T16:16:00Z </dcterms:created> <dcterms:identifier rdf:datatype="http://www.w3.org/2001/XMLSchema#string”> 24 </dcterms:identifier> … </oslc_cm:ChangeRequest> Cassiopee 2012 OSLC-CM connector in SD
  • 52. OSLC connector in SD Simple Defects (SD) SD Connectors Introduction to OSLC-CM Development goal Net-OSLC-CM Perl Module OSLC connector in SD q  Using and testing q  Making-up Cassiopee 2012 OSLC-CM connector in SD
  • 53. Result gained from Net::OSLC::CM my @results = $oslccm−>changeRequests; Cassiopee 2012 OSLC-CM connector in SD
  • 54. Result gained from Net::OSLC::CM my @results = $oslccm−>changeRequests; List of tickets in SD Cassiopee 2012 OSLC-CM connector in SD
  • 55. Using and testing Simple Defects (SD) SD connectors Introduction to OSLC-CM Development goal Net-OSLC-CM Perl Module OSLC connector in SD Using and testing q  Making-up Cassiopee 2012 OSLC-CM connector in SD
  • 56. Test environment Adaptator OSLC-CM Consumer SD Bugzilla Adaptator OSLC-CM Service Provider Host Cassiopee 2012 OSLC-CM connector in SD
  • 57. Test environment Adaptator Debian virtual machine OSLC-CM Consumer SD Bugzilla Adaptator OSLC-CM Service Provider Host Cassiopee 2012 OSLC-CM connector in SD
  • 58. Test environment Adaptator Debian virtual machine OSLC-CM Consumer SD Bugzilla Adaptator OSLC-CM Service Provider Host Vboxnet network interface between host and guest (//local network) Cassiopee 2012 OSLC-CM connector in SD
  • 59. Demonstration Cassiopee 2012 OSLC-CM connector in SD
  • 60. Testing Net::OSLC::CM q  With Test::More q  Testing Net::OSLC::CM classes 01-connection.t 02-get-provider-catalog-resources.t 03-get-service-providers.t 04-get-change-requests.t Cassiopee 2012 OSLC-CM connector in SD
  • 61. Making-up Simple Defects (SD) SD connectors Introduction to OSLC-CM Development goal Net-OSLC-CM Perl Module OSLC connector in SD Using and testing Making-up Cassiopee 2012 OSLC-CM connector in SD
  • 62. Commits in Net-OSLC-CM Cassiopee 2012 OSLC-CM connector in SD
  • 63. Next development steps q  Implementing the Push part in Net::OSLC::CM with a serializer RDF/XML q  Implementing PushEncoder.pm in SD q  Completing the implementation of the specs q  Refactoring Net::OSLC::CM ü  RDF data are extensible – so is the Prophet database ü  Data OSLC/ Net OSLC Cassiopee 2012 OSLC-CM connector in SD
  • 64. What I learned q  Perl 5 and OO Perl with Moose q  Creation of a Perl module q  Tests with Test::More q  Specifications OSLC-CM v2 q  Searching through RDF data and performing SPARQL queries Cassiopee 2012 OSLC-CM connector in SD
  • 65. Links q  Source code http://github.com/arroway/Net-OSLC-CM (Perl licence) http://github/com/arroway/SD (Best Practicals Solutions) q  Documentation http://arroway.github.com/Net-OSLC-CM q  SD http://syncwith.us q  OSLC http://open-services.net Cassiopee 2012 OSLC-CM connector in SD