SlideShare uma empresa Scribd logo
1 de 16
11/16/12



Drupal As A RESTful Backend
For Client Side Applications
For Client Side Applications
We’re
                                      hiring!




          Arvin Singla                  207-90C Centurian Dr

Contact   @arvinsingla                  Markham, Ontario
          arvin@myplanetdigital.com     L3R 8C5


us:
Get
ourselves
arRESTed
ourselves
arRESTed
REpresentational State Transfer

         • Architectural Style
           – Many ways to implement


         • 5 Primary Constraints to
           be considered “RESTful”
           –   Client / Server
           –   Stateless
           –   Cacheable
           –   Layered System
           –   Uniform Interface
wRESTling
with the
web
with the
web
Why do we REST?

       • Client side and Mobile
         Applications
         – Apps load fast, data comes after
         – Local caching
       • API data access
         – Allow others to use your data
RESTful Web API

       • Web service implemented
         using HTTP and the
         principles of REST

       • Clients interact with
         RESTful servers over
         HTTP methods
         – Create (POST)
         – Read (GET)
         – Update (PUT)
RESTrain
yourself from
the
excitement!
the
excitement!
the
Services Module (3.x)

           – Creates URL callback endpoints for
             integrating external applications

           – Supports multiple interfaces including
             REST, XMLRPC, JSON, JSON-RPC,
             SOAP, AMF, etc.
Services Module (3.x)

           – Supports Drupal core resources, third
             party integration is done with modules

           – Authentication and OAUTH support

           – Performs a full bootstrap :(

           – Caching in 7.x-dev YAY! (Issue
             #1791978)
Services Endpoints
       Create: POST
       /[endpoint_path]/[resource] + body
       Retrieve: GET
       /[endpoint_path]/[resource]/[resource_id]
       Update: PUT
       /[endpoint_path]/[resource]/[resource_id] + body
       Delete: DELETE
       /[endpoint_path]/[resource]/[resource_id]
Demo time!
cRESTing
towards the future
towards the future
Drupal 8: The Promise Land

        • WSCCI: Web Services
          and Context Core
          Initiative
          – Utilizing Symfony 2 HTTP services
          – Native RESTful services baked into Core
qRESTions?

Mais conteúdo relacionado

Mais procurados

Lecture #5 Introduction to rails
Lecture #5 Introduction to railsLecture #5 Introduction to rails
Lecture #5 Introduction to railsEvgeniy Hinyuk
 
Coursera's Adoption of Cassandra
Coursera's Adoption of CassandraCoursera's Adoption of Cassandra
Coursera's Adoption of CassandraDataStax Academy
 
[WSO2Con EU 2017] File Processing and Websockets with Ballerina
[WSO2Con EU 2017] File Processing and Websockets with Ballerina[WSO2Con EU 2017] File Processing and Websockets with Ballerina
[WSO2Con EU 2017] File Processing and Websockets with BallerinaWSO2
 
introduction about REST API
introduction about REST APIintroduction about REST API
introduction about REST APIAmilaSilva13
 
NoSQL Database in .NET Apps
NoSQL Database in .NET AppsNoSQL Database in .NET Apps
NoSQL Database in .NET AppsShiju Varghese
 
Barcamp Macau 2014 - Introduction to AWS
Barcamp Macau 2014 - Introduction to AWSBarcamp Macau 2014 - Introduction to AWS
Barcamp Macau 2014 - Introduction to AWSWong Hoi Sing Edison
 
Why to upgrade to SQLServer 2012?
Why to upgrade to SQLServer 2012?Why to upgrade to SQLServer 2012?
Why to upgrade to SQLServer 2012?Sarabpreet Anand
 
[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with Ballerina
[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with Ballerina[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with Ballerina
[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with BallerinaWSO2
 
SaaS App Development with Windows Cartridge
SaaS App Development with Windows Cartridge SaaS App Development with Windows Cartridge
SaaS App Development with Windows Cartridge WSO2
 
SUE AGILE Architecture (English)
SUE AGILE Architecture (English)SUE AGILE Architecture (English)
SUE AGILE Architecture (English)Sabino Labarile
 

Mais procurados (12)

Lecture #5 Introduction to rails
Lecture #5 Introduction to railsLecture #5 Introduction to rails
Lecture #5 Introduction to rails
 
Coursera's Adoption of Cassandra
Coursera's Adoption of CassandraCoursera's Adoption of Cassandra
Coursera's Adoption of Cassandra
 
[WSO2Con EU 2017] File Processing and Websockets with Ballerina
[WSO2Con EU 2017] File Processing and Websockets with Ballerina[WSO2Con EU 2017] File Processing and Websockets with Ballerina
[WSO2Con EU 2017] File Processing and Websockets with Ballerina
 
introduction about REST API
introduction about REST APIintroduction about REST API
introduction about REST API
 
NoSQL Database in .NET Apps
NoSQL Database in .NET AppsNoSQL Database in .NET Apps
NoSQL Database in .NET Apps
 
Barcamp Macau 2014 - Introduction to AWS
Barcamp Macau 2014 - Introduction to AWSBarcamp Macau 2014 - Introduction to AWS
Barcamp Macau 2014 - Introduction to AWS
 
Why to upgrade to SQLServer 2012?
Why to upgrade to SQLServer 2012?Why to upgrade to SQLServer 2012?
Why to upgrade to SQLServer 2012?
 
[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with Ballerina
[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with Ballerina[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with Ballerina
[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with Ballerina
 
Rest assured
Rest assuredRest assured
Rest assured
 
SaaS App Development with Windows Cartridge
SaaS App Development with Windows Cartridge SaaS App Development with Windows Cartridge
SaaS App Development with Windows Cartridge
 
SUE AGILE Architecture (English)
SUE AGILE Architecture (English)SUE AGILE Architecture (English)
SUE AGILE Architecture (English)
 
D2RQ
D2RQD2RQ
D2RQ
 

Destaque

Selling Drupal to the Enterprise
Selling Drupal to the EnterpriseSelling Drupal to the Enterprise
Selling Drupal to the EnterpriseMyplanet Digital
 
Open Advocacy - Citizens Connected Goes Open Source
Open Advocacy - Citizens Connected Goes Open SourceOpen Advocacy - Citizens Connected Goes Open Source
Open Advocacy - Citizens Connected Goes Open SourceMyplanet Digital
 
UX Lessons from the USSR: The Trouble With Manifestos
UX Lessons from the USSR: The Trouble With ManifestosUX Lessons from the USSR: The Trouble With Manifestos
UX Lessons from the USSR: The Trouble With ManifestosMyplanet Digital
 
Coding For Config: Install Profile Development Using Features
Coding For Config: Install Profile Development Using FeaturesCoding For Config: Install Profile Development Using Features
Coding For Config: Install Profile Development Using FeaturesMyplanet Digital
 
DataPublic: Building Drupal-Powered Open Government (Nik Garkusha, Microsoft ...
DataPublic: Building Drupal-Powered Open Government (Nik Garkusha, Microsoft ...DataPublic: Building Drupal-Powered Open Government (Nik Garkusha, Microsoft ...
DataPublic: Building Drupal-Powered Open Government (Nik Garkusha, Microsoft ...Myplanet Digital
 
How to incrementally integrate QA in an Agile Development Process
How to incrementally integrate QA in an Agile Development ProcessHow to incrementally integrate QA in an Agile Development Process
How to incrementally integrate QA in an Agile Development ProcessMyplanet Digital
 

Destaque (7)

Selling Drupal to the Enterprise
Selling Drupal to the EnterpriseSelling Drupal to the Enterprise
Selling Drupal to the Enterprise
 
Agile 101
Agile 101Agile 101
Agile 101
 
Open Advocacy - Citizens Connected Goes Open Source
Open Advocacy - Citizens Connected Goes Open SourceOpen Advocacy - Citizens Connected Goes Open Source
Open Advocacy - Citizens Connected Goes Open Source
 
UX Lessons from the USSR: The Trouble With Manifestos
UX Lessons from the USSR: The Trouble With ManifestosUX Lessons from the USSR: The Trouble With Manifestos
UX Lessons from the USSR: The Trouble With Manifestos
 
Coding For Config: Install Profile Development Using Features
Coding For Config: Install Profile Development Using FeaturesCoding For Config: Install Profile Development Using Features
Coding For Config: Install Profile Development Using Features
 
DataPublic: Building Drupal-Powered Open Government (Nik Garkusha, Microsoft ...
DataPublic: Building Drupal-Powered Open Government (Nik Garkusha, Microsoft ...DataPublic: Building Drupal-Powered Open Government (Nik Garkusha, Microsoft ...
DataPublic: Building Drupal-Powered Open Government (Nik Garkusha, Microsoft ...
 
How to incrementally integrate QA in an Agile Development Process
How to incrementally integrate QA in an Agile Development ProcessHow to incrementally integrate QA in an Agile Development Process
How to incrementally integrate QA in an Agile Development Process
 

Semelhante a Drupal As A RESTful Backend For Client Side Applications

Role of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIRole of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIWSO2
 
Using Drupal as a backend for Android app
Using Drupal as a backend for Android appUsing Drupal as a backend for Android app
Using Drupal as a backend for Android appBorort Sort
 
Restful webservice
Restful webserviceRestful webservice
Restful webserviceDong Ngoc
 
REST Introduction.ppt
REST Introduction.pptREST Introduction.ppt
REST Introduction.pptKGSCSEPSGCT
 
RESTful API-centric Universe
RESTful API-centric UniverseRESTful API-centric Universe
RESTful API-centric UniverseTihomir Opačić
 
Service Discovery and Registration in a Microservices Architecture
Service Discovery and Registration in a Microservices ArchitectureService Discovery and Registration in a Microservices Architecture
Service Discovery and Registration in a Microservices ArchitecturePLUMgrid
 
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20Phil Wilkins
 
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...Jim McKeeth
 
Using Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise NetworksUsing Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise NetworksDataWorks Summit
 
Apache Thrift, a brief introduction
Apache Thrift, a brief introductionApache Thrift, a brief introduction
Apache Thrift, a brief introductionRandy Abernethy
 
Using Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise NetworksUsing Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise NetworksMapR Technologies
 
Innovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesInnovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesSteve Speicher
 
WSO2 ESB Integration with REST
WSO2 ESB Integration with RESTWSO2 ESB Integration with REST
WSO2 ESB Integration with RESTWSO2
 
REST API Recommendations
REST API RecommendationsREST API Recommendations
REST API RecommendationsJeelani Shaik
 
REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25Jon Petter Hjulstad
 
Building Modern Digital Services on Scalable Private Government Infrastructur...
Building Modern Digital Services on Scalable Private Government Infrastructur...Building Modern Digital Services on Scalable Private Government Infrastructur...
Building Modern Digital Services on Scalable Private Government Infrastructur...Andrés Colón Pérez
 

Semelhante a Drupal As A RESTful Backend For Client Side Applications (20)

APITalkMeetupSharable
APITalkMeetupSharableAPITalkMeetupSharable
APITalkMeetupSharable
 
Role of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIRole of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EI
 
Using Drupal as a backend for Android app
Using Drupal as a backend for Android appUsing Drupal as a backend for Android app
Using Drupal as a backend for Android app
 
Restful webservice
Restful webserviceRestful webservice
Restful webservice
 
REST Introduction.ppt
REST Introduction.pptREST Introduction.ppt
REST Introduction.ppt
 
RESTful API-centric Universe
RESTful API-centric UniverseRESTful API-centric Universe
RESTful API-centric Universe
 
Service Discovery and Registration in a Microservices Architecture
Service Discovery and Registration in a Microservices ArchitectureService Discovery and Registration in a Microservices Architecture
Service Discovery and Registration in a Microservices Architecture
 
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
 
REST full API Design
REST full API DesignREST full API Design
REST full API Design
 
The PRPL Pattern
The PRPL PatternThe PRPL Pattern
The PRPL Pattern
 
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
 
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
 
Using Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise NetworksUsing Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise Networks
 
Apache Thrift, a brief introduction
Apache Thrift, a brief introductionApache Thrift, a brief introduction
Apache Thrift, a brief introduction
 
Using Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise NetworksUsing Familiar BI Tools and Hadoop to Analyze Enterprise Networks
Using Familiar BI Tools and Hadoop to Analyze Enterprise Networks
 
Innovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesInnovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open Interfaces
 
WSO2 ESB Integration with REST
WSO2 ESB Integration with RESTWSO2 ESB Integration with REST
WSO2 ESB Integration with REST
 
REST API Recommendations
REST API RecommendationsREST API Recommendations
REST API Recommendations
 
REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25
 
Building Modern Digital Services on Scalable Private Government Infrastructur...
Building Modern Digital Services on Scalable Private Government Infrastructur...Building Modern Digital Services on Scalable Private Government Infrastructur...
Building Modern Digital Services on Scalable Private Government Infrastructur...
 

Mais de Myplanet Digital

Drupal With SMS And Telephony For Fun And Profit
Drupal With SMS And Telephony For Fun And ProfitDrupal With SMS And Telephony For Fun And Profit
Drupal With SMS And Telephony For Fun And ProfitMyplanet Digital
 
101 Exciting Tips To Get The Site You Need While Saving Time And Money (And G...
101 Exciting Tips To Get The Site You Need While Saving Time And Money (And G...101 Exciting Tips To Get The Site You Need While Saving Time And Money (And G...
101 Exciting Tips To Get The Site You Need While Saving Time And Money (And G...Myplanet Digital
 
Stumbling Your Way to Succes: A Myplanet Tale
Stumbling Your Way to Succes: A Myplanet TaleStumbling Your Way to Succes: A Myplanet Tale
Stumbling Your Way to Succes: A Myplanet TaleMyplanet Digital
 
Learning from Shopkeepers: Content Strategy for eCommerce
Learning from Shopkeepers: Content Strategy for eCommerceLearning from Shopkeepers: Content Strategy for eCommerce
Learning from Shopkeepers: Content Strategy for eCommerceMyplanet Digital
 
Adaptive Content: Designing For The Unknown
Adaptive Content: Designing For The UnknownAdaptive Content: Designing For The Unknown
Adaptive Content: Designing For The UnknownMyplanet Digital
 
Responsive Design: Drupal Business Summit (Erik von Stackelberg, Myplanet Dig...
Responsive Design: Drupal Business Summit (Erik von Stackelberg, Myplanet Dig...Responsive Design: Drupal Business Summit (Erik von Stackelberg, Myplanet Dig...
Responsive Design: Drupal Business Summit (Erik von Stackelberg, Myplanet Dig...Myplanet Digital
 
Capturing Community (Michael Silverman, Duo Consulting)
Capturing Community (Michael Silverman, Duo Consulting)Capturing Community (Michael Silverman, Duo Consulting)
Capturing Community (Michael Silverman, Duo Consulting)Myplanet Digital
 
Case Study: Drupal Enabled Mobile -Ontario Physical Health Education Associat...
Case Study: Drupal Enabled Mobile -Ontario Physical Health Education Associat...Case Study: Drupal Enabled Mobile -Ontario Physical Health Education Associat...
Case Study: Drupal Enabled Mobile -Ontario Physical Health Education Associat...Myplanet Digital
 
Gerry Dimnik's RCM Case Study-DBS 2011
Gerry Dimnik's RCM Case Study-DBS 2011Gerry Dimnik's RCM Case Study-DBS 2011
Gerry Dimnik's RCM Case Study-DBS 2011Myplanet Digital
 
Benoit Marchand's BMO Case Study-DBS 2011
Benoit Marchand's BMO Case Study-DBS 2011Benoit Marchand's BMO Case Study-DBS 2011
Benoit Marchand's BMO Case Study-DBS 2011Myplanet Digital
 
Sean Crowley's Government Talk-DBS 2011
Sean Crowley's Government Talk-DBS 2011Sean Crowley's Government Talk-DBS 2011
Sean Crowley's Government Talk-DBS 2011Myplanet Digital
 

Mais de Myplanet Digital (12)

Drupal With SMS And Telephony For Fun And Profit
Drupal With SMS And Telephony For Fun And ProfitDrupal With SMS And Telephony For Fun And Profit
Drupal With SMS And Telephony For Fun And Profit
 
101 Exciting Tips To Get The Site You Need While Saving Time And Money (And G...
101 Exciting Tips To Get The Site You Need While Saving Time And Money (And G...101 Exciting Tips To Get The Site You Need While Saving Time And Money (And G...
101 Exciting Tips To Get The Site You Need While Saving Time And Money (And G...
 
Stumbling Your Way to Succes: A Myplanet Tale
Stumbling Your Way to Succes: A Myplanet TaleStumbling Your Way to Succes: A Myplanet Tale
Stumbling Your Way to Succes: A Myplanet Tale
 
Learning from Shopkeepers: Content Strategy for eCommerce
Learning from Shopkeepers: Content Strategy for eCommerceLearning from Shopkeepers: Content Strategy for eCommerce
Learning from Shopkeepers: Content Strategy for eCommerce
 
Adaptive Content: Designing For The Unknown
Adaptive Content: Designing For The UnknownAdaptive Content: Designing For The Unknown
Adaptive Content: Designing For The Unknown
 
Responsive Design: Drupal Business Summit (Erik von Stackelberg, Myplanet Dig...
Responsive Design: Drupal Business Summit (Erik von Stackelberg, Myplanet Dig...Responsive Design: Drupal Business Summit (Erik von Stackelberg, Myplanet Dig...
Responsive Design: Drupal Business Summit (Erik von Stackelberg, Myplanet Dig...
 
Capturing Community (Michael Silverman, Duo Consulting)
Capturing Community (Michael Silverman, Duo Consulting)Capturing Community (Michael Silverman, Duo Consulting)
Capturing Community (Michael Silverman, Duo Consulting)
 
Open Source at The ROM
Open Source at The ROMOpen Source at The ROM
Open Source at The ROM
 
Case Study: Drupal Enabled Mobile -Ontario Physical Health Education Associat...
Case Study: Drupal Enabled Mobile -Ontario Physical Health Education Associat...Case Study: Drupal Enabled Mobile -Ontario Physical Health Education Associat...
Case Study: Drupal Enabled Mobile -Ontario Physical Health Education Associat...
 
Gerry Dimnik's RCM Case Study-DBS 2011
Gerry Dimnik's RCM Case Study-DBS 2011Gerry Dimnik's RCM Case Study-DBS 2011
Gerry Dimnik's RCM Case Study-DBS 2011
 
Benoit Marchand's BMO Case Study-DBS 2011
Benoit Marchand's BMO Case Study-DBS 2011Benoit Marchand's BMO Case Study-DBS 2011
Benoit Marchand's BMO Case Study-DBS 2011
 
Sean Crowley's Government Talk-DBS 2011
Sean Crowley's Government Talk-DBS 2011Sean Crowley's Government Talk-DBS 2011
Sean Crowley's Government Talk-DBS 2011
 

Drupal As A RESTful Backend For Client Side Applications

  • 1.
  • 2. 11/16/12 Drupal As A RESTful Backend For Client Side Applications For Client Side Applications
  • 3. We’re hiring! Arvin Singla 207-90C Centurian Dr Contact @arvinsingla Markham, Ontario arvin@myplanetdigital.com L3R 8C5 us:
  • 5. REpresentational State Transfer • Architectural Style – Many ways to implement • 5 Primary Constraints to be considered “RESTful” – Client / Server – Stateless – Cacheable – Layered System – Uniform Interface
  • 7. Why do we REST? • Client side and Mobile Applications – Apps load fast, data comes after – Local caching • API data access – Allow others to use your data
  • 8. RESTful Web API • Web service implemented using HTTP and the principles of REST • Clients interact with RESTful servers over HTTP methods – Create (POST) – Read (GET) – Update (PUT)
  • 10. Services Module (3.x) – Creates URL callback endpoints for integrating external applications – Supports multiple interfaces including REST, XMLRPC, JSON, JSON-RPC, SOAP, AMF, etc.
  • 11. Services Module (3.x) – Supports Drupal core resources, third party integration is done with modules – Authentication and OAUTH support – Performs a full bootstrap :( – Caching in 7.x-dev YAY! (Issue #1791978)
  • 12. Services Endpoints Create: POST /[endpoint_path]/[resource] + body Retrieve: GET /[endpoint_path]/[resource]/[resource_id] Update: PUT /[endpoint_path]/[resource]/[resource_id] + body Delete: DELETE /[endpoint_path]/[resource]/[resource_id]
  • 15. Drupal 8: The Promise Land • WSCCI: Web Services and Context Core Initiative – Utilizing Symfony 2 HTTP services – Native RESTful services baked into Core

Notas do Editor

  1. We’re hiring Drupal front end developers, module developers, UI/UX designers Also looking for strong devs who don’t know drupal just yet
  2. Clients initiate requests to servers; servers process requests and return appropriate responses. Client / Server For example, clients are not concerned with data storage, and the Servers are not concerned with the user interface Stateless Each request from any client contains all of the information necessary to service the request, and any session state is held in the client Cacheable clients can cache responses and the server and responses must therefore, implicitly or explicitly, define themselves as cacheable, or not, Layered System client can’t tell what kind of server they are talking to. Is it the end point server or some middle tier caching server along the way. It makes no difference to them. Uniform Interface A set of guiding principles that should be followed. Relating to the nature of how the data is represented and manipulated.
  3. Benefits of REST
  4. Examples of existing REST services - Twitter