OSLC-CM connector in SD
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

OSLC-CM connector in SD

on

  • 1,233 views

Implementing the support of OSLC-CM in the bugtracker SD.

Implementing the support of OSLC-CM in the bugtracker SD.
More information at http://arroway.github.com/Net-OSLC-CM

Statistics

Views

Total Views
1,233
Views on SlideShare
1,225
Embed Views
8

Actions

Likes
2
Downloads
13
Comments
0

1 Embed 8

http://www.twylah.com 8

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

OSLC-CM connector in SD Presentation Transcript

  • 1. Cassiopee Project 2012Implementing the support of OSLC-CM in Simple Defects Cliquez pour modifier le style des sous-titres du masqueSté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-upCassiopee 2012 OSLC-CM connector in SD
  • 3. Specificationsq  Implementing a OSLC-CM adaptator for the bugtracker Simple Defectsq  Open Source contributionq  Publishing content on the webBase 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-upCassiopee 2012 OSLC-CM connector in SD
  • 5. Simple Defects : a bugtrackerq  In command ligneProphet database Cassiopee 2012 OSLC-CM connector in SD
  • 6. Simple Defects : a bugtracker filesystem code IDE Server/storage bugs Web browser5 Cassiopee 2012 OSLC-CM connector in SD
  • 7. Simple Defects : a bugtracker filesystem codeTerminal + Vim Server/storage bugs filesystemTerminal + SD 6 Cassiopee 2012 OSLC-CM connector in SD
  • 8. Simple Defects : un bugtrackerq  In command ligneq  Prophet databasehttps://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. DemonstrationCassiopee 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-upCassiopee 2012 OSLC-CM connector in SD
  • 20. OSLCOpen Services for Lifecycle Collaborationq  Specifications ü  Sharing data ü  Between software development tools Cassiopee 2012 OSLC-CM connector in SD
  • 21. Specificationsq  Core specifications v2q  Change Management specifications v2 Defining a web services REST interface for Change Management Cassiopee 2012 OSLC-CM connector in SD
  • 22. Change Managementq  Defects, bugsq  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 Dataq  ‘’Everything is a URI.’’q  RDF/XML data formatq  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-upCassiopee 2012 OSLC-CM connector in SD
  • 28. Goal SD Bugzilla Adaptator OSLC-CM Service ProviderCassiopee 2012 OSLC-CM connector in SD
  • 29. Goal Adaptator OSLC-CM Consumer SD Bugzilla Adaptator OSLC-CM Service ProviderCassiopee 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-upCassiopee 2012 OSLC-CM connector in SD
  • 31. Development in SDq  Developed in Perl 5q  Object-oriented with Moose Cassiopee 2012 OSLC-CM connector in SD
  • 32. Example with Github bugtrackerq  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 Githubq  Perl interface for github.com Net::GitHub::V2 Cassiopee 2012 OSLC-CM connector in SD
  • 35. Example with Githubq  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 Githubq  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 Githubq  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-upCassiopee 2012 OSLC-CM connector in SD
  • 39. Net-OSLC-CMq  Standard Perl moduleq  Helping implement a OSLC-CM Consumer Cassiopee 2012 OSLC-CM connector in SD
  • 40. Cassiopee 2012 OSLC-CM connector in SD
  • 41. Exampleuse 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 bugtrackerConnection http://localhost:8282/bugz Connection Authentification (basic auth) Consumer Connection OK Authenticated Cassiopee 2012 OSLC-CM connector in SD
  • 45. Getting the Service Provider CatalogGET 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/XMLService 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 dataGET 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/XMLService 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 RequestGET Change Request GET http://localhost:8282/bugz/changerequest?id=24 Consumer Cassiopee 2012 OSLC-CM connector in SD
  • 51. Change Request RDF/XMLChange 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-upCassiopee 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 SDCassiopee 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-upCassiopee 2012 OSLC-CM connector in SD
  • 56. Test environment Adaptator OSLC-CM Consumer SD Bugzilla Adaptator OSLC-CM Service ProviderHost Cassiopee 2012 OSLC-CM connector in SD
  • 57. Test environment Adaptator Debian virtual machine OSLC-CM Consumer SD Bugzilla Adaptator OSLC-CM Service ProviderHost Cassiopee 2012 OSLC-CM connector in SD
  • 58. Test environment Adaptator Debian virtual machine OSLC-CM Consumer SD Bugzilla Adaptator OSLC-CM Service ProviderHost Vboxnet network interface between host and guest (//local network) Cassiopee 2012 OSLC-CM connector in SD
  • 59. DemonstrationCassiopee 2012 OSLC-CM connector in SD
  • 60. Testing Net::OSLC::CMq  With Test::Moreq  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-upCassiopee 2012 OSLC-CM connector in SD
  • 62. Commits in Net-OSLC-CMCassiopee 2012 OSLC-CM connector in SD
  • 63. Next development stepsq  Implementing the Push part in Net::OSLC::CM with a serializer RDF/XMLq  Implementing PushEncoder.pm in SDq  Completing the implementation of the specsq  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 learnedq  Perl 5 and OO Perl with Mooseq  Creation of a Perl moduleq  Tests with Test::Moreq  Specifications OSLC-CM v2q  Searching through RDF data and performing SPARQL queries Cassiopee 2012 OSLC-CM connector in SD
  • 65. Linksq  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-CMq  SD http://syncwith.usq  OSLC http://open-services.net Cassiopee 2012 OSLC-CM connector in SD