SlideShare ist ein Scribd-Unternehmen logo
1 von 19
RESTify your AppsThe pyOCCI module Thijs Metsch Senior Software Engineer Grid and Cloud Technology tmetsch@platform.com
To RESTify your AppsorHow to Provide a Service to your customers {whatever}-Layer
How? / What? (Resource-aaS) Create, Retrieve, Update and Delete Resources  Your App What is a Resource? Resources Perform Actions and Link Resources Expose Resources across Boundaries
What is a Resource? The URI  (Resource representation)http://example.com/foo/bar  can be:
Pool of Resources What do you need? Resource How to identify, query, list, handle, link, group, perform actions and tag resources? Resource Resource Resource Resource Resource Resource
What it is 1 It’s Capabilities 2 What it belongs to (grouping) 3 What Categories tells youabout a Resource:
HTTP The only thing you need to do… Pool of Resources Resource pyOCCI module Resource Resource Resource HTTP Resource Resource Resource The ‘glue’ You App pyREST takes care of this
You NEED to: Map you Resources to REST-Resources by implementing: Create, Retrieve, Update, Delete and Action routines
You GET for free: A interface to your Resources, a way to identify a resources, manage resources, query capabilities, external RESTful interface, an integration point, a (Cloud) Service, Beer,… pyREST module deals with all the hard issues: HTTP, Content-Types, Security, Query interface, Renderings etc.
Flexible/Modular/Clear Separation A Look inside of pyOCCI Backend HTTP HeaderRendering Your App Backend HTTP text/uri-list Rendering OCCI Model* Backend HTTP Handling HTTP text/plain Rendering Backend Handles HTTP verbs (POST,PUT,DELETE,GET) & stuff (REST, Security, etc.) HTTP text/html Rendering … Backend defines categories it can handle(Automatic selection) Map HTTP Data to OCCI Model(Automatic selection) * http://www.occi-wg.org
Examples (1) Query int – shows what this Service can handle
Examples (2) Create New… What is it? See Query int. Actions & Links Attributes
Examples (3) Basically any Programming Language (Integration) CLI
? The pyOCCI module is part of pySSF: http://pyssf.sf.net Version: 0.2.19(This is pre- (Do not try this at home) -Alpha Software - also in pypi) LGPL Licensed © Platform Computing
BACKUP
Documentation
CI (Testing, etc…)
Code Quality
Work In Progress

Weitere ähnliche Inhalte

Ähnlich wie Restify Your Apps

O reilly sacon2018nyc - restful api design - master - v1.0
O reilly sacon2018nyc - restful api design - master - v1.0O reilly sacon2018nyc - restful api design - master - v1.0
O reilly sacon2018nyc - restful api design - master - v1.0Tom Hofte
 
Building Valuable Restful APIs - HRPHP 2015
Building Valuable Restful APIs - HRPHP 2015Building Valuable Restful APIs - HRPHP 2015
Building Valuable Restful APIs - HRPHP 2015Guillermo A. Fisher
 
Restful Best Practices
Restful Best PracticesRestful Best Practices
Restful Best PracticesBelighted
 
REST Architecture with use case and example
REST Architecture with use case and exampleREST Architecture with use case and example
REST Architecture with use case and exampleShailesh singh
 
REST Architecture with use case and example
REST Architecture with use case and exampleREST Architecture with use case and example
REST Architecture with use case and exampleShailesh singh
 
2004 01 10 Chef Sa V01
2004 01 10 Chef Sa V012004 01 10 Chef Sa V01
2004 01 10 Chef Sa V01jiali zhang
 
ANALYSIS OF ENTERPRISE SHARED RESOURCE INVOCATION SCHEME BASED ON HADOOP AND R
ANALYSIS OF ENTERPRISE SHARED RESOURCE INVOCATION SCHEME BASED ON HADOOP AND RANALYSIS OF ENTERPRISE SHARED RESOURCE INVOCATION SCHEME BASED ON HADOOP AND R
ANALYSIS OF ENTERPRISE SHARED RESOURCE INVOCATION SCHEME BASED ON HADOOP AND Rijaia
 
Analysis of Enterprise Shared Resource Invocation Scheme based on Hadoop and R
Analysis of Enterprise Shared Resource Invocation Scheme based on Hadoop and R Analysis of Enterprise Shared Resource Invocation Scheme based on Hadoop and R
Analysis of Enterprise Shared Resource Invocation Scheme based on Hadoop and R gerogepatton
 
FHIR intro and background at HL7 Germany 2014
FHIR intro and background at HL7 Germany 2014FHIR intro and background at HL7 Germany 2014
FHIR intro and background at HL7 Germany 2014Ewout Kramer
 
Moving into API documentation writing
Moving into API documentation writingMoving into API documentation writing
Moving into API documentation writingEllis Pratt
 
A comparative study between commercial and open source discovery tools
A comparative study between commercial and open source discovery toolsA comparative study between commercial and open source discovery tools
A comparative study between commercial and open source discovery toolsSusantaSethi3
 
JAX-RS. Developing RESTful APIs with Java
JAX-RS. Developing RESTful APIs with JavaJAX-RS. Developing RESTful APIs with Java
JAX-RS. Developing RESTful APIs with JavaJerry Kurian
 
xAPI: The Landscape
xAPI: The LandscapexAPI: The Landscape
xAPI: The LandscapeMegan Bowe
 
xAPI Camp - Learning Solutions
xAPI Camp - Learning SolutionsxAPI Camp - Learning Solutions
xAPI Camp - Learning SolutionsAaron Silvers
 

Ähnlich wie Restify Your Apps (20)

Modified REST Presentation
Modified REST PresentationModified REST Presentation
Modified REST Presentation
 
O reilly sacon2018nyc - restful api design - master - v1.0
O reilly sacon2018nyc - restful api design - master - v1.0O reilly sacon2018nyc - restful api design - master - v1.0
O reilly sacon2018nyc - restful api design - master - v1.0
 
Building Valuable Restful APIs - HRPHP 2015
Building Valuable Restful APIs - HRPHP 2015Building Valuable Restful APIs - HRPHP 2015
Building Valuable Restful APIs - HRPHP 2015
 
Restful Best Practices
Restful Best PracticesRestful Best Practices
Restful Best Practices
 
Api best practices
Api best practicesApi best practices
Api best practices
 
REST Architecture with use case and example
REST Architecture with use case and exampleREST Architecture with use case and example
REST Architecture with use case and example
 
REST Architecture with use case and example
REST Architecture with use case and exampleREST Architecture with use case and example
REST Architecture with use case and example
 
2004 01 10 Chef Sa V01
2004 01 10 Chef Sa V012004 01 10 Chef Sa V01
2004 01 10 Chef Sa V01
 
REST Presentation
REST PresentationREST Presentation
REST Presentation
 
Rest and Rails
Rest and RailsRest and Rails
Rest and Rails
 
ANALYSIS OF ENTERPRISE SHARED RESOURCE INVOCATION SCHEME BASED ON HADOOP AND R
ANALYSIS OF ENTERPRISE SHARED RESOURCE INVOCATION SCHEME BASED ON HADOOP AND RANALYSIS OF ENTERPRISE SHARED RESOURCE INVOCATION SCHEME BASED ON HADOOP AND R
ANALYSIS OF ENTERPRISE SHARED RESOURCE INVOCATION SCHEME BASED ON HADOOP AND R
 
Analysis of Enterprise Shared Resource Invocation Scheme based on Hadoop and R
Analysis of Enterprise Shared Resource Invocation Scheme based on Hadoop and R Analysis of Enterprise Shared Resource Invocation Scheme based on Hadoop and R
Analysis of Enterprise Shared Resource Invocation Scheme based on Hadoop and R
 
ReSTful API Final
ReSTful API FinalReSTful API Final
ReSTful API Final
 
FHIR intro and background at HL7 Germany 2014
FHIR intro and background at HL7 Germany 2014FHIR intro and background at HL7 Germany 2014
FHIR intro and background at HL7 Germany 2014
 
Moving into API documentation writing
Moving into API documentation writingMoving into API documentation writing
Moving into API documentation writing
 
A comparative study between commercial and open source discovery tools
A comparative study between commercial and open source discovery toolsA comparative study between commercial and open source discovery tools
A comparative study between commercial and open source discovery tools
 
JAX-RS. Developing RESTful APIs with Java
JAX-RS. Developing RESTful APIs with JavaJAX-RS. Developing RESTful APIs with Java
JAX-RS. Developing RESTful APIs with Java
 
Treinamento 1
Treinamento 1Treinamento 1
Treinamento 1
 
xAPI: The Landscape
xAPI: The LandscapexAPI: The Landscape
xAPI: The Landscape
 
xAPI Camp - Learning Solutions
xAPI Camp - Learning SolutionsxAPI Camp - Learning Solutions
xAPI Camp - Learning Solutions
 

Mehr von befreax

Suricate
SuricateSuricate
Suricatebefreax
 
OCCI Specification Walkthrough
OCCI Specification WalkthroughOCCI Specification Walkthrough
OCCI Specification Walkthroughbefreax
 
Open Cloud Computing Interface - OCCI Status update
Open Cloud Computing Interface - OCCI Status updateOpen Cloud Computing Interface - OCCI Status update
Open Cloud Computing Interface - OCCI Status updatebefreax
 
OCCI status update
OCCI status updateOCCI status update
OCCI status updatebefreax
 
Cloud Comp Challenges
Cloud Comp ChallengesCloud Comp Challenges
Cloud Comp Challengesbefreax
 
CCA09 Cloud Computing Standards and OCCI
CCA09 Cloud Computing Standards and OCCICCA09 Cloud Computing Standards and OCCI
CCA09 Cloud Computing Standards and OCCIbefreax
 
OCCI Introduction
OCCI IntroductionOCCI Introduction
OCCI Introductionbefreax
 
Open Cloud Frameworks - Open Standards for the Cloud Community
Open Cloud Frameworks - Open Standards for the Cloud CommunityOpen Cloud Frameworks - Open Standards for the Cloud Community
Open Cloud Frameworks - Open Standards for the Cloud Communitybefreax
 

Mehr von befreax (8)

Suricate
SuricateSuricate
Suricate
 
OCCI Specification Walkthrough
OCCI Specification WalkthroughOCCI Specification Walkthrough
OCCI Specification Walkthrough
 
Open Cloud Computing Interface - OCCI Status update
Open Cloud Computing Interface - OCCI Status updateOpen Cloud Computing Interface - OCCI Status update
Open Cloud Computing Interface - OCCI Status update
 
OCCI status update
OCCI status updateOCCI status update
OCCI status update
 
Cloud Comp Challenges
Cloud Comp ChallengesCloud Comp Challenges
Cloud Comp Challenges
 
CCA09 Cloud Computing Standards and OCCI
CCA09 Cloud Computing Standards and OCCICCA09 Cloud Computing Standards and OCCI
CCA09 Cloud Computing Standards and OCCI
 
OCCI Introduction
OCCI IntroductionOCCI Introduction
OCCI Introduction
 
Open Cloud Frameworks - Open Standards for the Cloud Community
Open Cloud Frameworks - Open Standards for the Cloud CommunityOpen Cloud Frameworks - Open Standards for the Cloud Community
Open Cloud Frameworks - Open Standards for the Cloud Community
 

Kürzlich hochgeladen

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 

Kürzlich hochgeladen (20)

HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 

Restify Your Apps

  • 1. RESTify your AppsThe pyOCCI module Thijs Metsch Senior Software Engineer Grid and Cloud Technology tmetsch@platform.com
  • 2. To RESTify your AppsorHow to Provide a Service to your customers {whatever}-Layer
  • 3. How? / What? (Resource-aaS) Create, Retrieve, Update and Delete Resources Your App What is a Resource? Resources Perform Actions and Link Resources Expose Resources across Boundaries
  • 4. What is a Resource? The URI (Resource representation)http://example.com/foo/bar can be:
  • 5. Pool of Resources What do you need? Resource How to identify, query, list, handle, link, group, perform actions and tag resources? Resource Resource Resource Resource Resource Resource
  • 6. What it is 1 It’s Capabilities 2 What it belongs to (grouping) 3 What Categories tells youabout a Resource:
  • 7. HTTP The only thing you need to do… Pool of Resources Resource pyOCCI module Resource Resource Resource HTTP Resource Resource Resource The ‘glue’ You App pyREST takes care of this
  • 8. You NEED to: Map you Resources to REST-Resources by implementing: Create, Retrieve, Update, Delete and Action routines
  • 9. You GET for free: A interface to your Resources, a way to identify a resources, manage resources, query capabilities, external RESTful interface, an integration point, a (Cloud) Service, Beer,… pyREST module deals with all the hard issues: HTTP, Content-Types, Security, Query interface, Renderings etc.
  • 10. Flexible/Modular/Clear Separation A Look inside of pyOCCI Backend HTTP HeaderRendering Your App Backend HTTP text/uri-list Rendering OCCI Model* Backend HTTP Handling HTTP text/plain Rendering Backend Handles HTTP verbs (POST,PUT,DELETE,GET) & stuff (REST, Security, etc.) HTTP text/html Rendering … Backend defines categories it can handle(Automatic selection) Map HTTP Data to OCCI Model(Automatic selection) * http://www.occi-wg.org
  • 11. Examples (1) Query int – shows what this Service can handle
  • 12. Examples (2) Create New… What is it? See Query int. Actions & Links Attributes
  • 13. Examples (3) Basically any Programming Language (Integration) CLI
  • 14. ? The pyOCCI module is part of pySSF: http://pyssf.sf.net Version: 0.2.19(This is pre- (Do not try this at home) -Alpha Software - also in pypi) LGPL Licensed © Platform Computing