SlideShare a Scribd company logo
Web Services Mash-up :  Flick r Cal Henderson <cal@flickr.com> O’Reilly Emerging Technology Conference March 14-17, 2005
What’s Flickr? A website –  flickr.com A photo-sharing application The centre of a big distributed system An open set of APIs flickr.com/services/
Web services? What the heck are web services? The future of the Interwebnet!!!1 Web 2.0 An ‘emerging technology’ (no, really)
But seriously? Probably a  service  accessed over the  web RSS/Atom/RDF Feeds The Flickr API (Also, Flickr-specific junk)
Logical Architecture Page Logic Business/Application Logic Database Photo Storage API Logic Endpoints Templates Users 3 rd  Party Apps Flickr Apps Node Service Flickr .com Email Parser
Logical Architecture Page Logic Business/Application Logic Database Photo Storage API Logic Endpoints Templates Users 3 rd  Party Apps Flickr Apps Node Service Flickr .com Email Parser
API Architecture Endpoints Users Applications HTTP Transport Net / Local Transport
Transport Voodoo Like any decent Internet ‘standard’, there’s more than one A quick guide to the trendy ones…
SOAP Simple Object Access Protocol Now just SOAP (not  so simple anymore) Google uses it
SOAP Response <s:Envelope xmlns:s= http://www.w3.org/2003/05/soap-envelope xmlns:xsi= http://www.w3.org/1999/XMLSchema-instance xmlns:xsd= http://www.w3.org/1999/XMLSchema > <s:Body> <x:FlickrResponse xmlns:x=&quot;urn:flickr&quot;> [escaped-xml-payload] </x:FlickrResponse> </s:Body> </s:Envelope>
XML-RPC XML Remote Procedure Call Used by the blogging APIs Created by Dave Winer in 1998 Because SOAP was taking a long time
XML-RPC Response <methodResponse> <params> <param> <value> <string> [escaped-xml-payload] </string> </value> </param> </params> </methodResponse>
REST Representational State Transfer Crazy name Thanks Roy Fielding at Apache It’s really simple Just XML over HTTP (Though purists say it’s  only  HTTP GET)
REST Response <rsp stat=&quot;ok&quot;> [xml-payload] </rsp>
Page Scraping Been around for ever HTML-over-HTTP Volatile interface Makes site owners angry
Scrumjax Probably the future
Offering Web Services Be transport agnostic Some people love SOAP, some love REST Make them all (somewhat) happy Beware of ‘shitty coders’
Performance Problems People can scrape your site and pull a lot of pages in a short time This is bad But API abuse (even accidental) can be a lot worse
An example Someone writes a trendy screensaver app for Flickr which shows recent photos. It checks for new photos every 2 seconds A bunch of people download it
Danger! With 100 users, that’s 50 hits per second If it’s making a particularly taxing database call, it’s going to cause problems
Possible solutions Incorporate caching into API bindings Enforced policy Through API keys, etc. Cache at the host application level Monitor things closely
 

More Related Content

PPT
Build APIs With Kapow Mashup Server
PPTX
Webinar: Postman 101 for Developers
PDF
POST/CON 2019 Workshop: Fundamentals
PPSX
API Test Automation
PDF
Postman 101 & Office Hours
PDF
Hello, Laravel - Tomáš Gustiňák
PPTX
Laravel - The PHP Framework For Web Artisans
PPTX
Nom Nom: Consuming REST APIs
Build APIs With Kapow Mashup Server
Webinar: Postman 101 for Developers
POST/CON 2019 Workshop: Fundamentals
API Test Automation
Postman 101 & Office Hours
Hello, Laravel - Tomáš Gustiňák
Laravel - The PHP Framework For Web Artisans
Nom Nom: Consuming REST APIs

What's hot (20)

PDF
Postman Galaxy Tour: San Francisco - Workshop Presentation
PDF
Using Postman to Automate API On-Boarding
PDF
Frontcon Riga - GraphQL Will Do To REST What JSON Did To XML
PDF
Craft effective API with GraphQL and Absinthe - Ihor Katkov
PDF
Enterprise E-commerce Webinar #2 - Deploy & Monitor APIs
PDF
Tips To Rock At Hackathons
PPTX
Postman. From simple API test to end to end scenario
PDF
Building and deploying GraphQL Servers with AWS Lambda and Prisma I AWS Dev D...
PPTX
Api Testing
PPTX
Mountebank and you
PPTX
Talk about java
PDF
Welcome Note by Abhinav Asthana, CEO at Postman
PDF
Postman Galaxy Tour - Keynote Presentation
PPTX
WordPress Rest API
PDF
Creating a server side web app
PDF
Lasta FluteとSaasを使って 個人でWebサービスを運営してみた話
PDF
State of the API: Insights Into the Future of APIs
PDF
API for Beginners
PDF
10 things you didn't know about Postman
PDF
Drive API Adoption: Reach Over 13 Million Developers
Postman Galaxy Tour: San Francisco - Workshop Presentation
Using Postman to Automate API On-Boarding
Frontcon Riga - GraphQL Will Do To REST What JSON Did To XML
Craft effective API with GraphQL and Absinthe - Ihor Katkov
Enterprise E-commerce Webinar #2 - Deploy & Monitor APIs
Tips To Rock At Hackathons
Postman. From simple API test to end to end scenario
Building and deploying GraphQL Servers with AWS Lambda and Prisma I AWS Dev D...
Api Testing
Mountebank and you
Talk about java
Welcome Note by Abhinav Asthana, CEO at Postman
Postman Galaxy Tour - Keynote Presentation
WordPress Rest API
Creating a server side web app
Lasta FluteとSaasを使って 個人でWebサービスを運営してみた話
State of the API: Insights Into the Future of APIs
API for Beginners
10 things you didn't know about Postman
Drive API Adoption: Reach Over 13 Million Developers
Ad

Viewers also liked (6)

PPS
Web20expo Filesystems
PPT
G B M
ODP
Greasy Spoons and Family Restaurants of St-Henri
PPS
Periodismo
PPT
Misa Reencuentro 25 a II
PPT
catalogo
Web20expo Filesystems
G B M
Greasy Spoons and Family Restaurants of St-Henri
Periodismo
Misa Reencuentro 25 a II
catalogo
Ad

Similar to Etech2005 (20)

PPT
Web services - REST and SOAP
PPS
Flickr Services
PPS
Flickr Services
PPTX
Angular jS Introduction by Google
 
PPT
What is hot on the web right now - A W3C perspective
PPT
Hanoi php day 2008 - 05. nguyen hai nhat huy - building-restful-web-service-w...
PPT
Introduction to Alfresco Surf Platform
PPTX
apidays LIVE Singapore 2021 - REST the Events - REST APIs for Event-Driven Ar...
PPTX
RESTful design
PPTX
Mike Taulty MIX10 Silverlight Frameworks and Patterns
PPTX
apidays LIVE India - REST the Events - REST APIs for Event-Driven Architectur...
PDF
Extreme Web Performance for Mobile Devices
PPT
Silver Light By Nyros Developer
PPT
Automating the Use of Web APIs through Lightweight Semantics
PDF
Open Ap Is State Of The Market
PDF
Meteor Workshop - Open Sanca
PDF
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
ODP
HTML5 - The Python Angle (PyCon Ireland 2010)
PPT
Semantic Web Servers
PPT
DevNext - Web Programming Concepts Using Asp Net
Web services - REST and SOAP
Flickr Services
Flickr Services
Angular jS Introduction by Google
 
What is hot on the web right now - A W3C perspective
Hanoi php day 2008 - 05. nguyen hai nhat huy - building-restful-web-service-w...
Introduction to Alfresco Surf Platform
apidays LIVE Singapore 2021 - REST the Events - REST APIs for Event-Driven Ar...
RESTful design
Mike Taulty MIX10 Silverlight Frameworks and Patterns
apidays LIVE India - REST the Events - REST APIs for Event-Driven Architectur...
Extreme Web Performance for Mobile Devices
Silver Light By Nyros Developer
Automating the Use of Web APIs through Lightweight Semantics
Open Ap Is State Of The Market
Meteor Workshop - Open Sanca
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTML5 - The Python Angle (PyCon Ireland 2010)
Semantic Web Servers
DevNext - Web Programming Concepts Using Asp Net

More from royans (14)

PDF
Hadoop: Distributed data processing
PDF
Facebooks Petabyte Scale Data Warehouse using Hive and Hadoop
PPS
Web20expo Filesystems
PPS
Web20expo Scalable Web Arch
PPS
Flickr Php
PPT
Grid – Distributed Computing at Scale
PPT
How Typepad changed their architecture without taking down the service
PPT
Dmk Bo2 K7 Web
PPT
21 Www Web Services
PPS
Web Design World Flickr
PPS
Filesystems
PPS
Scalable Web Arch
PPS
Web 2.0 Summit Flickr
PPS
Web20expo Filesystems
Hadoop: Distributed data processing
Facebooks Petabyte Scale Data Warehouse using Hive and Hadoop
Web20expo Filesystems
Web20expo Scalable Web Arch
Flickr Php
Grid – Distributed Computing at Scale
How Typepad changed their architecture without taking down the service
Dmk Bo2 K7 Web
21 Www Web Services
Web Design World Flickr
Filesystems
Scalable Web Arch
Web 2.0 Summit Flickr
Web20expo Filesystems

Recently uploaded (20)

PPTX
svnfcksanfskjcsnvvjknsnvsdscnsncxasxa saccacxsax
PDF
Daniels 2024 Inclusive, Sustainable Development
PDF
Nante Industrial Plug Factory: Engineering Quality for Modern Power Applications
PPTX
BUSINESS CYCLE_INFLATION AND UNEMPLOYMENT.pptx
PPTX
operations management : demand supply ch
PDF
Solaris Resources Presentation - Corporate August 2025.pdf
PPTX
interschool scomp.pptxzdkjhdjvdjvdjdhjhieij
PDF
Family Law: The Role of Communication in Mediation (www.kiu.ac.ug)
PPT
Lecture notes on Business Research Methods
PDF
NISM Series V-A MFD Workbook v December 2024.khhhjtgvwevoypdnew one must use ...
DOCX
80 DE ÔN VÀO 10 NĂM 2023vhkkkjjhhhhjjjj
PPTX
Project Management_ SMART Projects Class.pptx
DOCX
Hand book of Entrepreneurship 4 Chapters.docx
PDF
Blood Collected straight from the donor into a blood bag and mixed with an an...
PPTX
Sales & Distribution Management , LOGISTICS, Distribution, Sales Managers
PDF
Susan Semmelmann: Enriching the Lives of others through her Talents and Bless...
PDF
Keppel_Proposed Divestment of M1 Limited
PDF
1911 Gold Corporate Presentation Aug 2025.pdf
PDF
Technical Architecture - Chainsys dataZap
PDF
Introduction to Generative Engine Optimization (GEO)
svnfcksanfskjcsnvvjknsnvsdscnsncxasxa saccacxsax
Daniels 2024 Inclusive, Sustainable Development
Nante Industrial Plug Factory: Engineering Quality for Modern Power Applications
BUSINESS CYCLE_INFLATION AND UNEMPLOYMENT.pptx
operations management : demand supply ch
Solaris Resources Presentation - Corporate August 2025.pdf
interschool scomp.pptxzdkjhdjvdjvdjdhjhieij
Family Law: The Role of Communication in Mediation (www.kiu.ac.ug)
Lecture notes on Business Research Methods
NISM Series V-A MFD Workbook v December 2024.khhhjtgvwevoypdnew one must use ...
80 DE ÔN VÀO 10 NĂM 2023vhkkkjjhhhhjjjj
Project Management_ SMART Projects Class.pptx
Hand book of Entrepreneurship 4 Chapters.docx
Blood Collected straight from the donor into a blood bag and mixed with an an...
Sales & Distribution Management , LOGISTICS, Distribution, Sales Managers
Susan Semmelmann: Enriching the Lives of others through her Talents and Bless...
Keppel_Proposed Divestment of M1 Limited
1911 Gold Corporate Presentation Aug 2025.pdf
Technical Architecture - Chainsys dataZap
Introduction to Generative Engine Optimization (GEO)

Etech2005

  • 1. Web Services Mash-up : Flick r Cal Henderson <cal@flickr.com> O’Reilly Emerging Technology Conference March 14-17, 2005
  • 2. What’s Flickr? A website – flickr.com A photo-sharing application The centre of a big distributed system An open set of APIs flickr.com/services/
  • 3. Web services? What the heck are web services? The future of the Interwebnet!!!1 Web 2.0 An ‘emerging technology’ (no, really)
  • 4. But seriously? Probably a service accessed over the web RSS/Atom/RDF Feeds The Flickr API (Also, Flickr-specific junk)
  • 5. Logical Architecture Page Logic Business/Application Logic Database Photo Storage API Logic Endpoints Templates Users 3 rd Party Apps Flickr Apps Node Service Flickr .com Email Parser
  • 6. Logical Architecture Page Logic Business/Application Logic Database Photo Storage API Logic Endpoints Templates Users 3 rd Party Apps Flickr Apps Node Service Flickr .com Email Parser
  • 7. API Architecture Endpoints Users Applications HTTP Transport Net / Local Transport
  • 8. Transport Voodoo Like any decent Internet ‘standard’, there’s more than one A quick guide to the trendy ones…
  • 9. SOAP Simple Object Access Protocol Now just SOAP (not so simple anymore) Google uses it
  • 10. SOAP Response <s:Envelope xmlns:s= http://www.w3.org/2003/05/soap-envelope xmlns:xsi= http://www.w3.org/1999/XMLSchema-instance xmlns:xsd= http://www.w3.org/1999/XMLSchema > <s:Body> <x:FlickrResponse xmlns:x=&quot;urn:flickr&quot;> [escaped-xml-payload] </x:FlickrResponse> </s:Body> </s:Envelope>
  • 11. XML-RPC XML Remote Procedure Call Used by the blogging APIs Created by Dave Winer in 1998 Because SOAP was taking a long time
  • 12. XML-RPC Response <methodResponse> <params> <param> <value> <string> [escaped-xml-payload] </string> </value> </param> </params> </methodResponse>
  • 13. REST Representational State Transfer Crazy name Thanks Roy Fielding at Apache It’s really simple Just XML over HTTP (Though purists say it’s only HTTP GET)
  • 14. REST Response <rsp stat=&quot;ok&quot;> [xml-payload] </rsp>
  • 15. Page Scraping Been around for ever HTML-over-HTTP Volatile interface Makes site owners angry
  • 17. Offering Web Services Be transport agnostic Some people love SOAP, some love REST Make them all (somewhat) happy Beware of ‘shitty coders’
  • 18. Performance Problems People can scrape your site and pull a lot of pages in a short time This is bad But API abuse (even accidental) can be a lot worse
  • 19. An example Someone writes a trendy screensaver app for Flickr which shows recent photos. It checks for new photos every 2 seconds A bunch of people download it
  • 20. Danger! With 100 users, that’s 50 hits per second If it’s making a particularly taxing database call, it’s going to cause problems
  • 21. Possible solutions Incorporate caching into API bindings Enforced policy Through API keys, etc. Cache at the host application level Monitor things closely
  • 22.