SlideShare uma empresa Scribd logo
1 de 13
Orion: RESTful git API
Tomasz Żarna
Eclipse PlatformWorkspace/Orion, IBM
Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under
the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
REST
REST explained in 5 steps:
● Give every "thing" an ID
● Link "things" to each other
● Use standard methods
● Allow multiple representations
● Communicate statelessly
Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under
the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
REST (cntd)
Advantages
● universal support (programming languages, OSes, servers)
● proven scalability i.e. Wide Wide Web
● real machine-2-machine integration
● support for XML and other formats
Some HTTP features:
● standardized verbs and response codes
● content negotiation
● redirection
● caching
● compression
Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under
the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Server
● Jetty 6.1.x / javax.servlet 2.5
● org.eclipse.equinox.http.registry.servlets / OSGi HttpService
○ class
○ alias
Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under
the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
REST API: GET
GET /gitapi/commit/master/file/a/?page=1
HTTP/1.1 200 OK
{
"Children" : [
{
"AuthorName" : "Tomasz Zarna",
"Children" : [{ }],
"ContentLocation" : "/gitapi/commit/6d34f45b/file/a/?
parts=body",
"Message" : "Fix for bug 345325",
"Location" : "/gitapi/commit/6d34f45b/file/a/",
"Time" : 1304073355000,
"DiffLocation" : "/gitapi/diff/6d34f45b/file/a/",
},
{ ... }
}
Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under
the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
REST API: POST
POST /gitapi/clone/
{
"GitUrl" : "git://github.com/eclipse/orion.server.git",
"Path" : "/file/a/"
}
HTTP/1.1 201 CREATED
{
"Id" : "IOOD6ph8ABASBcDqmXX87w",
"Location" : "/task/id/IOOD6ph8ABASBcDqmXX87w",
"Message" : "Cloning git://github.com/eclipse/orion.server.git...",
"PercentComplete" : 0,
"Running" : true
}
GET {Location}
Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under
the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
REST API: PUT
PUT /gitapi/commit/6d34f45b/file/a/
{
"TagName" : "v20110611"
}
HTTP/1.1 200 OK
{
"AuthorName" : "Tomasz Zarna",
"Children" : [{ "v20110523", "v20110611"}],
"ContentLocation" : "/gitapi/commit/6d34f45b/file/a/?parts=body",
"Message" : "Fix for bug 345325",
"Location" : "/gitapi/commit/6d34f45b/file/a/",
"Time" : 1304073355000,
"DiffLocation" : "/gitapi/diff/6d34f45b/file/a/"
}
Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under
the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
REST API: DELETE
DELETE /gitapi/remote/{remoteName}/file/{id}
HTTP/1.1 200 OK
Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under
the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
git commands
git-add git-commit git-mv git-show pack-pack-refs git-count-object
git-am git-describe git-notes git-stash git-prune git-difftool
git-archive git-diff git-pull git-status git-reflog git-fsck
git-bisect git-fetch git-push git-submodule git-relink git-get-tar-commit-id
git-branch git-format-patch git-rebase git-tag git-remote git-help
git-bundle git-gc git-reset git-config git-repack git-merge-tree
git-checkout git-grep git-rebase git-fast-export git-replace git-rerere
git-cherry-pick git-init git-revert git-fast-import git-annotate git-rev-parse
git-clean git-log git-rm gt-filter-branch git-blame git-verify-tag
git-clone git-merge git-shortlog git-mergetool git-cherry git-whatchanged
Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under
the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Testing
● JUnit + HttpUnit
● EclEmma coverage 84%
Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under
the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Testing
● JUnit + HttpUnit
● EclEmma coverage 84%
Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under
the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
That's all folks
Orion: RESTful git API| Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under
the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
Legal Notice
● IBM and the IBM logo are trademarks or registered
trademarks of IBM Corporation, in the United States, other
countries or both.
● Java and all Java-based marks, among others, are
trademarks or registered trademarks of Sun Microsystems
in the United States, other countries or both.
● Eclipse and the Eclipse logo are trademarks of Eclipse
Foundation, Inc.
● Porky Pig image is in the public domain, see http:
//commons.wikimedia.org/wiki/File:Thats_all_folks_cl%
C3%A0ssic_-Daffy_Comando_1943_-_amb_porky.png
● Other company, product and service names may be
trademarks or service marks of others.

Mais conteúdo relacionado

Mais procurados

Composing Music in the Cloud
Composing Music in the CloudComposing Music in the Cloud
Composing Music in the CloudCodemotion
 
Android and OSGi Can They Work Together - BJ Hargrave & Neil Bartlett
Android and OSGi Can They Work Together - BJ Hargrave & Neil BartlettAndroid and OSGi Can They Work Together - BJ Hargrave & Neil Bartlett
Android and OSGi Can They Work Together - BJ Hargrave & Neil Bartlettmfrancis
 
Building Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with TychoBuilding Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with Tychojsievers
 
Supporting Java™ 9 in Eclipse - A critical perspective - Stephan Herrmann
Supporting Java™ 9 in Eclipse - A critical perspective - Stephan HerrmannSupporting Java™ 9 in Eclipse - A critical perspective - Stephan Herrmann
Supporting Java™ 9 in Eclipse - A critical perspective - Stephan HerrmannEclipse Day India
 
p4alu: Arithmetic Logic Unit in P4
p4alu: Arithmetic Logic Unit in P4p4alu: Arithmetic Logic Unit in P4
p4alu: Arithmetic Logic Unit in P4Kentaro Ebisawa
 
EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18Xiaoli Liang
 
Android is going to Go! Android and Golang
Android is going to Go! Android and GolangAndroid is going to Go! Android and Golang
Android is going to Go! Android and GolangAlmog Baku
 
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019Codemotion
 
Python for IoT, A return of experience
Python for IoT, A return of experiencePython for IoT, A return of experience
Python for IoT, A return of experienceAlexandre Abadie
 
What is new in Helios
What is new in HeliosWhat is new in Helios
What is new in HeliosTomasz Zarna
 
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...Embarcadero Technologies
 
Startup Camp - Git, Python, Django session
Startup Camp - Git, Python, Django sessionStartup Camp - Git, Python, Django session
Startup Camp - Git, Python, Django sessionJuraj Michálek
 
[로켓 자바] Part 1 성능 튜닝 마인드 확립
[로켓 자바] Part 1 성능 튜닝 마인드 확립[로켓 자바] Part 1 성능 튜닝 마인드 확립
[로켓 자바] Part 1 성능 튜닝 마인드 확립Covenant Ko
 
POD2::* and Perl translation documentation project
POD2::* and Perl translation documentation projectPOD2::* and Perl translation documentation project
POD2::* and Perl translation documentation projectEnrico Sorcinelli
 
Building a Remote Control Robot with Automotive Grade Linux
Building a Remote Control Robot with Automotive Grade LinuxBuilding a Remote Control Robot with Automotive Grade Linux
Building a Remote Control Robot with Automotive Grade LinuxLeon Anavi
 
Flutter 에서 Native(iOS, Android) 코드와 통신하기
Flutter 에서 Native(iOS, Android) 코드와 통신하기Flutter 에서 Native(iOS, Android) 코드와 통신하기
Flutter 에서 Native(iOS, Android) 코드와 통신하기인수 장
 
Free and Open Source Software Tools for Making Open Source Hardware
 Free and Open Source Software Tools for Making Open Source Hardware Free and Open Source Software Tools for Making Open Source Hardware
Free and Open Source Software Tools for Making Open Source HardwareLeon Anavi
 

Mais procurados (20)

Composing Music in the Cloud
Composing Music in the CloudComposing Music in the Cloud
Composing Music in the Cloud
 
What is new in C# 6?
What is new in C# 6?What is new in C# 6?
What is new in C# 6?
 
Android and OSGi Can They Work Together - BJ Hargrave & Neil Bartlett
Android and OSGi Can They Work Together - BJ Hargrave & Neil BartlettAndroid and OSGi Can They Work Together - BJ Hargrave & Neil Bartlett
Android and OSGi Can They Work Together - BJ Hargrave & Neil Bartlett
 
Zedroid - Android (5.0 and later) on Zedboard
Zedroid - Android (5.0 and later) on ZedboardZedroid - Android (5.0 and later) on Zedboard
Zedroid - Android (5.0 and later) on Zedboard
 
Building Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with TychoBuilding Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with Tycho
 
Supporting Java™ 9 in Eclipse - A critical perspective - Stephan Herrmann
Supporting Java™ 9 in Eclipse - A critical perspective - Stephan HerrmannSupporting Java™ 9 in Eclipse - A critical perspective - Stephan Herrmann
Supporting Java™ 9 in Eclipse - A critical perspective - Stephan Herrmann
 
p4alu: Arithmetic Logic Unit in P4
p4alu: Arithmetic Logic Unit in P4p4alu: Arithmetic Logic Unit in P4
p4alu: Arithmetic Logic Unit in P4
 
EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18
 
Android is going to Go! Android and Golang
Android is going to Go! Android and GolangAndroid is going to Go! Android and Golang
Android is going to Go! Android and Golang
 
How to Add Original Library to Android NDK
How to Add Original Library to Android NDKHow to Add Original Library to Android NDK
How to Add Original Library to Android NDK
 
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
 
Python for IoT, A return of experience
Python for IoT, A return of experiencePython for IoT, A return of experience
Python for IoT, A return of experience
 
What is new in Helios
What is new in HeliosWhat is new in Helios
What is new in Helios
 
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
 
Startup Camp - Git, Python, Django session
Startup Camp - Git, Python, Django sessionStartup Camp - Git, Python, Django session
Startup Camp - Git, Python, Django session
 
[로켓 자바] Part 1 성능 튜닝 마인드 확립
[로켓 자바] Part 1 성능 튜닝 마인드 확립[로켓 자바] Part 1 성능 튜닝 마인드 확립
[로켓 자바] Part 1 성능 튜닝 마인드 확립
 
POD2::* and Perl translation documentation project
POD2::* and Perl translation documentation projectPOD2::* and Perl translation documentation project
POD2::* and Perl translation documentation project
 
Building a Remote Control Robot with Automotive Grade Linux
Building a Remote Control Robot with Automotive Grade LinuxBuilding a Remote Control Robot with Automotive Grade Linux
Building a Remote Control Robot with Automotive Grade Linux
 
Flutter 에서 Native(iOS, Android) 코드와 통신하기
Flutter 에서 Native(iOS, Android) 코드와 통신하기Flutter 에서 Native(iOS, Android) 코드와 통신하기
Flutter 에서 Native(iOS, Android) 코드와 통신하기
 
Free and Open Source Software Tools for Making Open Source Hardware
 Free and Open Source Software Tools for Making Open Source Hardware Free and Open Source Software Tools for Making Open Source Hardware
Free and Open Source Software Tools for Making Open Source Hardware
 

Destaque

Effektiv dataflyt med ArcGIS online - BK2016
Effektiv dataflyt med ArcGIS online - BK2016Effektiv dataflyt med ArcGIS online - BK2016
Effektiv dataflyt med ArcGIS online - BK2016Geodata AS
 
Mediaproducten Pet A Cat
Mediaproducten Pet A CatMediaproducten Pet A Cat
Mediaproducten Pet A CatPetacat
 
CV - Latest -Photo
CV - Latest -PhotoCV - Latest -Photo
CV - Latest -PhotoZin Minsoe
 
RESTFul API Design and Documentation - an Introduction
RESTFul API Design and Documentation - an IntroductionRESTFul API Design and Documentation - an Introduction
RESTFul API Design and Documentation - an IntroductionMiredot
 
ArcGIS Server og FME som duo i dokumentproduksjon - BK2016
ArcGIS Server og FME som duo i dokumentproduksjon - BK2016ArcGIS Server og FME som duo i dokumentproduksjon - BK2016
ArcGIS Server og FME som duo i dokumentproduksjon - BK2016Geodata AS
 
The Black Cat Intro
The  Black  Cat IntroThe  Black  Cat Intro
The Black Cat Introtranceking
 
Rest api design by george reese
Rest api design by george reeseRest api design by george reese
Rest api design by george reesebuildacloud
 
Olympia in Hamburg: managing plastic marine debris
Olympia in Hamburg: managing plastic marine debrisOlympia in Hamburg: managing plastic marine debris
Olympia in Hamburg: managing plastic marine debrisHeather Troutman
 

Destaque (17)

Effektiv dataflyt med ArcGIS online - BK2016
Effektiv dataflyt med ArcGIS online - BK2016Effektiv dataflyt med ArcGIS online - BK2016
Effektiv dataflyt med ArcGIS online - BK2016
 
Tic en la educacion
Tic en la educacionTic en la educacion
Tic en la educacion
 
Actividad 1 maestría
Actividad 1 maestríaActividad 1 maestría
Actividad 1 maestría
 
Abdulaziz M. Al-Nasiri - Resume - Final
Abdulaziz M. Al-Nasiri - Resume -  FinalAbdulaziz M. Al-Nasiri - Resume -  Final
Abdulaziz M. Al-Nasiri - Resume - Final
 
MeghanCoyneresume
MeghanCoyneresumeMeghanCoyneresume
MeghanCoyneresume
 
QW 2016
QW 2016QW 2016
QW 2016
 
Mediaproducten Pet A Cat
Mediaproducten Pet A CatMediaproducten Pet A Cat
Mediaproducten Pet A Cat
 
J. Biol. Chem.-2015-Maganti-9812-22
J. Biol. Chem.-2015-Maganti-9812-22J. Biol. Chem.-2015-Maganti-9812-22
J. Biol. Chem.-2015-Maganti-9812-22
 
CV - Latest -Photo
CV - Latest -PhotoCV - Latest -Photo
CV - Latest -Photo
 
RESTFul API Design and Documentation - an Introduction
RESTFul API Design and Documentation - an IntroductionRESTFul API Design and Documentation - an Introduction
RESTFul API Design and Documentation - an Introduction
 
ArcGIS Server og FME som duo i dokumentproduksjon - BK2016
ArcGIS Server og FME som duo i dokumentproduksjon - BK2016ArcGIS Server og FME som duo i dokumentproduksjon - BK2016
ArcGIS Server og FME som duo i dokumentproduksjon - BK2016
 
The Black Cat Intro
The  Black  Cat IntroThe  Black  Cat Intro
The Black Cat Intro
 
Rest api design by george reese
Rest api design by george reeseRest api design by george reese
Rest api design by george reese
 
Olympia in Hamburg: managing plastic marine debris
Olympia in Hamburg: managing plastic marine debrisOlympia in Hamburg: managing plastic marine debris
Olympia in Hamburg: managing plastic marine debris
 
MPA November 3, 2015
MPA November 3, 2015MPA November 3, 2015
MPA November 3, 2015
 
12 Trends from Cannes 2011
12 Trends from Cannes 201112 Trends from Cannes 2011
12 Trends from Cannes 2011
 
RESTful API Design, Second Edition
RESTful API Design, Second EditionRESTful API Design, Second Edition
RESTful API Design, Second Edition
 

Semelhante a Orion RESTful git API

Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)Pascal Rapicault
 
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...mfrancis
 
Managing Plone Projects with Perl and Subversion
Managing Plone Projects with Perl and SubversionManaging Plone Projects with Perl and Subversion
Managing Plone Projects with Perl and SubversionLuciano Rocha
 
SRT Prometheus Exporter Introduction.pdf
SRT Prometheus Exporter Introduction.pdfSRT Prometheus Exporter Introduction.pdf
SRT Prometheus Exporter Introduction.pdfTomoya Fujita
 
ABC of Platform Workspace
ABC of Platform WorkspaceABC of Platform Workspace
ABC of Platform WorkspaceTomasz Zarna
 
Eclipse Demo Camp 2010 - EGit
Eclipse Demo Camp 2010 - EGitEclipse Demo Camp 2010 - EGit
Eclipse Demo Camp 2010 - EGitdeepakazad
 
Web Technologies in Automotive & Robotics (BlinkOn 10)
Web Technologies in Automotive & Robotics (BlinkOn 10)Web Technologies in Automotive & Robotics (BlinkOn 10)
Web Technologies in Automotive & Robotics (BlinkOn 10)Igalia
 
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?Niklas Heidloff
 
Drone CI/CD Platform
Drone CI/CD PlatformDrone CI/CD Platform
Drone CI/CD PlatformBo-Yi Wu
 
Modular Web Applications based on OSGi - Jochen Hiller
Modular Web Applications based on OSGi - Jochen HillerModular Web Applications based on OSGi - Jochen Hiller
Modular Web Applications based on OSGi - Jochen Hillermfrancis
 
Odo improving the developer experience on OpenShift - hack & sangria
Odo   improving the developer experience on OpenShift - hack & sangriaOdo   improving the developer experience on OpenShift - hack & sangria
Odo improving the developer experience on OpenShift - hack & sangriaJorge Morales
 
Using Python for IoT: a return of experience, Alexandre Abadie
Using Python for IoT: a return of experience, Alexandre AbadieUsing Python for IoT: a return of experience, Alexandre Abadie
Using Python for IoT: a return of experience, Alexandre AbadiePôle Systematic Paris-Region
 
Build Great Networked APIs with Swift, OpenAPI, and gRPC
Build Great Networked APIs with Swift, OpenAPI, and gRPCBuild Great Networked APIs with Swift, OpenAPI, and gRPC
Build Great Networked APIs with Swift, OpenAPI, and gRPCTim Burks
 
Standalone Android Apps in Python
Standalone Android Apps in PythonStandalone Android Apps in Python
Standalone Android Apps in PythonBaptiste Lagarde
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDKubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDSunnyvale
 
Não reinvente a roda! Desenvolvendo com bibliotecas Android
Não reinvente a roda! Desenvolvendo com bibliotecas AndroidNão reinvente a roda! Desenvolvendo com bibliotecas Android
Não reinvente a roda! Desenvolvendo com bibliotecas AndroidVítor Bruno de Almeida
 

Semelhante a Orion RESTful git API (20)

Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)Discovery the p2 API (updated to Indigo)
Discovery the p2 API (updated to Indigo)
 
Discovering the p2 API
Discovering the p2 APIDiscovering the p2 API
Discovering the p2 API
 
Egit 1.0
Egit 1.0Egit 1.0
Egit 1.0
 
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...
Building Server-Side Eclipse based Web applications - Jochen Hiller, Principa...
 
Compare framework
Compare frameworkCompare framework
Compare framework
 
Managing Plone Projects with Perl and Subversion
Managing Plone Projects with Perl and SubversionManaging Plone Projects with Perl and Subversion
Managing Plone Projects with Perl and Subversion
 
SRT Prometheus Exporter Introduction.pdf
SRT Prometheus Exporter Introduction.pdfSRT Prometheus Exporter Introduction.pdf
SRT Prometheus Exporter Introduction.pdf
 
ABC of Platform Workspace
ABC of Platform WorkspaceABC of Platform Workspace
ABC of Platform Workspace
 
Eclipse Demo Camp 2010 - EGit
Eclipse Demo Camp 2010 - EGitEclipse Demo Camp 2010 - EGit
Eclipse Demo Camp 2010 - EGit
 
Web Technologies in Automotive & Robotics (BlinkOn 10)
Web Technologies in Automotive & Robotics (BlinkOn 10)Web Technologies in Automotive & Robotics (BlinkOn 10)
Web Technologies in Automotive & Robotics (BlinkOn 10)
 
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?
 
Scripting in OpenOffice.org
Scripting in OpenOffice.orgScripting in OpenOffice.org
Scripting in OpenOffice.org
 
Drone CI/CD Platform
Drone CI/CD PlatformDrone CI/CD Platform
Drone CI/CD Platform
 
Modular Web Applications based on OSGi - Jochen Hiller
Modular Web Applications based on OSGi - Jochen HillerModular Web Applications based on OSGi - Jochen Hiller
Modular Web Applications based on OSGi - Jochen Hiller
 
Odo improving the developer experience on OpenShift - hack & sangria
Odo   improving the developer experience on OpenShift - hack & sangriaOdo   improving the developer experience on OpenShift - hack & sangria
Odo improving the developer experience on OpenShift - hack & sangria
 
Using Python for IoT: a return of experience, Alexandre Abadie
Using Python for IoT: a return of experience, Alexandre AbadieUsing Python for IoT: a return of experience, Alexandre Abadie
Using Python for IoT: a return of experience, Alexandre Abadie
 
Build Great Networked APIs with Swift, OpenAPI, and gRPC
Build Great Networked APIs with Swift, OpenAPI, and gRPCBuild Great Networked APIs with Swift, OpenAPI, and gRPC
Build Great Networked APIs with Swift, OpenAPI, and gRPC
 
Standalone Android Apps in Python
Standalone Android Apps in PythonStandalone Android Apps in Python
Standalone Android Apps in Python
 
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCDKubernetes GitOps featuring GitHub, Kustomize and ArgoCD
Kubernetes GitOps featuring GitHub, Kustomize and ArgoCD
 
Não reinvente a roda! Desenvolvendo com bibliotecas Android
Não reinvente a roda! Desenvolvendo com bibliotecas AndroidNão reinvente a roda! Desenvolvendo com bibliotecas Android
Não reinvente a roda! Desenvolvendo com bibliotecas Android
 

Mais de Tomasz Zarna

Orion Introduction
Orion IntroductionOrion Introduction
Orion IntroductionTomasz Zarna
 
Orion Introduction
Orion IntroductionOrion Introduction
Orion IntroductionTomasz Zarna
 
What's new in Juno
What's new in JunoWhat's new in Juno
What's new in JunoTomasz Zarna
 
Git migration - Lessons learned
Git migration - Lessons learnedGit migration - Lessons learned
Git migration - Lessons learnedTomasz Zarna
 
Equinox/p2 - Getting started with Equinox/p2
Equinox/p2 - Getting started with Equinox/p2Equinox/p2 - Getting started with Equinox/p2
Equinox/p2 - Getting started with Equinox/p2Tomasz Zarna
 
Together in Eclipse
Together in EclipseTogether in Eclipse
Together in EclipseTomasz Zarna
 

Mais de Tomasz Zarna (9)

Orion Introduction
Orion IntroductionOrion Introduction
Orion Introduction
 
Eclipse Way
Eclipse WayEclipse Way
Eclipse Way
 
Orion Introduction
Orion IntroductionOrion Introduction
Orion Introduction
 
What's new in Juno
What's new in JunoWhat's new in Juno
What's new in Juno
 
Git migration - Lessons learned
Git migration - Lessons learnedGit migration - Lessons learned
Git migration - Lessons learned
 
Equinox/p2 - Getting started with Equinox/p2
Equinox/p2 - Getting started with Equinox/p2Equinox/p2 - Getting started with Equinox/p2
Equinox/p2 - Getting started with Equinox/p2
 
Eclipse Way
Eclipse WayEclipse Way
Eclipse Way
 
E4 UI Demos
E4 UI DemosE4 UI Demos
E4 UI Demos
 
Together in Eclipse
Together in EclipseTogether in Eclipse
Together in Eclipse
 

Último

2024 Numerator Consumer Study of Cannabis Usage
2024 Numerator Consumer Study of Cannabis Usage2024 Numerator Consumer Study of Cannabis Usage
2024 Numerator Consumer Study of Cannabis UsageNeil Kimberley
 
Case study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detailCase study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detailAriel592675
 
Innovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdfInnovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdfrichard876048
 
Organizational Structure Running A Successful Business
Organizational Structure Running A Successful BusinessOrganizational Structure Running A Successful Business
Organizational Structure Running A Successful BusinessSeta Wicaksana
 
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu MenzaYouth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menzaictsugar
 
Buy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy Verified Accounts
 
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...ictsugar
 
Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...
Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...
Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...ShrutiBose4
 
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdfNewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdfKhaled Al Awadi
 
Memorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQMMemorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQMVoces Mineras
 
Digital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdfDigital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdfJos Voskuil
 
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort ServiceCall US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Servicecallgirls2057
 
Islamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in IslamabadIslamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in IslamabadAyesha Khan
 
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckPitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckHajeJanKamps
 
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCRashishs7044
 
Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03DallasHaselhorst
 
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607dollysharma2066
 
Kenya’s Coconut Value Chain by Gatsby Africa
Kenya’s Coconut Value Chain by Gatsby AfricaKenya’s Coconut Value Chain by Gatsby Africa
Kenya’s Coconut Value Chain by Gatsby Africaictsugar
 

Último (20)

Corporate Profile 47Billion Information Technology
Corporate Profile 47Billion Information TechnologyCorporate Profile 47Billion Information Technology
Corporate Profile 47Billion Information Technology
 
2024 Numerator Consumer Study of Cannabis Usage
2024 Numerator Consumer Study of Cannabis Usage2024 Numerator Consumer Study of Cannabis Usage
2024 Numerator Consumer Study of Cannabis Usage
 
Case study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detailCase study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detail
 
Innovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdfInnovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdf
 
Organizational Structure Running A Successful Business
Organizational Structure Running A Successful BusinessOrganizational Structure Running A Successful Business
Organizational Structure Running A Successful Business
 
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu MenzaYouth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
 
Buy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail Accounts
 
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...
 
Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...
Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...
Ms Motilal Padampat Sugar Mills vs. State of Uttar Pradesh & Ors. - A Milesto...
 
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdfNewBase  19 April  2024  Energy News issue - 1717 by Khaled Al Awadi.pdf
NewBase 19 April 2024 Energy News issue - 1717 by Khaled Al Awadi.pdf
 
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCREnjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
 
Memorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQMMemorándum de Entendimiento (MoU) entre Codelco y SQM
Memorándum de Entendimiento (MoU) entre Codelco y SQM
 
Digital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdfDigital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdf
 
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort ServiceCall US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
Call US-88OO1O2216 Call Girls In Mahipalpur Female Escort Service
 
Islamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in IslamabadIslamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in Islamabad
 
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckPitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
 
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
8447779800, Low rate Call girls in New Ashok Nagar Delhi NCR
 
Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03Cybersecurity Awareness Training Presentation v2024.03
Cybersecurity Awareness Training Presentation v2024.03
 
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
 
Kenya’s Coconut Value Chain by Gatsby Africa
Kenya’s Coconut Value Chain by Gatsby AfricaKenya’s Coconut Value Chain by Gatsby Africa
Kenya’s Coconut Value Chain by Gatsby Africa
 

Orion RESTful git API

  • 1. Orion: RESTful git API Tomasz Żarna Eclipse PlatformWorkspace/Orion, IBM
  • 2. Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. REST REST explained in 5 steps: ● Give every "thing" an ID ● Link "things" to each other ● Use standard methods ● Allow multiple representations ● Communicate statelessly
  • 3. Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. REST (cntd) Advantages ● universal support (programming languages, OSes, servers) ● proven scalability i.e. Wide Wide Web ● real machine-2-machine integration ● support for XML and other formats Some HTTP features: ● standardized verbs and response codes ● content negotiation ● redirection ● caching ● compression
  • 4. Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Server ● Jetty 6.1.x / javax.servlet 2.5 ● org.eclipse.equinox.http.registry.servlets / OSGi HttpService ○ class ○ alias
  • 5. Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. REST API: GET GET /gitapi/commit/master/file/a/?page=1 HTTP/1.1 200 OK { "Children" : [ { "AuthorName" : "Tomasz Zarna", "Children" : [{ }], "ContentLocation" : "/gitapi/commit/6d34f45b/file/a/? parts=body", "Message" : "Fix for bug 345325", "Location" : "/gitapi/commit/6d34f45b/file/a/", "Time" : 1304073355000, "DiffLocation" : "/gitapi/diff/6d34f45b/file/a/", }, { ... } }
  • 6. Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. REST API: POST POST /gitapi/clone/ { "GitUrl" : "git://github.com/eclipse/orion.server.git", "Path" : "/file/a/" } HTTP/1.1 201 CREATED { "Id" : "IOOD6ph8ABASBcDqmXX87w", "Location" : "/task/id/IOOD6ph8ABASBcDqmXX87w", "Message" : "Cloning git://github.com/eclipse/orion.server.git...", "PercentComplete" : 0, "Running" : true } GET {Location}
  • 7. Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. REST API: PUT PUT /gitapi/commit/6d34f45b/file/a/ { "TagName" : "v20110611" } HTTP/1.1 200 OK { "AuthorName" : "Tomasz Zarna", "Children" : [{ "v20110523", "v20110611"}], "ContentLocation" : "/gitapi/commit/6d34f45b/file/a/?parts=body", "Message" : "Fix for bug 345325", "Location" : "/gitapi/commit/6d34f45b/file/a/", "Time" : 1304073355000, "DiffLocation" : "/gitapi/diff/6d34f45b/file/a/" }
  • 8. Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. REST API: DELETE DELETE /gitapi/remote/{remoteName}/file/{id} HTTP/1.1 200 OK
  • 9. Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. git commands git-add git-commit git-mv git-show pack-pack-refs git-count-object git-am git-describe git-notes git-stash git-prune git-difftool git-archive git-diff git-pull git-status git-reflog git-fsck git-bisect git-fetch git-push git-submodule git-relink git-get-tar-commit-id git-branch git-format-patch git-rebase git-tag git-remote git-help git-bundle git-gc git-reset git-config git-repack git-merge-tree git-checkout git-grep git-rebase git-fast-export git-replace git-rerere git-cherry-pick git-init git-revert git-fast-import git-annotate git-rev-parse git-clean git-log git-rm gt-filter-branch git-blame git-verify-tag git-clone git-merge git-shortlog git-mergetool git-cherry git-whatchanged
  • 10. Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Testing ● JUnit + HttpUnit ● EclEmma coverage 84%
  • 11. Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Testing ● JUnit + HttpUnit ● EclEmma coverage 84%
  • 12. Orion: RESTful git API | Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. That's all folks
  • 13. Orion: RESTful git API| Copyright © IBM Corp., 2011. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Legal Notice ● IBM and the IBM logo are trademarks or registered trademarks of IBM Corporation, in the United States, other countries or both. ● Java and all Java-based marks, among others, are trademarks or registered trademarks of Sun Microsystems in the United States, other countries or both. ● Eclipse and the Eclipse logo are trademarks of Eclipse Foundation, Inc. ● Porky Pig image is in the public domain, see http: //commons.wikimedia.org/wiki/File:Thats_all_folks_cl% C3%A0ssic_-Daffy_Comando_1943_-_amb_porky.png ● Other company, product and service names may be trademarks or service marks of others.