SlideShare a Scribd company logo
1 of 23
YQL
SriramIyer
YQL Engineering
SELECT * FROM INTERNET
WHAT IS YQL


• Query, filter, and join data across web services
    • Merge multiple data sources
• Expressive SQL-like language
    • Uniform access
    • No need to call different APIs
• Execute JS code to mutate request/response
    • Decorate, annotate, create own data model
• Tools and documentation for rapid development
    • Console, Table Editor, Guide, Blog, and Forum
XML   JSON          HTML   CSV




XML          JSON          JSONP
YQL FORMATS


• Accepts JSON, XML, HTML, CSV
• Outputs XML, JSON, JSONP
• Provides data type transformers and mutators
• Tidies up data sources for you
• Lets you spend more time building your app
FAST, GLOBALLY AVAILABLE


• Deployed across the globe
• Both front and back facing caches
• Developers can control cache behavior
    • _maxage parameter
    • _stalewhilerevalidate parameter
• Rate limited for external developers
    • 2000 calls per hour per IP on public endpoint
    • 20000 on OAuth protected endpoint
APP DEVELOPMENT USING YQL


• Pick the open tables to build your app
• Build new ones for your API if needed
• Test the tables in the YQL console
• Use the YUI-YQL module to get data
• Or just call the REST query endpoint
DATA SECURITY USING YQL


• Public endpoint - /v1/public/yql
     • Non-personalized data – securityLevel=“any”
• OAuth endpoint – v1/yql
     • 2-legged – securityLevel=“app”
     • 3-legged – securityLevel = “user”
YQL CONSOLE
CONSOLE PARAMETERS - DIAGNOSTICS
CONSOLE PARAMETERS - DEBUG
CONSOLE PARAMETERS – DEBUG CONTD.
CONSOLE TIPS – REST QUERY




  http://hackevent.yql.yahooapis.com/v1/public/yql?q=select%20*%20from%20answer.search%20where…
CONSOLE TIPS – COMMUNITY TABLES
CONSOLE TIPS – PERMALINK & ALIAS
TABLE EDITOR


• Rapid YQL table prototyping
    • Create YQL tables
    • Create YQL Environment files
    • Create YQL Javascript execute files
• Sample templates for all three
• Nifty drag & drop support
• All the above stored in the Yahoo! cloud
TABLE EDITOR – SAMPLE TABLE




http://hackevent.yql.yahooapis.com/v1/public/yql?q=use%20%22store%3A%2F%2FJBICskKfvKMhO3ddy3f0Wk%22%20as%20crunchbase.company
%3B%20select%20*%20from%20crunchbase.company%20where%20name%3D%27yahoo%27&diagnostics=true
TABLE EDITOR – SAMPLE JAVASCRIPT
TABLE EDITOR – SAMPLE ENVIRONMENT
DEMO
QUESTIONS
THANKS
Console: http://developer.yahoo.com/yql/console
Endpoint: hackevent.yql.yahooapis.com
Community:
   http://www.yqlblog.net/
   http://www.datatables.org/
   https://github.com/yql/yql-tables
Email: yql-questions@yahoo-inc.com
Twitter: @yql
Slides:
   http://www.slideshare.net/sriramiyer2007/presentatio
    ns

More Related Content

What's hot

Building real time serverless back ends with aws appsync
Building real time serverless back ends with aws appsyncBuilding real time serverless back ends with aws appsync
Building real time serverless back ends with aws appsyncsterkje
 
Kibana Tutorial | Kibana Dashboard Tutorial | Kibana Elasticsearch | ELK Stac...
Kibana Tutorial | Kibana Dashboard Tutorial | Kibana Elasticsearch | ELK Stac...Kibana Tutorial | Kibana Dashboard Tutorial | Kibana Elasticsearch | ELK Stac...
Kibana Tutorial | Kibana Dashboard Tutorial | Kibana Elasticsearch | ELK Stac...Edureka!
 
A (XPages) developers guide to Cloudant - MeetIT
A (XPages) developers guide to Cloudant - MeetITA (XPages) developers guide to Cloudant - MeetIT
A (XPages) developers guide to Cloudant - MeetITFrank van der Linden
 
GlueCon 2015 - Publish your SQL data as web APIs
GlueCon 2015 - Publish your SQL data as web APIsGlueCon 2015 - Publish your SQL data as web APIs
GlueCon 2015 - Publish your SQL data as web APIsRestlet
 
Offline first with Couchbase Mobile
Offline first with Couchbase MobileOffline first with Couchbase Mobile
Offline first with Couchbase MobileVegard Haugstvedt
 
A (XPages) developers guide to Cloudant
A (XPages) developers guide to CloudantA (XPages) developers guide to Cloudant
A (XPages) developers guide to CloudantFrank van der Linden
 
An API-first approach. Integrating ckan with RDM services
An API-first approach. Integrating ckan with RDM servicesAn API-first approach. Integrating ckan with RDM services
An API-first approach. Integrating ckan with RDM servicesJoss Winn
 
Intro stream processing.be meetup #1
Intro stream processing.be meetup #1Intro stream processing.be meetup #1
Intro stream processing.be meetup #1Peter Vandenabeele
 
Fullstack monitoring - Overview
Fullstack monitoring - OverviewFullstack monitoring - Overview
Fullstack monitoring - OverviewJulien Maitrehenry
 
Kafka in practice
Kafka in practiceKafka in practice
Kafka in practiceCaique Lima
 
Cross company issue tracking slides
Cross company issue tracking   slidesCross company issue tracking   slides
Cross company issue tracking slidesExalate
 
Icinga Camp San Francisco 2017 - Icinga Director - Managing your configuration
Icinga Camp San Francisco 2017 - Icinga Director - Managing your configurationIcinga Camp San Francisco 2017 - Icinga Director - Managing your configuration
Icinga Camp San Francisco 2017 - Icinga Director - Managing your configurationIcinga
 
Cloudtrek Basics Overview
Cloudtrek Basics OverviewCloudtrek Basics Overview
Cloudtrek Basics OverviewDmitriy Zgoda
 
Spark Summit EU: IBM Keynote
Spark Summit EU: IBM KeynoteSpark Summit EU: IBM Keynote
Spark Summit EU: IBM Keynotesparktc
 
OPEN'17_2_Customer Experience_Essent
OPEN'17_2_Customer Experience_EssentOPEN'17_2_Customer Experience_Essent
OPEN'17_2_Customer Experience_EssentKangaroot
 
Exalate - Issue Sync for Jira and More
Exalate - Issue Sync for Jira and MoreExalate - Issue Sync for Jira and More
Exalate - Issue Sync for Jira and MoreExalate
 

What's hot (20)

Elk meetup
Elk meetupElk meetup
Elk meetup
 
Building real time serverless back ends with aws appsync
Building real time serverless back ends with aws appsyncBuilding real time serverless back ends with aws appsync
Building real time serverless back ends with aws appsync
 
Kibana Tutorial | Kibana Dashboard Tutorial | Kibana Elasticsearch | ELK Stac...
Kibana Tutorial | Kibana Dashboard Tutorial | Kibana Elasticsearch | ELK Stac...Kibana Tutorial | Kibana Dashboard Tutorial | Kibana Elasticsearch | ELK Stac...
Kibana Tutorial | Kibana Dashboard Tutorial | Kibana Elasticsearch | ELK Stac...
 
A (XPages) developers guide to Cloudant - MeetIT
A (XPages) developers guide to Cloudant - MeetITA (XPages) developers guide to Cloudant - MeetIT
A (XPages) developers guide to Cloudant - MeetIT
 
GlueCon 2015 - Publish your SQL data as web APIs
GlueCon 2015 - Publish your SQL data as web APIsGlueCon 2015 - Publish your SQL data as web APIs
GlueCon 2015 - Publish your SQL data as web APIs
 
Offline first with Couchbase Mobile
Offline first with Couchbase MobileOffline first with Couchbase Mobile
Offline first with Couchbase Mobile
 
A (XPages) developers guide to Cloudant
A (XPages) developers guide to CloudantA (XPages) developers guide to Cloudant
A (XPages) developers guide to Cloudant
 
Reporting
ReportingReporting
Reporting
 
An API-first approach. Integrating ckan with RDM services
An API-first approach. Integrating ckan with RDM servicesAn API-first approach. Integrating ckan with RDM services
An API-first approach. Integrating ckan with RDM services
 
Intro stream processing.be meetup #1
Intro stream processing.be meetup #1Intro stream processing.be meetup #1
Intro stream processing.be meetup #1
 
Fullstack monitoring - Overview
Fullstack monitoring - OverviewFullstack monitoring - Overview
Fullstack monitoring - Overview
 
Kafka in practice
Kafka in practiceKafka in practice
Kafka in practice
 
Cross company issue tracking slides
Cross company issue tracking   slidesCross company issue tracking   slides
Cross company issue tracking slides
 
Icinga Camp San Francisco 2017 - Icinga Director - Managing your configuration
Icinga Camp San Francisco 2017 - Icinga Director - Managing your configurationIcinga Camp San Francisco 2017 - Icinga Director - Managing your configuration
Icinga Camp San Francisco 2017 - Icinga Director - Managing your configuration
 
Cloudtrek Basics Overview
Cloudtrek Basics OverviewCloudtrek Basics Overview
Cloudtrek Basics Overview
 
Spark Summit EU: IBM Keynote
Spark Summit EU: IBM KeynoteSpark Summit EU: IBM Keynote
Spark Summit EU: IBM Keynote
 
OPEN'17_2_Customer Experience_Essent
OPEN'17_2_Customer Experience_EssentOPEN'17_2_Customer Experience_Essent
OPEN'17_2_Customer Experience_Essent
 
Exalate - Issue Sync for Jira and More
Exalate - Issue Sync for Jira and MoreExalate - Issue Sync for Jira and More
Exalate - Issue Sync for Jira and More
 
Web without framework
Web without frameworkWeb without framework
Web without framework
 
Find your data
Find your dataFind your data
Find your data
 

Viewers also liked

Nationaal verkeersmodel goudappel_groep
Nationaal verkeersmodel goudappel_groepNationaal verkeersmodel goudappel_groep
Nationaal verkeersmodel goudappel_groepHenriPalm
 
Jrf 30 yr questionnaire march 2011
Jrf 30 yr questionnaire   march 2011Jrf 30 yr questionnaire   march 2011
Jrf 30 yr questionnaire march 2011Casey Morrison
 
Open Hack Taiwan 2012 - Hacking 101
Open Hack Taiwan 2012 - Hacking 101Open Hack Taiwan 2012 - Hacking 101
Open Hack Taiwan 2012 - Hacking 101sriramiyer2007
 
Guinea Bissua Talent 21 project
Guinea Bissua Talent 21 projectGuinea Bissua Talent 21 project
Guinea Bissua Talent 21 project13vargasmel
 
La aplicación de la informática en la enseñanza
La aplicación de la informática en la enseñanzaLa aplicación de la informática en la enseñanza
La aplicación de la informática en la enseñanzaEduardo Estrella
 
L edukazzjoni tal-konsumatur
L edukazzjoni tal-konsumaturL edukazzjoni tal-konsumatur
L edukazzjoni tal-konsumaturDorothy Cuschieri
 
My interview for the National Trust..
My interview for the National Trust..My interview for the National Trust..
My interview for the National Trust..Casey Morrison
 
Guinea Bissua Talent 21 Project
Guinea Bissua Talent 21 ProjectGuinea Bissua Talent 21 Project
Guinea Bissua Talent 21 Project13vargasmel
 
TQM BOOK presentation athens 2010
TQM BOOK presentation athens 2010TQM BOOK presentation athens 2010
TQM BOOK presentation athens 2010Stavros Politis
 
On the relationship between sound and the world
On the relationship between sound and the worldOn the relationship between sound and the world
On the relationship between sound and the worldCasey Morrison
 
How do we want to support independent voluntary action in 2020..?
How do we want to support independent voluntary action in 2020..?How do we want to support independent voluntary action in 2020..?
How do we want to support independent voluntary action in 2020..?Casey Morrison
 
Open Hack Taiwan 2012 - Mojito intro
Open Hack Taiwan 2012 - Mojito introOpen Hack Taiwan 2012 - Mojito intro
Open Hack Taiwan 2012 - Mojito introsriramiyer2007
 
Sn Politis 1 St Conf On Pharm Sciences Athens April2012
Sn Politis 1 St Conf On Pharm Sciences Athens April2012Sn Politis 1 St Conf On Pharm Sciences Athens April2012
Sn Politis 1 St Conf On Pharm Sciences Athens April2012Stavros Politis
 
Sn Politis 1 St Conf On Pharm Sciences Athens April2012
Sn Politis 1 St Conf On Pharm Sciences Athens April2012Sn Politis 1 St Conf On Pharm Sciences Athens April2012
Sn Politis 1 St Conf On Pharm Sciences Athens April2012Stavros Politis
 

Viewers also liked (17)

Nationaal verkeersmodel goudappel_groep
Nationaal verkeersmodel goudappel_groepNationaal verkeersmodel goudappel_groep
Nationaal verkeersmodel goudappel_groep
 
Jrf 30 yr questionnaire march 2011
Jrf 30 yr questionnaire   march 2011Jrf 30 yr questionnaire   march 2011
Jrf 30 yr questionnaire march 2011
 
Open Hack Taiwan 2012 - Hacking 101
Open Hack Taiwan 2012 - Hacking 101Open Hack Taiwan 2012 - Hacking 101
Open Hack Taiwan 2012 - Hacking 101
 
Guinea Bissua Talent 21 project
Guinea Bissua Talent 21 projectGuinea Bissua Talent 21 project
Guinea Bissua Talent 21 project
 
La aplicación de la informática en la enseñanza
La aplicación de la informática en la enseñanzaLa aplicación de la informática en la enseñanza
La aplicación de la informática en la enseñanza
 
L edukazzjoni tal-konsumatur
L edukazzjoni tal-konsumaturL edukazzjoni tal-konsumatur
L edukazzjoni tal-konsumatur
 
My interview for the National Trust..
My interview for the National Trust..My interview for the National Trust..
My interview for the National Trust..
 
Guinea Bissua Talent 21 Project
Guinea Bissua Talent 21 ProjectGuinea Bissua Talent 21 Project
Guinea Bissua Talent 21 Project
 
TQM BOOK presentation athens 2010
TQM BOOK presentation athens 2010TQM BOOK presentation athens 2010
TQM BOOK presentation athens 2010
 
On the relationship between sound and the world
On the relationship between sound and the worldOn the relationship between sound and the world
On the relationship between sound and the world
 
How do we want to support independent voluntary action in 2020..?
How do we want to support independent voluntary action in 2020..?How do we want to support independent voluntary action in 2020..?
How do we want to support independent voluntary action in 2020..?
 
Mi ciudad
Mi ciudadMi ciudad
Mi ciudad
 
Open Hack Taiwan 2012 - Mojito intro
Open Hack Taiwan 2012 - Mojito introOpen Hack Taiwan 2012 - Mojito intro
Open Hack Taiwan 2012 - Mojito intro
 
Presentation ekonomija
Presentation   ekonomijaPresentation   ekonomija
Presentation ekonomija
 
Sn Politis 1 St Conf On Pharm Sciences Athens April2012
Sn Politis 1 St Conf On Pharm Sciences Athens April2012Sn Politis 1 St Conf On Pharm Sciences Athens April2012
Sn Politis 1 St Conf On Pharm Sciences Athens April2012
 
Mis autos
Mis autosMis autos
Mis autos
 
Sn Politis 1 St Conf On Pharm Sciences Athens April2012
Sn Politis 1 St Conf On Pharm Sciences Athens April2012Sn Politis 1 St Conf On Pharm Sciences Athens April2012
Sn Politis 1 St Conf On Pharm Sciences Athens April2012
 

Similar to WPP Hackday presentation - YQL

YQL Publicis Hackday
YQL Publicis HackdayYQL Publicis Hackday
YQL Publicis HackdayPaul Donnelly
 
OSMC 2021 | Use OpenSource monitoring for an Enterprise Grade Platform
OSMC 2021 | Use OpenSource monitoring for an Enterprise Grade PlatformOSMC 2021 | Use OpenSource monitoring for an Enterprise Grade Platform
OSMC 2021 | Use OpenSource monitoring for an Enterprise Grade PlatformNETWAYS
 
Open Hack Taiwan 2012
Open Hack Taiwan 2012Open Hack Taiwan 2012
Open Hack Taiwan 2012Cody Schwebke
 
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014Arun Gupta
 
WebLogic authentication debugging
WebLogic authentication debuggingWebLogic authentication debugging
WebLogic authentication debuggingMaarten Smeets
 
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)Lucas Jellema
 
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...Lucas Jellema
 
Yui conf nov8-2010-introtoyql
Yui conf nov8-2010-introtoyqlYui conf nov8-2010-introtoyql
Yui conf nov8-2010-introtoyqlmirekgrymuza
 
Modern web application development with java ee 7
Modern web application development with java ee 7Modern web application development with java ee 7
Modern web application development with java ee 7Shekhar Gulati
 
Oracle Fusion Middleware on Exalogic Best Practises
Oracle Fusion Middleware on Exalogic Best PractisesOracle Fusion Middleware on Exalogic Best Practises
Oracle Fusion Middleware on Exalogic Best PractisesMichel Schildmeijer
 
Unified Device Management via Java-enabled Network Devices
Unified Device Management via Java-enabled Network DevicesUnified Device Management via Java-enabled Network Devices
Unified Device Management via Java-enabled Network DevicesTal Lavian Ph.D.
 
End to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) EuropeEnd to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) EuropeAlexandre Morgaut
 
Unified Device Management via Java-enabled Network Devices
Unified Device Management via Java-enabled Network DevicesUnified Device Management via Java-enabled Network Devices
Unified Device Management via Java-enabled Network DevicesTal Lavian Ph.D.
 
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...Lucas Jellema
 
Extending WordPress as a pro
Extending WordPress as a proExtending WordPress as a pro
Extending WordPress as a proMarko Heijnen
 
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...Flink Forward
 
Oracle Cloud Native Application Development (Meetup, 20th January 2020)
Oracle Cloud Native Application Development (Meetup, 20th January 2020)Oracle Cloud Native Application Development (Meetup, 20th January 2020)
Oracle Cloud Native Application Development (Meetup, 20th January 2020)Lucas Jellema
 

Similar to WPP Hackday presentation - YQL (20)

YQL Publicis Hackday
YQL Publicis HackdayYQL Publicis Hackday
YQL Publicis Hackday
 
OSMC 2021 | Use OpenSource monitoring for an Enterprise Grade Platform
OSMC 2021 | Use OpenSource monitoring for an Enterprise Grade PlatformOSMC 2021 | Use OpenSource monitoring for an Enterprise Grade Platform
OSMC 2021 | Use OpenSource monitoring for an Enterprise Grade Platform
 
Open Hack Taiwan 2012
Open Hack Taiwan 2012Open Hack Taiwan 2012
Open Hack Taiwan 2012
 
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
 
WebLogic authentication debugging
WebLogic authentication debuggingWebLogic authentication debugging
WebLogic authentication debugging
 
PP_Eric_Gandt
PP_Eric_GandtPP_Eric_Gandt
PP_Eric_Gandt
 
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
 
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...
 
Yui conf nov8-2010-introtoyql
Yui conf nov8-2010-introtoyqlYui conf nov8-2010-introtoyql
Yui conf nov8-2010-introtoyql
 
Apereo OAE - Bootcamp
Apereo OAE - BootcampApereo OAE - Bootcamp
Apereo OAE - Bootcamp
 
Modern web application development with java ee 7
Modern web application development with java ee 7Modern web application development with java ee 7
Modern web application development with java ee 7
 
Oracle Fusion Middleware on Exalogic Best Practises
Oracle Fusion Middleware on Exalogic Best PractisesOracle Fusion Middleware on Exalogic Best Practises
Oracle Fusion Middleware on Exalogic Best Practises
 
Unified Device Management via Java-enabled Network Devices
Unified Device Management via Java-enabled Network DevicesUnified Device Management via Java-enabled Network Devices
Unified Device Management via Java-enabled Network Devices
 
End to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) EuropeEnd to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) Europe
 
Unified Device Management via Java-enabled Network Devices
Unified Device Management via Java-enabled Network DevicesUnified Device Management via Java-enabled Network Devices
Unified Device Management via Java-enabled Network Devices
 
Swt
SwtSwt
Swt
 
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...
 
Extending WordPress as a pro
Extending WordPress as a proExtending WordPress as a pro
Extending WordPress as a pro
 
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...
 
Oracle Cloud Native Application Development (Meetup, 20th January 2020)
Oracle Cloud Native Application Development (Meetup, 20th January 2020)Oracle Cloud Native Application Development (Meetup, 20th January 2020)
Oracle Cloud Native Application Development (Meetup, 20th January 2020)
 

Recently uploaded

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 

Recently uploaded (20)

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

WPP Hackday presentation - YQL

  • 1.
  • 3. SELECT * FROM INTERNET
  • 4. WHAT IS YQL • Query, filter, and join data across web services • Merge multiple data sources • Expressive SQL-like language • Uniform access • No need to call different APIs • Execute JS code to mutate request/response • Decorate, annotate, create own data model • Tools and documentation for rapid development • Console, Table Editor, Guide, Blog, and Forum
  • 5. XML JSON HTML CSV XML JSON JSONP
  • 6. YQL FORMATS • Accepts JSON, XML, HTML, CSV • Outputs XML, JSON, JSONP • Provides data type transformers and mutators • Tidies up data sources for you • Lets you spend more time building your app
  • 7. FAST, GLOBALLY AVAILABLE • Deployed across the globe • Both front and back facing caches • Developers can control cache behavior • _maxage parameter • _stalewhilerevalidate parameter • Rate limited for external developers • 2000 calls per hour per IP on public endpoint • 20000 on OAuth protected endpoint
  • 8. APP DEVELOPMENT USING YQL • Pick the open tables to build your app • Build new ones for your API if needed • Test the tables in the YQL console • Use the YUI-YQL module to get data • Or just call the REST query endpoint
  • 9. DATA SECURITY USING YQL • Public endpoint - /v1/public/yql • Non-personalized data – securityLevel=“any” • OAuth endpoint – v1/yql • 2-legged – securityLevel=“app” • 3-legged – securityLevel = “user”
  • 11. CONSOLE PARAMETERS - DIAGNOSTICS
  • 13. CONSOLE PARAMETERS – DEBUG CONTD.
  • 14. CONSOLE TIPS – REST QUERY http://hackevent.yql.yahooapis.com/v1/public/yql?q=select%20*%20from%20answer.search%20where…
  • 15. CONSOLE TIPS – COMMUNITY TABLES
  • 16. CONSOLE TIPS – PERMALINK & ALIAS
  • 17. TABLE EDITOR • Rapid YQL table prototyping • Create YQL tables • Create YQL Environment files • Create YQL Javascript execute files • Sample templates for all three • Nifty drag & drop support • All the above stored in the Yahoo! cloud
  • 18. TABLE EDITOR – SAMPLE TABLE http://hackevent.yql.yahooapis.com/v1/public/yql?q=use%20%22store%3A%2F%2FJBICskKfvKMhO3ddy3f0Wk%22%20as%20crunchbase.company %3B%20select%20*%20from%20crunchbase.company%20where%20name%3D%27yahoo%27&diagnostics=true
  • 19. TABLE EDITOR – SAMPLE JAVASCRIPT
  • 20. TABLE EDITOR – SAMPLE ENVIRONMENT
  • 21. DEMO
  • 23. THANKS Console: http://developer.yahoo.com/yql/console Endpoint: hackevent.yql.yahooapis.com Community:  http://www.yqlblog.net/  http://www.datatables.org/  https://github.com/yql/yql-tables Email: yql-questions@yahoo-inc.com Twitter: @yql Slides:  http://www.slideshare.net/sriramiyer2007/presentatio ns

Editor's Notes

  1. Introduce selfWill be talking about YQL and what it does
  2. Yahoo! Hosted serviceMaps familiar SQL syntax to APIs using YQL tables to bridge the gap – NOT a real database Powerful “execute” concept allows to build on top of data from various sources
  3. Use YQL to read XML, JSON, HTML, or CSV data from various http/s sourcesAggregate, mutate, decorate this data within the execute phaseOutput your data in XML, JSON or JSONP
  4. Various data formats as input/output as mentioned previouslyYQL provides an easy way of transforming between these formats – also special mutators within execute (xmlToJson) Quirks in conversion – jsonCompat modeInvokes Jtidy automatically to clean up – an optional HTML5 mode
  5. Hosted in Yahoo! InfrastructureLeverages Squid & YTS caching technologiesProvides hooks to control cache behaviorNeed some controls – rate limited, but recently doubled
  6. You can develop something very quickly with YQLChoose existing tables or create new ones using the console – try them outUse YUI library or plain http call to invoke table – integrate with your app
  7. Console is a good tool to query, need actual http endpoints to use from within appsPublic for data that needs no auth – news feeds, weather, quotes, etc2-legged oauth for protecting app level tables3-legged oauth for personal data tied to a user
  8. 1 of 2 ways of playing with YQL – 2nd is pipes (graphical way of connecting/querying APIs)Starting point for most people, constant addition of nifty tools/utilities to the consoleAccess to a large number of existing tables – might be enough to start creating your hack !!
  9. Check the Diagnostic box, get a <diagnostics> section with some good infoIs the table publicly callable, the urls accessed by the table, time spent fetching data, time sent executing within YQL engine, etc.Log messages also go to diagnostics
  10. Another useful feature – check the Debug boxYQL captures all HTTP request/responses and stores them temporarily (5 mins)Gives you a link with a UUID that takes you to the request/response associated with a URLYou can see exactly what headers are being passed, what the response code is, etc.Debug is also how you skip caching on YQL
  11. This is the page that shows you the request/response associated with a URLVery useful for debugging
  12. Now that you have played around with the table, you want to start using a table from your app or from a command lineJust “curl” the REST query from the console – will work right away if the table is publicIf table has oauth, then you need to write some code on your app to sign the requestIMPORTANT – use hackevent.yql.yahooapis.com instead of query.yahooapis.com
  13. Another great feature – around 1200 community generated tables – amazon, itunes, you name itAnybody that feels like exposing a data source as a YQL table can head over to our Github repoYou can easily import and execute these community tables within the console
  14. Permalink – a link to the console page with the query and params pre-populated – shortener incidentally is built on top of YQLAlias provides an even smaller personal link you can share with others
  15. Latest addition to the console – personalized tool to rapidly create/store/test tablesTied to your Yahoo! ID – login to YDN console before proceedingCompletes the tool set for someone writing a simple service that accesses third party data
  16. Access the table editor by clicking on MY YQL in the right hand side of the consoleWill only work on the YDN console for now – use the YDN console to build your tables, change the hostname to use the REST querySee that once you go back to the YDN console the new table shows up under MY YQL on the right – click the refresh button if it does not
  17. Same as creating a new tableWe use the Rhino interpreter, so not all JS methods/objects might work the sameInclude the newly created JS into an existing tables <execute> block … and the JS is executed as well
  18. YQL Environment is a collection of tables and javascriptUseful to build multiple tables sharing common javascript – drag & drop tables/jsUse namespaces to organize your tables
  19. Quick console demo – show tables, query answers table, diagnostics, debug, xml, json, built-in tables, community tables, rest query, permalink, query aliasQuick table demo – create crunchbase.product - http://api.crunchbase.com/v/1/product/iphone.js, add to env, run env
  20. Develop on YDN console, change hostname for REST Query endpoint