SlideShare a Scribd company logo
eXtensible REST Services Protocol
Plug-in Architectural Style for the Cloud
http://xrest.googlecode.com
Protocol Objectives

• Running the Web as Platform
• Unify the Experience and Implementation of
  Programmable Web Services


                                 Pub/Sub
        Browser        Blog       Plug-in


                       Social     Twitter
        Desktop       Network     Plug-in



          ...          Mail      Your Tool
Protocol Model

Clients:
 • Consume services on the host
 • Add plug-in references (extensions) to the host
   extension registry




         Browser                          Plug-in A


         Desktop           Host           Plug-in B


           ...                            Plug-in C
Protocol Model

Hosts:
 • Restful application (HTTP: RFC2616)
 • Extension registry (AtomPub: RFC5023)
 • Callback to plug-ins (Web Hooks: http://webhooks.org)



        Browser                         Plug-in A


        Desktop           Host          Plug-in B


           ...                          Plug-in C
Protocol Model


Plug-ins:
 • Receive callback parameters from the host
 • Can decorate the host response to the client.



         Browser                         Plug-in A


         Desktop          Host           Plug-in B


           ...                           Plug-in C
Protocol Runtime


               POST Plug-in A
               extension

     Browser                     Plug-in A


     Desktop              Host   Plug-in B


        ...                      Plug-in C
Protocol Runtime


                            GET Plug-in A
                          acknowledgement


     Browser                          Plug-in A


     Desktop       Host               Plug-in B


        ...                           Plug-in C
Protocol Runtime


                                 OK



     Browser              Plug-in A


     Desktop       Host   Plug-in B


        ...               Plug-in C
Protocol Runtime




                          OK

     Browser                   Plug-in A


     Desktop       Host        Plug-in B


        ...                    Plug-in C
Protocol Runtime




     Browser                          Plug-in A


     Desktop       Host               Plug-in B


        ...                           Plug-in C
                          The service has
                          been extended
Protocol Runtime



               REST call

     Browser                      Plug-in A


     Desktop               Host   Plug-in B


        ...                       Plug-in C
Protocol Runtime



                          Compute
                          response

     Browser                         Plug-in A


     Desktop       Host              Plug-in B


        ...                          Plug-in C
Protocol Runtime

                                POST
                           response body +
                          extension header


     Browser                         Plug-in A


     Desktop       Host              Plug-in B


        ...                          Plug-in C
Protocol Runtime

                                  Decorated
                               response body


     Browser              Plug-in A


     Desktop       Host   Plug-in B


        ...               Plug-in C
Protocol Runtime



                        Decorated
                     response body
     Browser                         Plug-in A


     Desktop       Host              Plug-in B


        ...                          Plug-in C
Scheduling



             Asynchronous Callbacks:
              • May be executed concurrently
              • Cannot decorate the host response



             Synchronous Callbacks:
              • Sequential execution
              • Can decorate the host response
              • Flexible to failures
Resources


Specification: http://tiny.cc/xrest



Questions and feedbacks:
xrest@googlegroups.com

More infos:
http://xrest.googlecode.com

More Related Content

What's hot

IBM XL Compilers Performance Tuning 2016-11-18
IBM XL Compilers Performance Tuning 2016-11-18IBM XL Compilers Performance Tuning 2016-11-18
IBM XL Compilers Performance Tuning 2016-11-18
Yaoqing Gao
 

What's hot (20)

Embedded Erlang, Nerves, and SumoBots
Embedded Erlang, Nerves, and SumoBotsEmbedded Erlang, Nerves, and SumoBots
Embedded Erlang, Nerves, and SumoBots
 
Performance tips for Symfony2 & PHP
Performance tips for Symfony2 & PHPPerformance tips for Symfony2 & PHP
Performance tips for Symfony2 & PHP
 
Compilation of c
Compilation of cCompilation of c
Compilation of c
 
Using Erlang in an Embedded and Cross-Compiled World
Using Erlang in an Embedded and Cross-Compiled WorldUsing Erlang in an Embedded and Cross-Compiled World
Using Erlang in an Embedded and Cross-Compiled World
 
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...Talk Python To Me: Stream Processing in your favourite Language with Beam on ...
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...
 
GNU Compiler Collection - August 2005
GNU Compiler Collection - August 2005GNU Compiler Collection - August 2005
GNU Compiler Collection - August 2005
 
Pc54
Pc54Pc54
Pc54
 
C compiler-ide
C compiler-ideC compiler-ide
C compiler-ide
 
Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...
Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...
Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...
 
GNU GCC - what just a compiler...?
GNU GCC - what just a compiler...?GNU GCC - what just a compiler...?
GNU GCC - what just a compiler...?
 
C intro
C introC intro
C intro
 
Let’s Build a Python Profiler in 25 LOC
Let’s Build a Python Profiler in 25 LOCLet’s Build a Python Profiler in 25 LOC
Let’s Build a Python Profiler in 25 LOC
 
C under Linux
C under LinuxC under Linux
C under Linux
 
The Casting Demonstrator. Using the Raspberry Pi for graphics and simulated f...
The Casting Demonstrator. Using the Raspberry Pi for graphics and simulated f...The Casting Demonstrator. Using the Raspberry Pi for graphics and simulated f...
The Casting Demonstrator. Using the Raspberry Pi for graphics and simulated f...
 
Micro servoces-choose-the-right-tools-programing-language
Micro servoces-choose-the-right-tools-programing-languageMicro servoces-choose-the-right-tools-programing-language
Micro servoces-choose-the-right-tools-programing-language
 
2021laravelconftwslides6
2021laravelconftwslides62021laravelconftwslides6
2021laravelconftwslides6
 
OFI Overview 2019 Webinar
OFI Overview 2019 WebinarOFI Overview 2019 Webinar
OFI Overview 2019 Webinar
 
IBM XL Compilers Performance Tuning 2016-11-18
IBM XL Compilers Performance Tuning 2016-11-18IBM XL Compilers Performance Tuning 2016-11-18
IBM XL Compilers Performance Tuning 2016-11-18
 
Konstruktion omkring en Raspberry Pi
Konstruktion omkring en Raspberry PiKonstruktion omkring en Raspberry Pi
Konstruktion omkring en Raspberry Pi
 
Csc240 -lecture_3
Csc240  -lecture_3Csc240  -lecture_3
Csc240 -lecture_3
 

Viewers also liked

Viewers also liked (16)

XQuery in the Cloud
XQuery in the CloudXQuery in the Cloud
XQuery in the Cloud
 
JSONiq - The SQL of NoSQL
JSONiq - The SQL of NoSQLJSONiq - The SQL of NoSQL
JSONiq - The SQL of NoSQL
 
Memorias ram2
Memorias ram2Memorias ram2
Memorias ram2
 
Aspect-Oriented Programming for PHP
Aspect-Oriented Programming for PHPAspect-Oriented Programming for PHP
Aspect-Oriented Programming for PHP
 
Ortografía
OrtografíaOrtografía
Ortografía
 
Carrillo carrillo cevallos_presentacionfinal (1)
Carrillo carrillo cevallos_presentacionfinal  (1)Carrillo carrillo cevallos_presentacionfinal  (1)
Carrillo carrillo cevallos_presentacionfinal (1)
 
распутин григорий ефимович
распутин григорий ефимовичраспутин григорий ефимович
распутин григорий ефимович
 
Краса у сучасному світі
Краса у сучасному світі Краса у сучасному світі
Краса у сучасному світі
 
Arbitration and Choice of Law in Sub-Saharan Africa, Peter N. Levenberg, Flor...
Arbitration and Choice of Law in Sub-Saharan Africa, Peter N. Levenberg, Flor...Arbitration and Choice of Law in Sub-Saharan Africa, Peter N. Levenberg, Flor...
Arbitration and Choice of Law in Sub-Saharan Africa, Peter N. Levenberg, Flor...
 
Mapa mental
Mapa mentalMapa mental
Mapa mental
 
Nrf 237-pemex-2009
Nrf 237-pemex-2009Nrf 237-pemex-2009
Nrf 237-pemex-2009
 
D01 c
D01 cD01 c
D01 c
 
Plan 2017 SOLAIAPPAN
Plan 2017 SOLAIAPPANPlan 2017 SOLAIAPPAN
Plan 2017 SOLAIAPPAN
 
Nrf 053-pemex-2006 (1)
Nrf 053-pemex-2006 (1)Nrf 053-pemex-2006 (1)
Nrf 053-pemex-2006 (1)
 
Cibernetica 2
Cibernetica 2Cibernetica 2
Cibernetica 2
 
Concierge development program 2016
Concierge development program 2016 Concierge development program 2016
Concierge development program 2016
 

Similar to XREST Protocol

Scaling PostgreSQL with Skytools
Scaling PostgreSQL with SkytoolsScaling PostgreSQL with Skytools
Scaling PostgreSQL with Skytools
Gavin Roy
 
Балансировщики KEMP для Microsoft Lync, Skype for Business
Балансировщики KEMP для Microsoft Lync, Skype for BusinessБалансировщики KEMP для Microsoft Lync, Skype for Business
Балансировщики KEMP для Microsoft Lync, Skype for Business
Alexander Zhuravlev, Ph.D.
 

Similar to XREST Protocol (20)

Web rtc 入門
Web rtc 入門Web rtc 入門
Web rtc 入門
 
dotNetConf2019
dotNetConf2019dotNetConf2019
dotNetConf2019
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in Choreo
 
APIdays Helsinki 2019 - gRPC: Lightning Fast, Self-Documenting APIs with Moha...
APIdays Helsinki 2019 - gRPC: Lightning Fast, Self-Documenting APIs with Moha...APIdays Helsinki 2019 - gRPC: Lightning Fast, Self-Documenting APIs with Moha...
APIdays Helsinki 2019 - gRPC: Lightning Fast, Self-Documenting APIs with Moha...
 
The Internal Architecture of Chrome Developer Tools
The Internal Architecture of Chrome Developer ToolsThe Internal Architecture of Chrome Developer Tools
The Internal Architecture of Chrome Developer Tools
 
Scaling PostgreSQL with Skytools
Scaling PostgreSQL with SkytoolsScaling PostgreSQL with Skytools
Scaling PostgreSQL with Skytools
 
Web server
Web serverWeb server
Web server
 
Gatekeeper: API gateway
Gatekeeper: API gatewayGatekeeper: API gateway
Gatekeeper: API gateway
 
H2O - the optimized HTTP server
H2O - the optimized HTTP serverH2O - the optimized HTTP server
H2O - the optimized HTTP server
 
BizTalk Server Extensibility
BizTalk Server ExtensibilityBizTalk Server Extensibility
BizTalk Server Extensibility
 
From ZERO to REST in an hour
From ZERO to REST in an hour From ZERO to REST in an hour
From ZERO to REST in an hour
 
.NET Core Today and Tomorrow
.NET Core Today and Tomorrow.NET Core Today and Tomorrow
.NET Core Today and Tomorrow
 
ASP.NET Core 3.0 Deep Dive
ASP.NET Core 3.0 Deep DiveASP.NET Core 3.0 Deep Dive
ASP.NET Core 3.0 Deep Dive
 
Developing applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDKDeveloping applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDK
 
Driving containerd operations with gRPC
Driving containerd operations with gRPCDriving containerd operations with gRPC
Driving containerd operations with gRPC
 
How to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCFHow to Scale Operations for a Multi-Cloud Platform using PCF
How to Scale Operations for a Multi-Cloud Platform using PCF
 
Improve customer engagement and productivity with conversational ai
Improve customer engagement and productivity with conversational aiImprove customer engagement and productivity with conversational ai
Improve customer engagement and productivity with conversational ai
 
Deep dive into serverless on Google Cloud
Deep dive into serverless on Google CloudDeep dive into serverless on Google Cloud
Deep dive into serverless on Google Cloud
 
Distributing UI Libraries: in a post Web-Component world
Distributing UI Libraries: in a post Web-Component worldDistributing UI Libraries: in a post Web-Component world
Distributing UI Libraries: in a post Web-Component world
 
Балансировщики KEMP для Microsoft Lync, Skype for Business
Балансировщики KEMP для Microsoft Lync, Skype for BusinessБалансировщики KEMP для Microsoft Lync, Skype for Business
Балансировщики KEMP для Microsoft Lync, Skype for Business
 

More from William Candillon

More from William Candillon (7)

Scalable XQuery Processing with Zorba on top of MongoDB
Scalable XQuery Processing with Zorba on top of MongoDBScalable XQuery Processing with Zorba on top of MongoDB
Scalable XQuery Processing with Zorba on top of MongoDB
 
XQuery Rocks
XQuery RocksXQuery Rocks
XQuery Rocks
 
Cutting Edge Data Processing with PHP & XQuery
Cutting Edge Data Processing with PHP & XQueryCutting Edge Data Processing with PHP & XQuery
Cutting Edge Data Processing with PHP & XQuery
 
Not your Grandma's XQuery
Not your Grandma's XQueryNot your Grandma's XQuery
Not your Grandma's XQuery
 
XQuery Design Patterns
XQuery Design PatternsXQuery Design Patterns
XQuery Design Patterns
 
Extending and scripting PDT
Extending and scripting PDTExtending and scripting PDT
Extending and scripting PDT
 
My Summer of Code
My Summer of CodeMy Summer of Code
My Summer of Code
 

Recently uploaded

Recently uploaded (20)

A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Transforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UXTransforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UX
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
Intelligent Gimbal FINAL PAPER Engineering.pdf
Intelligent Gimbal FINAL PAPER Engineering.pdfIntelligent Gimbal FINAL PAPER Engineering.pdf
Intelligent Gimbal FINAL PAPER Engineering.pdf
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 

XREST Protocol

  • 1. eXtensible REST Services Protocol Plug-in Architectural Style for the Cloud http://xrest.googlecode.com
  • 2. Protocol Objectives • Running the Web as Platform • Unify the Experience and Implementation of Programmable Web Services Pub/Sub Browser Blog Plug-in Social Twitter Desktop Network Plug-in ... Mail Your Tool
  • 3. Protocol Model Clients: • Consume services on the host • Add plug-in references (extensions) to the host extension registry Browser Plug-in A Desktop Host Plug-in B ... Plug-in C
  • 4. Protocol Model Hosts: • Restful application (HTTP: RFC2616) • Extension registry (AtomPub: RFC5023) • Callback to plug-ins (Web Hooks: http://webhooks.org) Browser Plug-in A Desktop Host Plug-in B ... Plug-in C
  • 5. Protocol Model Plug-ins: • Receive callback parameters from the host • Can decorate the host response to the client. Browser Plug-in A Desktop Host Plug-in B ... Plug-in C
  • 6. Protocol Runtime POST Plug-in A extension Browser Plug-in A Desktop Host Plug-in B ... Plug-in C
  • 7. Protocol Runtime GET Plug-in A acknowledgement Browser Plug-in A Desktop Host Plug-in B ... Plug-in C
  • 8. Protocol Runtime OK Browser Plug-in A Desktop Host Plug-in B ... Plug-in C
  • 9. Protocol Runtime OK Browser Plug-in A Desktop Host Plug-in B ... Plug-in C
  • 10. Protocol Runtime Browser Plug-in A Desktop Host Plug-in B ... Plug-in C The service has been extended
  • 11. Protocol Runtime REST call Browser Plug-in A Desktop Host Plug-in B ... Plug-in C
  • 12. Protocol Runtime Compute response Browser Plug-in A Desktop Host Plug-in B ... Plug-in C
  • 13. Protocol Runtime POST response body + extension header Browser Plug-in A Desktop Host Plug-in B ... Plug-in C
  • 14. Protocol Runtime Decorated response body Browser Plug-in A Desktop Host Plug-in B ... Plug-in C
  • 15. Protocol Runtime Decorated response body Browser Plug-in A Desktop Host Plug-in B ... Plug-in C
  • 16. Scheduling Asynchronous Callbacks: • May be executed concurrently • Cannot decorate the host response Synchronous Callbacks: • Sequential execution • Can decorate the host response • Flexible to failures
  • 17. Resources Specification: http://tiny.cc/xrest Questions and feedbacks: xrest@googlegroups.com More infos: http://xrest.googlecode.com