SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
Introducing REST


          Dong Liu
    Dept. of Computer Science
      Univ. of Saskatchewan
        dong.liu@usask.ca
http://blogs.usask.ca/dong_notes/
Agenda

   What is REST
   RESTful services
   Comparing RESTful and SOAP-based
   approaches
   Useful resources




   Jan. 8 2008    Dong Liu
REST

     Representational State Transfer
          The term comes from Roy Fielding’s PhD work
          More practical than theoretical
     It is an architectural style, not a technology, nor
     an architecture
          Software architecture = {Elements, Constraints,
          Rationale} *
          An architectural style abstracts elements and
          constraints from various specific architectures *
          Analogy: designs and design pattern
 * Perry & Wolf quot;Foundations for the study of software architecture,quot; SIGSOFT Softw. Eng. Notes. ACM,
 vol. 17, pp. 40-52, 1992.


      Jan. 8 2008                               Dong Liu
Deriving REST




                                                                                         RR: replicated repository
   from Roy T. Fielding quot;Architectural styles and the design of network-based software
   architectures,quot; University of California, Irvine, 2000.                               $: cache
                                                                                         CS: client-server
                                                                                         LS: layered system
                                                                                         S: stateless
                                                                                         VM: virtual machine
                                                                                         COD: code on demand
                                                                                         U: uniform interface


    Jan. 8 2008                                        Dong Liu
Uniform interface

    Resources are identified by ONE resource
    identifier mechanism
    Access methods are the same for all
    resources
    Resources are manipulated by exchanging
    representations
    Representations are in self-descriptive
    messages
    Hypermedia acts as the engine of
    application state

    Jan. 8 2008      Dong Liu
REST rationale

     Maximize reuse
     Minimize coupling
     Eliminate partial failure condition
     Scale without bound
     Simplify


   from Roy T. Fielding quot;The Rest of REST,quot; RailsConf Europe, 2007.




     Jan. 8 2008                                Dong Liu
Generic process to design RESTful services

  1. Identify resources
  2. Design URIs
  3. Expose a subset of the uniform interface
  4. Design the representations from and to the
     client
  5. Integrate this resource into existing
     resources, using hypermedia links and forms
  6. Consider typical flows
  7. Consider error conditions
  A revised version of P216 in Leonard Richardson & Sam Ruby quot;RESTful Web Services,quot; O'Reilly, 2007.



       Jan. 8 2008                              Dong Liu
RESTful design of del.icio.us services (1)




  The example comes from Leonard Richardson & Sam Ruby quot;RESTful Web Services,quot; O'Reilly, 2007.




       Jan. 8 2008                             Dong Liu
RESTful design of del.icio.us services (2)




    Jan. 8 2008       Dong Liu
RESTful design of del.icio.us services (3)




    Jan. 8 2008       Dong Liu
WS stack




  from http://www.innoq.com/resources/ws-standards-poster/
    Jan. 8 2008                                    Dong Liu
Interoperability?




                     Support for the Basic Profile is the
                     baseline for interoperable Web services.




                                                                 from http://www.ws-i.org/Default.aspx
                     Customers should demand that all of
                     their Web services-enabled technology
                     be compliant with the Basic Profile, and
                     that in turn will lay the foundation for
                     Web services to fulfill their promise and
                     provide technology independent
                     interoperability.

                     Dan Sholler, Gartner
    Jan. 8 2008     Dong Liu
WS-Babel




                 from http://www.flickr.com/photos/psd/1805565187/in/set-72157602805227511/


   Jan. 8 2008                                   Dong Liu
WS-Addressing




    from http://www.flickr.com/photos/psd/406077535/in/set-72157602131510927/




   Jan. 8 2008                                   Dong Liu
Jan. 8 2008
                                                                      The Web is agreement




 Dong Liu     from http://www.archive.org/details/TheWebIsAgreement
Two must-read’s




   Jan. 8 2008    Dong Liu
The community
                       Yahoo rest-discuss group
                       Steve Vinoski
                       Paul Downey
                       Sam Ruby
                       Bill de hÓra
                       Joe Gregorio
                       Mark Nottingham
                       Pete Lacey
                       Stefan Tilkov
                       Stuart Charlton
                       Mark Baker
                       …


   Jan. 8 2008   Dong Liu
Thanks

Más contenido relacionado

Similar a Introducing REST

Introducing Rest
Introducing RestIntroducing Rest
Introducing Restdongliu
 
The Internet as Web Services: introduction to ReST
The Internet as Web Services: introduction to ReSTThe Internet as Web Services: introduction to ReST
The Internet as Web Services: introduction to ReSTBruno Kessler Foundation
 
Oopsla 2007 - The Web: Distributed Objects Realized!
Oopsla 2007 - The Web: Distributed Objects Realized!Oopsla 2007 - The Web: Distributed Objects Realized!
Oopsla 2007 - The Web: Distributed Objects Realized!Stuart Charlton
 
Semantic Annotation and Search for Resources in the Next Generation Web
Semantic Annotation and Search for Resources in the Next Generation WebSemantic Annotation and Search for Resources in the Next Generation Web
Semantic Annotation and Search for Resources in the Next Generation Webajithranabahu
 
OAuth and REST web services
OAuth and REST web servicesOAuth and REST web services
OAuth and REST web servicessullis
 
WCF Data Services - Bandung Charity Event - 2010
WCF Data Services  - Bandung Charity Event - 2010WCF Data Services  - Bandung Charity Event - 2010
WCF Data Services - Bandung Charity Event - 2010Andri Yadi
 
Leveraging The Web 2.0 Movement, Dion Hinchliffe
Leveraging The Web 2.0 Movement, Dion HinchliffeLeveraging The Web 2.0 Movement, Dion Hinchliffe
Leveraging The Web 2.0 Movement, Dion HinchliffeGiuliano Prati
 
Cavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Cavalcare l'onda del Web 2.0 - Dion HinchcliffeCavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Cavalcare l'onda del Web 2.0 - Dion HinchcliffeTommaso Sorchiotti
 
Developing Distributed Web Applications, Where does REST fit in?
Developing Distributed Web Applications, Where does REST fit in?Developing Distributed Web Applications, Where does REST fit in?
Developing Distributed Web Applications, Where does REST fit in?Srinath Perera
 
Paul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA RegistryPaul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA Registrydeimos
 
05 architectural styles
05 architectural styles05 architectural styles
05 architectural stylesMajong DevJfu
 
Connecting to Data from Windows Phone 8
Connecting to Data from Windows Phone 8Connecting to Data from Windows Phone 8
Connecting to Data from Windows Phone 8Woodruff Solutions LLC
 
IRJET- Rest API for E-Commerce Site
IRJET- Rest API for E-Commerce SiteIRJET- Rest API for E-Commerce Site
IRJET- Rest API for E-Commerce SiteIRJET Journal
 
Introduction to REST and Jersey
Introduction to REST and JerseyIntroduction to REST and Jersey
Introduction to REST and JerseyChris Winters
 
Cs 1023 lec 13 web (week 4)
Cs 1023 lec 13 web (week 4)Cs 1023 lec 13 web (week 4)
Cs 1023 lec 13 web (week 4)stanbridge
 
Umit Yalcinalp Enterprise Mashupsfor S O A
Umit  Yalcinalp    Enterprise Mashupsfor S O AUmit  Yalcinalp    Enterprise Mashupsfor S O A
Umit Yalcinalp Enterprise Mashupsfor S O ASOA Symposium
 
REST and REST-fulness
REST and REST-fulnessREST and REST-fulness
REST and REST-fulnessDavid Waite
 
Solving Real Problems Using Linked Data
Solving Real Problems Using Linked DataSolving Real Problems Using Linked Data
Solving Real Problems Using Linked Datarumito
 
LA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented ArchitectureLA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented ArchitectureDan Yoder
 

Similar a Introducing REST (20)

Introducing Rest
Introducing RestIntroducing Rest
Introducing Rest
 
The Internet as Web Services: introduction to ReST
The Internet as Web Services: introduction to ReSTThe Internet as Web Services: introduction to ReST
The Internet as Web Services: introduction to ReST
 
Oopsla 2007 - The Web: Distributed Objects Realized!
Oopsla 2007 - The Web: Distributed Objects Realized!Oopsla 2007 - The Web: Distributed Objects Realized!
Oopsla 2007 - The Web: Distributed Objects Realized!
 
Semantic Annotation and Search for Resources in the Next Generation Web
Semantic Annotation and Search for Resources in the Next Generation WebSemantic Annotation and Search for Resources in the Next Generation Web
Semantic Annotation and Search for Resources in the Next Generation Web
 
OAuth and REST web services
OAuth and REST web servicesOAuth and REST web services
OAuth and REST web services
 
Introduction to Web Services
Introduction to Web ServicesIntroduction to Web Services
Introduction to Web Services
 
WCF Data Services - Bandung Charity Event - 2010
WCF Data Services  - Bandung Charity Event - 2010WCF Data Services  - Bandung Charity Event - 2010
WCF Data Services - Bandung Charity Event - 2010
 
Leveraging The Web 2.0 Movement, Dion Hinchliffe
Leveraging The Web 2.0 Movement, Dion HinchliffeLeveraging The Web 2.0 Movement, Dion Hinchliffe
Leveraging The Web 2.0 Movement, Dion Hinchliffe
 
Cavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Cavalcare l'onda del Web 2.0 - Dion HinchcliffeCavalcare l'onda del Web 2.0 - Dion Hinchcliffe
Cavalcare l'onda del Web 2.0 - Dion Hinchcliffe
 
Developing Distributed Web Applications, Where does REST fit in?
Developing Distributed Web Applications, Where does REST fit in?Developing Distributed Web Applications, Where does REST fit in?
Developing Distributed Web Applications, Where does REST fit in?
 
Paul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA RegistryPaul Fremantle Restful SOA Registry
Paul Fremantle Restful SOA Registry
 
05 architectural styles
05 architectural styles05 architectural styles
05 architectural styles
 
Connecting to Data from Windows Phone 8
Connecting to Data from Windows Phone 8Connecting to Data from Windows Phone 8
Connecting to Data from Windows Phone 8
 
IRJET- Rest API for E-Commerce Site
IRJET- Rest API for E-Commerce SiteIRJET- Rest API for E-Commerce Site
IRJET- Rest API for E-Commerce Site
 
Introduction to REST and Jersey
Introduction to REST and JerseyIntroduction to REST and Jersey
Introduction to REST and Jersey
 
Cs 1023 lec 13 web (week 4)
Cs 1023 lec 13 web (week 4)Cs 1023 lec 13 web (week 4)
Cs 1023 lec 13 web (week 4)
 
Umit Yalcinalp Enterprise Mashupsfor S O A
Umit  Yalcinalp    Enterprise Mashupsfor S O AUmit  Yalcinalp    Enterprise Mashupsfor S O A
Umit Yalcinalp Enterprise Mashupsfor S O A
 
REST and REST-fulness
REST and REST-fulnessREST and REST-fulness
REST and REST-fulness
 
Solving Real Problems Using Linked Data
Solving Real Problems Using Linked DataSolving Real Problems Using Linked Data
Solving Real Problems Using Linked Data
 
LA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented ArchitectureLA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented Architecture
 

Más de elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de containerelliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Webelliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Designelliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebookelliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Studyelliando dias
 

Más de elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Último

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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

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...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Introducing REST

  • 1. Introducing REST Dong Liu Dept. of Computer Science Univ. of Saskatchewan dong.liu@usask.ca http://blogs.usask.ca/dong_notes/
  • 2. Agenda What is REST RESTful services Comparing RESTful and SOAP-based approaches Useful resources Jan. 8 2008 Dong Liu
  • 3. REST Representational State Transfer The term comes from Roy Fielding’s PhD work More practical than theoretical It is an architectural style, not a technology, nor an architecture Software architecture = {Elements, Constraints, Rationale} * An architectural style abstracts elements and constraints from various specific architectures * Analogy: designs and design pattern * Perry & Wolf quot;Foundations for the study of software architecture,quot; SIGSOFT Softw. Eng. Notes. ACM, vol. 17, pp. 40-52, 1992. Jan. 8 2008 Dong Liu
  • 4. Deriving REST RR: replicated repository from Roy T. Fielding quot;Architectural styles and the design of network-based software architectures,quot; University of California, Irvine, 2000. $: cache CS: client-server LS: layered system S: stateless VM: virtual machine COD: code on demand U: uniform interface Jan. 8 2008 Dong Liu
  • 5. Uniform interface Resources are identified by ONE resource identifier mechanism Access methods are the same for all resources Resources are manipulated by exchanging representations Representations are in self-descriptive messages Hypermedia acts as the engine of application state Jan. 8 2008 Dong Liu
  • 6. REST rationale Maximize reuse Minimize coupling Eliminate partial failure condition Scale without bound Simplify from Roy T. Fielding quot;The Rest of REST,quot; RailsConf Europe, 2007. Jan. 8 2008 Dong Liu
  • 7. Generic process to design RESTful services 1. Identify resources 2. Design URIs 3. Expose a subset of the uniform interface 4. Design the representations from and to the client 5. Integrate this resource into existing resources, using hypermedia links and forms 6. Consider typical flows 7. Consider error conditions A revised version of P216 in Leonard Richardson & Sam Ruby quot;RESTful Web Services,quot; O'Reilly, 2007. Jan. 8 2008 Dong Liu
  • 8. RESTful design of del.icio.us services (1) The example comes from Leonard Richardson & Sam Ruby quot;RESTful Web Services,quot; O'Reilly, 2007. Jan. 8 2008 Dong Liu
  • 9. RESTful design of del.icio.us services (2) Jan. 8 2008 Dong Liu
  • 10. RESTful design of del.icio.us services (3) Jan. 8 2008 Dong Liu
  • 11. WS stack from http://www.innoq.com/resources/ws-standards-poster/ Jan. 8 2008 Dong Liu
  • 12. Interoperability? Support for the Basic Profile is the baseline for interoperable Web services. from http://www.ws-i.org/Default.aspx Customers should demand that all of their Web services-enabled technology be compliant with the Basic Profile, and that in turn will lay the foundation for Web services to fulfill their promise and provide technology independent interoperability. Dan Sholler, Gartner Jan. 8 2008 Dong Liu
  • 13. WS-Babel from http://www.flickr.com/photos/psd/1805565187/in/set-72157602805227511/ Jan. 8 2008 Dong Liu
  • 14. WS-Addressing from http://www.flickr.com/photos/psd/406077535/in/set-72157602131510927/ Jan. 8 2008 Dong Liu
  • 15. Jan. 8 2008 The Web is agreement Dong Liu from http://www.archive.org/details/TheWebIsAgreement
  • 16. Two must-read’s Jan. 8 2008 Dong Liu
  • 17. The community Yahoo rest-discuss group Steve Vinoski Paul Downey Sam Ruby Bill de hÓra Joe Gregorio Mark Nottingham Pete Lacey Stefan Tilkov Stuart Charlton Mark Baker … Jan. 8 2008 Dong Liu