SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Embedded Erlang, Nerves, and SumoBots
Embedded Erlang, Nerves, and SumoBotsEmbedded Erlang, Nerves, and SumoBots
Embedded Erlang, Nerves, and SumoBotsFrank Hunleth
 
Performance tips for Symfony2 & PHP
Performance tips for Symfony2 & PHPPerformance tips for Symfony2 & PHP
Performance tips for Symfony2 & PHPMax Romanovsky
 
Compilation of c
Compilation of cCompilation of c
Compilation of cWay2itech
 
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 WorldFrank Hunleth
 
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 ...Aljoscha Krettek
 
GNU Compiler Collection - August 2005
GNU Compiler Collection - August 2005GNU Compiler Collection - August 2005
GNU Compiler Collection - August 2005Saleem Ansari
 
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...Flink Forward
 
GNU GCC - what just a compiler...?
GNU GCC - what just a compiler...?GNU GCC - what just a compiler...?
GNU GCC - what just a compiler...?Saket Pathak
 
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 LOCNoam Elfanbaum
 
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...InfinIT - Innovationsnetværket for it
 
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-languageYouness Lasmak
 
OFI Overview 2019 Webinar
OFI Overview 2019 WebinarOFI Overview 2019 Webinar
OFI Overview 2019 Webinarseanhefty
 
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-18Yaoqing Gao
 

Was ist angesagt? (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
 

Andere mochten auch

Aspect-Oriented Programming for PHP
Aspect-Oriented Programming for PHPAspect-Oriented Programming for PHP
Aspect-Oriented Programming for PHPWilliam Candillon
 
Carrillo carrillo cevallos_presentacionfinal (1)
Carrillo carrillo cevallos_presentacionfinal  (1)Carrillo carrillo cevallos_presentacionfinal  (1)
Carrillo carrillo cevallos_presentacionfinal (1)Santiago Cevallos Castillo
 
распутин григорий ефимович
распутин григорий ефимовичраспутин григорий ефимович
распутин григорий ефимовичBudiprasetiya21
 
Краса у сучасному світі
Краса у сучасному світі Краса у сучасному світі
Краса у сучасному світі Даша Олійник
 
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...Peter Levenberg
 
Plan 2017 SOLAIAPPAN
Plan 2017 SOLAIAPPANPlan 2017 SOLAIAPPAN
Plan 2017 SOLAIAPPANSOLAIAPPAN A
 
Concierge development program 2016
Concierge development program 2016 Concierge development program 2016
Concierge development program 2016 Bagus Widi Kurnianto
 

Andere mochten auch (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
 

Ähnlich wie XREST Protocol

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...apidays
 
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 ToolsMiroslav Bajtoš
 
Scaling PostgreSQL with Skytools
Scaling PostgreSQL with SkytoolsScaling PostgreSQL with Skytools
Scaling PostgreSQL with SkytoolsGavin Roy
 
Gatekeeper: API gateway
Gatekeeper: API gatewayGatekeeper: API gateway
Gatekeeper: API gatewayChengHui Weng
 
H2O - the optimized HTTP server
H2O - the optimized HTTP serverH2O - the optimized HTTP server
H2O - the optimized HTTP serverKazuho Oku
 
BizTalk Server Extensibility
BizTalk Server ExtensibilityBizTalk Server Extensibility
BizTalk Server ExtensibilityBizTalk360
 
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 Cisco DevNet
 
.NET Core Today and Tomorrow
.NET Core Today and Tomorrow.NET Core Today and Tomorrow
.NET Core Today and TomorrowJon Galloway
 
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 DiveJon Galloway
 
Developing applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDKDeveloping applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDKHorea Porutiu
 
Driving containerd operations with gRPC
Driving containerd operations with gRPCDriving containerd operations with gRPC
Driving containerd operations with gRPCDocker, Inc.
 
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 PCFVMware Tanzu
 
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 aiCodeOps Technologies LLP
 
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 worldRachael L Moore
 
Балансировщики KEMP для Microsoft Lync, Skype for Business
Балансировщики KEMP для Microsoft Lync, Skype for BusinessБалансировщики KEMP для Microsoft Lync, Skype for Business
Балансировщики KEMP для Microsoft Lync, Skype for BusinessAlexander Zhuravlev, Ph.D.
 
WebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the WebWebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the WebVũ Nguyễn
 

Ähnlich wie XREST Protocol (20)

Web rtc 入門
Web rtc 入門Web rtc 入門
Web rtc 入門
 
dotNetConf2019
dotNetConf2019dotNetConf2019
dotNetConf2019
 
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
 
WebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the WebWebRTC - Brings Real-Time to the Web
WebRTC - Brings Real-Time to the Web
 

Mehr von William Candillon

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 MongoDBWilliam Candillon
 
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 & XQueryWilliam Candillon
 

Mehr von 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
 

Kürzlich hochgeladen

Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 

Kürzlich hochgeladen (20)

Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 

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