SlideShare a Scribd company logo
1 of 40
Download to read offline
Open Data Services
Architectural Choices and Considerations




                                   Dominiek ter Heide
                                   May, 2008
Common Usages
Developer Center
Platform Setup
Call Routing
Data Structure
Format
Data Service Goals

stimulate an explosion of new data/content
repurpose our data off-site and increase
activity
potentially generate revenue from services
Separate?

Tied in with Service   Separated Platform
Common Usages


  The fruits of Data Services
Common Usages

Web embedable widgets
PC applications
Graphing applications
Web Widgets
Flash            HTML
PC Applications
Desktop               Dashboard
Graphing Apps
   Relationships
Graphing Apps
    Trends
Developer Center


  A place for geeks to gather.
A place to

provide tutorials and examples
allow people to document (wiki)
provide usage and key administration
provide licensing information
Last.fm Resources/Support




      audioscrobbler.net
Flickr Resources/Support




      flickr.com/services
Twitter Resources/Support




   twitter.com/help/api
Tumblr Resources/Support




       tumblr.com/api
Platform Setup


How to structure your universe.
Platform Setup

URL of great importance
Profit / Non-profit considerations
Platform As A Service?
the URI
                     mental models /             syntax
media to use
                      data structure

 protocol        domain version path             format


 http://ws.audioscrobbler.com/1.0/user/dx00/recenttracks.xml
URIs for API Calls

http://ws.audioscrobbler.com/1.0/user/dx00/recenttracks.xml

http://api.flickr.com/services/rest/?method=flickr.photos.search

http://twitter.com/statuses/friends_timeline/dominiek.json

http://dominiek.tumblr.com/api/write
Licensing

For service
For data
Choose a data license early
Licences
             service             data

flickr      non-commercial     user specified


last.fm    non-commercial   non-commercial CC


twitter        none               none


tumblr         none               none
Call Routing


 How to locate our stuff.
Loose / Tight Integration


How much do third parties need to know
about your system?
How easy is it to use your data services?
Integration
standardized                                           customized


                 Loose
    rss          html microformats

                                   restful
    json    rest                                       Tight
           xml
                             rdf              xmlrpc                rpc
                                                         xml
                                             soap              serialization
                                                         corba
  ease of                                                 html
integration
RESTful
   GET /get_user.xml?username=dominiek


HTTP standard?                    Yes
Status codes?                     Yes
Variety of response formats?      Yes
Using correct method calls?       Almost
Identifying URI for resource      No
REST
         DELETE /users/dominiek.xml


HTTP standard?                        Yes
Status codes?                         Yes
Variety of response formats?          Yes
Using correct method calls?           Yes
Identifying URI for resource          Yes
API Keys

provide usage tracking
take away ad hoc integration
ideally in request headers
Authentication


different from the User Interface
OAuth for user data?
Data Structure


What are we even talking about?
Structuring Goals

Talk about the same Domain
Understandability for other Developers
Understandability for other Architectures
Standardize Structure

Your Standards       Open Standards

                 +

 last.fm’s XML            XSPF



                                  or...
Standardize Structure
Your Standards    extend              Open Standards




                 Youtube’s API feed



                                                   yes!
Content vs Communication
URI’s in Content Data



No knowledge about URL structure required
Ability support external Entities
RDF and Semantic Web Ready
Format


In what language do we speak?
Formatting Goals


facilitate implementation variety
performance
Desired Formats


XML for tight server-side integration
JSON for easy web integration (widgets)
Optional Formats

HTML Human readable debug output
Serializations like PHP and YAML
RDF for advanced integration
Links
http://www.idealliance.org/proceedings/xtech05/
papers/02-07-04/
http://www.w3.org/Protocols/rfc2616/rfc2616-
sec10.html
http://arbor.ee.ntu.edu.tw/~wisely/download/
REST_Rails_OSDC_2007.pdf
http://oauth.org
lastfm, twitter, tumblr and flickr - .com

More Related Content

What's hot

Xml web services
Xml web servicesXml web services
Xml web services
Raghu nath
 
Web Services - Architecture and SOAP (part 1)
Web Services - Architecture and SOAP (part 1)Web Services - Architecture and SOAP (part 1)
Web Services - Architecture and SOAP (part 1)
Martin Necasky
 

What's hot (17)

RESTful Web Services
RESTful Web ServicesRESTful Web Services
RESTful Web Services
 
SOA - From Webservices to APIs
SOA - From Webservices to APIsSOA - From Webservices to APIs
SOA - From Webservices to APIs
 
Xml web services
Xml web servicesXml web services
Xml web services
 
APEX, restful services and STRIPE
APEX, restful services and STRIPEAPEX, restful services and STRIPE
APEX, restful services and STRIPE
 
Web service architecture
Web service architectureWeb service architecture
Web service architecture
 
Exchange Server 2013 Architecture Deep Dive, Part 2
Exchange Server 2013 Architecture Deep Dive, Part 2 Exchange Server 2013 Architecture Deep Dive, Part 2
Exchange Server 2013 Architecture Deep Dive, Part 2
 
web service technologies
web service technologiesweb service technologies
web service technologies
 
Web Services - Architecture and SOAP (part 1)
Web Services - Architecture and SOAP (part 1)Web Services - Architecture and SOAP (part 1)
Web Services - Architecture and SOAP (part 1)
 
Plongée en eaux profondes dans l'architecture du nouvel Exchange 2013
Plongée en eaux profondes dans l'architecture du nouvel Exchange 2013Plongée en eaux profondes dans l'architecture du nouvel Exchange 2013
Plongée en eaux profondes dans l'architecture du nouvel Exchange 2013
 
Alfresco Architecture
Alfresco ArchitectureAlfresco Architecture
Alfresco Architecture
 
Introduction to webservices
Introduction to webservicesIntroduction to webservices
Introduction to webservices
 
Web service assignment
Web service assignmentWeb service assignment
Web service assignment
 
Webservices
WebservicesWebservices
Webservices
 
SOA for PL/SQL Developer (OPP 2010)
SOA for PL/SQL Developer (OPP 2010)SOA for PL/SQL Developer (OPP 2010)
SOA for PL/SQL Developer (OPP 2010)
 
Restful Fundamentals
Restful FundamentalsRestful Fundamentals
Restful Fundamentals
 
Introduction to web services and how to in php
Introduction to web services and how to in phpIntroduction to web services and how to in php
Introduction to web services and how to in php
 
Designing Good API & Its Importance
Designing Good API & Its ImportanceDesigning Good API & Its Importance
Designing Good API & Its Importance
 

Viewers also liked

Cano Coco Atlantic May 11, 2008
Cano Coco Atlantic May 11, 2008Cano Coco Atlantic May 11, 2008
Cano Coco Atlantic May 11, 2008
panamasolrealty
 
Social Bookmarking by Dan Martin
Social Bookmarking by Dan MartinSocial Bookmarking by Dan Martin
Social Bookmarking by Dan Martin
ddmartinpe
 
Winter Poems
Winter PoemsWinter Poems
Winter Poems
Kaaren
 
关节滑膜肿瘤和关节炎
关节滑膜肿瘤和关节炎关节滑膜肿瘤和关节炎
关节滑膜肿瘤和关节炎
ebonenow
 
Windows And Balconies(Sound)
Windows And Balconies(Sound)Windows And Balconies(Sound)
Windows And Balconies(Sound)
david yin
 
DiseñOs De Boda
DiseñOs De BodaDiseñOs De Boda
DiseñOs De Boda
guest2983b4
 

Viewers also liked (20)

Open API Initiative: Six months and counting
Open API Initiative: Six months and countingOpen API Initiative: Six months and counting
Open API Initiative: Six months and counting
 
OAuth - Open API Authentication
OAuth - Open API AuthenticationOAuth - Open API Authentication
OAuth - Open API Authentication
 
Presentation to ITEM3 conference
Presentation to ITEM3 conferencePresentation to ITEM3 conference
Presentation to ITEM3 conference
 
Linkedin 22 Ways To Dominate
Linkedin 22 Ways To DominateLinkedin 22 Ways To Dominate
Linkedin 22 Ways To Dominate
 
Cano Coco Atlantic May 11, 2008
Cano Coco Atlantic May 11, 2008Cano Coco Atlantic May 11, 2008
Cano Coco Atlantic May 11, 2008
 
Pisa 2009 results
Pisa 2009 resultsPisa 2009 results
Pisa 2009 results
 
Play The Game @ Your Library!
Play The Game @ Your Library!Play The Game @ Your Library!
Play The Game @ Your Library!
 
Social Bookmarking by Dan Martin
Social Bookmarking by Dan MartinSocial Bookmarking by Dan Martin
Social Bookmarking by Dan Martin
 
Winter Poems
Winter PoemsWinter Poems
Winter Poems
 
关节滑膜肿瘤和关节炎
关节滑膜肿瘤和关节炎关节滑膜肿瘤和关节炎
关节滑膜肿瘤和关节炎
 
Redefining social network services
Redefining social network servicesRedefining social network services
Redefining social network services
 
Windows And Balconies(Sound)
Windows And Balconies(Sound)Windows And Balconies(Sound)
Windows And Balconies(Sound)
 
Aspekty prawne otwartej nauki
Aspekty prawne otwartej naukiAspekty prawne otwartej nauki
Aspekty prawne otwartej nauki
 
Web 2.0 Favorites of Brenda Nix
Web 2.0 Favorites of Brenda NixWeb 2.0 Favorites of Brenda Nix
Web 2.0 Favorites of Brenda Nix
 
體諒
體諒體諒
體諒
 
Gaim Presentation by Drosten Fisher of Monitor Group November 16, 2008
Gaim Presentation by Drosten Fisher of Monitor Group   November 16, 2008Gaim Presentation by Drosten Fisher of Monitor Group   November 16, 2008
Gaim Presentation by Drosten Fisher of Monitor Group November 16, 2008
 
Trends 2013 powerpoint handouts
Trends 2013 powerpoint handoutsTrends 2013 powerpoint handouts
Trends 2013 powerpoint handouts
 
Fcb
FcbFcb
Fcb
 
DiseñOs De Boda
DiseñOs De BodaDiseñOs De Boda
DiseñOs De Boda
 
Colors
ColorsColors
Colors
 

Similar to Open API Architectural Choices Considerations

Semantic Web Servers
Semantic Web ServersSemantic Web Servers
Semantic Web Servers
webhostingguy
 
Creating Web Services with Zend Framework - Matthew Turland
Creating Web Services with Zend Framework - Matthew TurlandCreating Web Services with Zend Framework - Matthew Turland
Creating Web Services with Zend Framework - Matthew Turland
Matthew Turland
 
Mainframe Architecture & Product Overview
Mainframe Architecture & Product OverviewMainframe Architecture & Product Overview
Mainframe Architecture & Product Overview
abhi1112
 
Jordi Romero Api for-the-mobile-era
Jordi Romero Api for-the-mobile-eraJordi Romero Api for-the-mobile-era
Jordi Romero Api for-the-mobile-era
.toster
 
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
ukdpe
 
Building social and RESTful frameworks
Building social and RESTful frameworksBuilding social and RESTful frameworks
Building social and RESTful frameworks
brendonschwartz
 

Similar to Open API Architectural Choices Considerations (20)

Web Topics
Web TopicsWeb Topics
Web Topics
 
Semantic Web Servers
Semantic Web ServersSemantic Web Servers
Semantic Web Servers
 
Delphi ORM SOA MVC SQL NoSQL JSON REST mORMot
Delphi ORM SOA MVC SQL NoSQL JSON REST mORMotDelphi ORM SOA MVC SQL NoSQL JSON REST mORMot
Delphi ORM SOA MVC SQL NoSQL JSON REST mORMot
 
Automating the Use of Web APIs through Lightweight Semantics
Automating the Use of Web APIs through Lightweight SemanticsAutomating the Use of Web APIs through Lightweight Semantics
Automating the Use of Web APIs through Lightweight Semantics
 
Phalcon 2 High Performance APIs - DevWeekPOA 2015
Phalcon 2 High Performance APIs - DevWeekPOA 2015Phalcon 2 High Performance APIs - DevWeekPOA 2015
Phalcon 2 High Performance APIs - DevWeekPOA 2015
 
Apache Thrift, a brief introduction
Apache Thrift, a brief introductionApache Thrift, a brief introduction
Apache Thrift, a brief introduction
 
Creating Web Services with Zend Framework - Matthew Turland
Creating Web Services with Zend Framework - Matthew TurlandCreating Web Services with Zend Framework - Matthew Turland
Creating Web Services with Zend Framework - Matthew Turland
 
Innovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC IntegrationsInnovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC Integrations
 
Decoupled cms sunshinephp 2014
Decoupled cms sunshinephp 2014Decoupled cms sunshinephp 2014
Decoupled cms sunshinephp 2014
 
Wiring the Web
Wiring the WebWiring the Web
Wiring the Web
 
Making production deployments safe and repeatable using declarative infrastru...
Making production deployments safe and repeatable using declarative infrastru...Making production deployments safe and repeatable using declarative infrastru...
Making production deployments safe and repeatable using declarative infrastru...
 
[WSO2 Integration Summit Nairobi 2019] Role of Integration in an API Driven W...
[WSO2 Integration Summit Nairobi 2019] Role of Integration in an API Driven W...[WSO2 Integration Summit Nairobi 2019] Role of Integration in an API Driven W...
[WSO2 Integration Summit Nairobi 2019] Role of Integration in an API Driven W...
 
Mainframe Architecture & Product Overview
Mainframe Architecture & Product OverviewMainframe Architecture & Product Overview
Mainframe Architecture & Product Overview
 
Rest web service
Rest web serviceRest web service
Rest web service
 
Api Design and More (Friday Training at Itnig)
Api Design and More (Friday Training at Itnig)Api Design and More (Friday Training at Itnig)
Api Design and More (Friday Training at Itnig)
 
Jordi Romero Api for-the-mobile-era
Jordi Romero Api for-the-mobile-eraJordi Romero Api for-the-mobile-era
Jordi Romero Api for-the-mobile-era
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platform
 
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
 
Building social and RESTful frameworks
Building social and RESTful frameworksBuilding social and RESTful frameworks
Building social and RESTful frameworks
 
REST Presentation
REST PresentationREST Presentation
REST Presentation
 

More from Dominiek ter Heide

More from Dominiek ter Heide (9)

What is Node and Why does it Matter?
What is Node and Why does it Matter?What is Node and Why does it Matter?
What is Node and Why does it Matter?
 
Big Data loves JS
Big Data loves JSBig Data loves JS
Big Data loves JS
 
Guilder
GuilderGuilder
Guilder
 
Blinkly
BlinklyBlinkly
Blinkly
 
iKnow! API - Upcoming
iKnow! API - UpcomingiKnow! API - Upcoming
iKnow! API - Upcoming
 
Recked, Amsterdam, January 26th
Recked, Amsterdam, January 26thRecked, Amsterdam, January 26th
Recked, Amsterdam, January 26th
 
Reccoon for Strands Recommender
Reccoon for Strands RecommenderReccoon for Strands Recommender
Reccoon for Strands Recommender
 
iKnow! @ Tokyo 2.0
iKnow! @ Tokyo 2.0iKnow! @ Tokyo 2.0
iKnow! @ Tokyo 2.0
 
Ajax and RJS
Ajax and RJSAjax and RJS
Ajax and RJS
 

Recently uploaded

Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
amitlee9823
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
dlhescort
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
amitlee9823
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
dollysharma2066
 

Recently uploaded (20)

Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLBAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
 
Falcon Invoice Discounting platform in india
Falcon Invoice Discounting platform in indiaFalcon Invoice Discounting platform in india
Falcon Invoice Discounting platform in india
 
Malegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Malegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort ServiceMalegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Malegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
 
Phases of Negotiation .pptx
 Phases of Negotiation .pptx Phases of Negotiation .pptx
Phases of Negotiation .pptx
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptx
 
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
PHX May 2024 Corporate Presentation Final
PHX May 2024 Corporate Presentation FinalPHX May 2024 Corporate Presentation Final
PHX May 2024 Corporate Presentation Final
 
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 MonthsSEO Case Study: How I Increased SEO Traffic & Ranking by 50-60%  in 6 Months
SEO Case Study: How I Increased SEO Traffic & Ranking by 50-60% in 6 Months
 
Eluru Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
Eluru Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort ServiceEluru Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
Eluru Call Girls Service ☎ ️93326-06886 ❤️‍🔥 Enjoy 24/7 Escort Service
 
Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
 
Falcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business GrowthFalcon Invoice Discounting: Empowering Your Business Growth
Falcon Invoice Discounting: Empowering Your Business Growth
 
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesMysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and pains
 
Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876
Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876
Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 

Open API Architectural Choices Considerations