SlideShare a Scribd company logo
REST Easy
Building RESTful Services in Zend Framework
Me
•   Fightin’ Texas Aggie

•   .Net and PHP Developer

•   UNIX and Windows Sysadmin

•   Senior Consultant at

    Improving Enterprises

•   chris@chrisweldon.net
Twitter Promotion
Twitter Promotion
•   @neraath
Twitter Promotion
•   @neraath

•   #bcsphp
Twitter Promotion
•   @neraath

•   #bcsphp

•   #rest
Twitter Promotion
•   @neraath

•   #bcsphp

•   #rest

•   #thisguyisawesome
Twitter Promotion
•   @neraath

•   #bcsphp

•   #rest

•   #thisguyisawesome

•   #bestspeakerever
Twitter Promotion
•   @neraath

•   #bcsphp

•   #rest

•   #thisguyisawesome

•   #bestspeakerever

•   #horriblepresenter
Twitter Promotion
•   @neraath

•   #bcsphp

•   #rest

•   #thisguyisawesome

•   #bestspeakerever

•   #horriblepresenter

•   #omgshootme
Agile, Microsoft, Open Technologies, UX
Applied Training, Coaching, Mentoring
Certified Consulting
Rural Sourcing
Recruiting Services
REST
REST Easy - Building RESTful Services in Zend Framework
REpresentational State
      Transfer
Why REST?
Scalability
Architecture
Independence
Resource Addressing
 and Management
Self-Describing Messages
REST is NOT
REST Easy - Building RESTful Services in Zend Framework
SOAP is Fugly

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
  <soap:Header>
  </soap:Header>
  <soap:Body>
    <m:GetStockPrice xmlns:m="http://www.example.org/stock">
      <m:StockName>IBM</m:StockName>
    </m:GetStockPrice>
  </soap:Body>
</soap:Envelope>
RESTs Beauty is in
  HTTP Verbs
http://www.example.org/stock/price/IBM
GET
Request
GET /stock/price/IBM HTTP/1.1
Host: www.example.org
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4)
Accept-Encoding: gzip
Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7
Cache-Control: no-cache
Accept-Language: de,en;q=0.7,en-us;q=0.3

Response
date: Thu, 21 Jun 2012 21:55:57 GMT
version: HTTP/1.1
status: 200 OK
content-length: 26550
content-type: text/html; charset=UTF-8
cache-control: private, max-age=0
expires: -1
POST
Request
POST /stock/price/IBM HTTP/1.1
Host: www.example.org
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4)
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml;q=0.9,*/*;q=0.8

currentPrice:193.39
delta:-5.39
locale:en_US

Response
Date: Thu, 21 Jun 2012 21:55:57 GMT
Version: HTTP/1.1
Status: 201 CREATED
Location: /stock/price/IBM
PUT
Request
PUT /stock/price/IBM HTTP/1.1
Host: www.example.org
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4)
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml;q=0.9,*/*;q=0.8

currentPrice:193.39
delta:-5.39
locale:en_US

Response
Date: Thu, 21 Jun 2012 21:55:57 GMT
Version: HTTP/1.1
Status: 200 OK
DELETE
Request
DELETE /stock/price/IBM HTTP/1.1
Host: www.example.org
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4)
Accept-Encoding: gzip
Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7
Cache-Control: no-cache
Accept-Language: de,en;q=0.7,en-us;q=0.3

Response
date: Thu, 21 Jun 2012 21:55:57 GMT
version: HTTP/1.1
status: 204 NO CONTENT
Status Codes are Your
        Friend
200 =
REST Easy - Building RESTful Services in Zend Framework
201 = Created
204 = ?
REST Easy - Building RESTful Services in Zend Framework
301 = ?
REST Easy - Building RESTful Services in Zend Framework
401 = ?
REST Easy - Building RESTful Services in Zend Framework
404, 500, etc.
REST Supports
{
    “person”:
    {
        “name”: “Chris Weldon”,
        “email”: “chris@chrisweldon.net”
    }
}
REST Supports

<?xml version=”1.0”?>
<person>
  <name>Chris Weldon</name>
  <email>chris@chrisweldon.net</name>
</person>
REST Supports


      ...
DEMO
Thanks!




spkr8.com/neraath

More Related Content

What's hot (20)

PDF
Preparing your web services for Android and your Android app for web services...
Droidcon Eastern Europe
 
PPTX
Implementation advantages of rest
Balamurugan Easwaran
 
PPT
RESTful services
gouthamrv
 
PPT
Scalable Reliable Secure REST
guestb2ed5f
 
PDF
Cwinters Intro To Rest And JerREST and Jersey Introductionsey
elliando dias
 
PDF
AJAX - An introduction
Eleonora Ciceri
 
PPTX
Android and REST
Roman Woźniak
 
ODP
The Internet as Web Services: introduction to ReST
Bruno Kessler Foundation
 
PDF
JSON REST API for WordPress
Taylor Lovett
 
PPTX
REST & RESTful Web Services
Halil Burak Cetinkaya
 
PPTX
The JSON REST API for WordPress
Taylor Lovett
 
PDF
HTML5 - An introduction
Eleonora Ciceri
 
PDF
Building RESTful applications using Spring MVC
IndicThreads
 
KEY
Designing a RESTful web service
Filip Blondeel
 
PDF
Learn REST in 18 Slides
Suraj Gupta
 
PDF
RESTful web
Alvin Qi
 
PDF
Android webservices
Krazy Koder
 
PDF
Cross site calls with javascript - the right way with CORS
Michael Neale
 
PPT
Rest services caching
Sperasoft
 
PPT
Understanding REST
Nitin Pande
 
Preparing your web services for Android and your Android app for web services...
Droidcon Eastern Europe
 
Implementation advantages of rest
Balamurugan Easwaran
 
RESTful services
gouthamrv
 
Scalable Reliable Secure REST
guestb2ed5f
 
Cwinters Intro To Rest And JerREST and Jersey Introductionsey
elliando dias
 
AJAX - An introduction
Eleonora Ciceri
 
Android and REST
Roman Woźniak
 
The Internet as Web Services: introduction to ReST
Bruno Kessler Foundation
 
JSON REST API for WordPress
Taylor Lovett
 
REST & RESTful Web Services
Halil Burak Cetinkaya
 
The JSON REST API for WordPress
Taylor Lovett
 
HTML5 - An introduction
Eleonora Ciceri
 
Building RESTful applications using Spring MVC
IndicThreads
 
Designing a RESTful web service
Filip Blondeel
 
Learn REST in 18 Slides
Suraj Gupta
 
RESTful web
Alvin Qi
 
Android webservices
Krazy Koder
 
Cross site calls with javascript - the right way with CORS
Michael Neale
 
Rest services caching
Sperasoft
 
Understanding REST
Nitin Pande
 

Similar to REST Easy - Building RESTful Services in Zend Framework (20)

ZIP
Grown-up javascript with AngularJS
Mykhailo Kotsur
 
PDF
Embracing HTTP in the era of API’s
Visug
 
PDF
Sustainable Agile Development
Gabriele Lana
 
PDF
Webware - 문서에서 운영 체제 까지 - 윤석찬 (2014)
Channy Yun
 
PPT
performance.ppt
fakeaccount225095
 
PDF
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
Patrick Chanezon
 
PDF
Grokking REST (ZendCon 2010)
Ben Ramsey
 
PDF
Web performance optimization
Kaliop-slide
 
PPTX
Best Practices for WordPress in Enterprise
Taylor Lovett
 
PDF
Complete SEO Report with checklist required
aaimannoor5
 
PDF
Best practices-wordpress-enterprise
Taylor Lovett
 
PPT
Ajax to the Moon
davejohnson
 
PPT
Fast and Easy Website Tuneups
Jeff Wisniewski
 
PPT
DDoS Attacks and Countermeasures
thaidn
 
PPTX
Implementing Partial Trust In Share Point
Corey Roth
 
PPTX
Introduction to Azure DocumentDB
Denny Lee
 
PDF
HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0
Martijn Dashorst
 
PDF
Web Development Foundation & Team Collaboration
Supanat Potiwarakorn
 
PDF
Mastering Migration - How to Manage a Move From Another CMS to WordPress with...
WP Engine
 
PDF
Nuts and Bolts of WebSocket Devoxx 2014
Arun Gupta
 
Grown-up javascript with AngularJS
Mykhailo Kotsur
 
Embracing HTTP in the era of API’s
Visug
 
Sustainable Agile Development
Gabriele Lana
 
Webware - 문서에서 운영 체제 까지 - 윤석찬 (2014)
Channy Yun
 
performance.ppt
fakeaccount225095
 
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
Patrick Chanezon
 
Grokking REST (ZendCon 2010)
Ben Ramsey
 
Web performance optimization
Kaliop-slide
 
Best Practices for WordPress in Enterprise
Taylor Lovett
 
Complete SEO Report with checklist required
aaimannoor5
 
Best practices-wordpress-enterprise
Taylor Lovett
 
Ajax to the Moon
davejohnson
 
Fast and Easy Website Tuneups
Jeff Wisniewski
 
DDoS Attacks and Countermeasures
thaidn
 
Implementing Partial Trust In Share Point
Corey Roth
 
Introduction to Azure DocumentDB
Denny Lee
 
HTMX: Web 1.0 with the benefits of Web 2.0 without the grift of Web 3.0
Martijn Dashorst
 
Web Development Foundation & Team Collaboration
Supanat Potiwarakorn
 
Mastering Migration - How to Manage a Move From Another CMS to WordPress with...
WP Engine
 
Nuts and Bolts of WebSocket Devoxx 2014
Arun Gupta
 
Ad

More from Chris Weldon (7)

ODP
Keat presentation
Chris Weldon
 
KEY
Beyond TDD: Enabling Your Team to Continuously Deliver Software
Chris Weldon
 
KEY
SOLID - Not Just a State of Matter, It's Principles for OO Propriety
Chris Weldon
 
KEY
SOLID Principles
Chris Weldon
 
KEY
Unit Testing in SharePoint 2010
Chris Weldon
 
KEY
IoC with PHP
Chris Weldon
 
PDF
PHP & MVC
Chris Weldon
 
Keat presentation
Chris Weldon
 
Beyond TDD: Enabling Your Team to Continuously Deliver Software
Chris Weldon
 
SOLID - Not Just a State of Matter, It's Principles for OO Propriety
Chris Weldon
 
SOLID Principles
Chris Weldon
 
Unit Testing in SharePoint 2010
Chris Weldon
 
IoC with PHP
Chris Weldon
 
PHP & MVC
Chris Weldon
 
Ad

Recently uploaded (20)

PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 

REST Easy - Building RESTful Services in Zend Framework

Editor's Notes