SlideShare a Scribd company logo
1 of 56
APIs, Web Services, and
Mashups
What they are and how they can be used
by Shane Nackerud
University of Minnesota Libraries
snackeru@umn.edu
Agenda
What is an API?
What is a Web
Service?
What is a mashup?
What are some
examples?
Look at an API
A little code ...
What is an API?

“An application programming interface (API) is a
particular set of rules and specifications that a software
program can follow to access and make use of the
services and resources provided by another software
program.”
    http://en.wikipedia.org/wiki/Application_programming_interface
Break it down

Interface for software apps and servers
Application to Application interaction and exchange of
data
Real time communication and data exchange
Allows software programs to interact with other
software programs data through means other than the
normal main interface
Twitter API



               Tweetdeck

Facebook API
Web Service

TweetDeck is a client application
Web services are APIs that work primarily through the
web, web servers, or a network
Server to server APIs
Google Maps API is a good example
Add the code to include the Google Maps API:
<script src="http://maps.google.com/maps?
file=api&amp;v=2&amp;
key=ABQIAAAA6JBCuUc9hZU7FVhzHksqsxSFThBmb0Wg
HbIO-PDXl2-6njl54hRynCyYgHJZbbA1K1ChW7zdIcbMwA"
type="text/javascript"></script>
Add the code to include library locations data and mark
them on the map:

var request = GXmlHttp.create();
    request.open("GET", "/libinc/libraries.xml", true);
    request.onreadystatechange = function() {
     if (request.readyState == 4) {
       var xmlDoc = GXml.parse(request.responseText);
       // obtain the array of markers and loop through it
       var markers =
xmlDoc.documentElement.getElementsByTagName("mar
ker");
Library Location XML Data:
<markers>
 <marker lat="44.970971" lng="-93.243633" html="Ames Library (in
 Wilson Library)<br />309 19th Ave. S.<br />
 Minneapolis, MN 55455<br />612-624-4857<br /><a href='http://
 www.lib.umn.edu/site/fetch_hours.phtml?LibID=2'>
 Hours</a><br />" label="Ames Library (in Wilson Library)"/>
 <marker lat="44.973191" lng="-93.243083" html="Andersen
 Library<br />222 21st Ave. S.<br />
 Minneapolis, MN 55455<br />612-625-9825<br /><a href='http://
 www.lib.umn.edu/site/fetch_hours.phtml?LibID=14'>
 Hours</a><br />" label="Elmer L. Andersen Library"/>
Mashups


 A website that combines information/data from more
 than one source creating an integrated experience
 Speaking of Google Maps ...
http://earthquakes.tafoni.net/
http://trendsmap.com
http://whatwasthere.com/
Types of APIs
Interface APIs
  Google Maps
  Bing Maps
  Yahoo Maps
  Open Street Maps
Data APIs
Why?

Developers
  Get at important data/services not locally held
  Quicker creation of common tasks and services
  Learn more about their users
  Create whizz-bang gizmos and gadgets
Why?

Providers
  Create more visibility for services offered
  Create more traffic for services offered
  Make money (some APIs aren’t free)
  Make customers happy and be amazed at how they
  use your data
OCLC Web Services
http://www.oclc.org/developer/services
WorldCat Search API
xISSN + WorldCat Search API + Catalog API
xISSN + WorldCat Search API + Catalog API
xISSN + WorldCat Search API + Catalog API
QuestionPoint Knowledgebase
AlephX + xISBN
AlephX + xISBN
AlephX + Amazon Recommedations API + xISBN
AlephX + Amazon Recommedations API + xISBN
Query Protocol Record Formats
Query Protocol Record Formats




xISBN - can query the API through REST and OpenURL
Query Protocol Record Formats




xISBN - can query the API through REST and OpenURL
Data - comes back as XML, JSON, TEXT, PHP,
HTML
Query Protocol Record Formats




xISBN - can query the API through REST and OpenURL
Data - comes back as XML, JSON, TEXT, PHP,
HTML

                    Say what?
REST

Representational State Transfer (REST) is a style of
software architecture for distributed hypermedia
systems such as the World Wide Web.
For our purposes: RESTful APIs use HTTP to request
the data
Data is requested through a URL call
Similar to OpenURL
xISBN REST request


   http://xisbn.worldcat.org/
     webservices/xid/isbn/
   0596002815?format=xml
xISBN Metadata Request

  http://xisbn.worldcat.org/
    webservices/xid/isbn/
        0596002815?
method=getMetadata&format=
            xml&fl=*
More examples at:
http://xisbn.worldcat.org/xisbnadmin/doc/api.htm
xISBN API        xisbnparse.xsl




0596002815




             book.php
xISBN API        xisbnparse.xsl




0596002815




             book.php
xISBN API        xisbnparse.xsl




   0596002815




                book.php



xHTML page
book.php?isbn=0596002815
<?php
$xsl = new DomDocument;
$xsl->load("xisbnparse.xsl");
$xmloutput = new DomDocument;
$xmloutput->load("http://xisbn.worldcat.org/
webservices/xid/isbn/$isbn?
method=getMetadata&format=xml&fl=*");
$xsltproc->importStylesheet($xsl);
echo $xsltproc->transformtoXML($xmloutput);
?>
• U of M Libraries Mobile
• AlephX, PrimoX, X-Services
• PHP, XSLT
http://www.lib.umn.edu/libdata/rest/librestapis.html
AlephX + ERes RSS Feed
Course Specific
     Resource
  Suggestions API



 Subject Guide API



Course Reserves API
In conclusion
Old and Busted        New Hotness
         Web Server      Web Server
                                      API


                                      API


                                      API




         Database         Database
In conclusion

 With APIs the Web can truly become a networked
 database (of sorts)
 Always ask a vendor if the application has an API
 Start noticing APIs that are available and think ...
 Be a provider, too

More Related Content

What's hot

Library Mashups & APIs
Library Mashups & APIsLibrary Mashups & APIs
Library Mashups & APIslibrarywebchic
 
The glory of REST in Java: Spring HATEOAS, RAML, Temenos IRIS
The glory of REST in Java: Spring HATEOAS, RAML, Temenos IRISThe glory of REST in Java: Spring HATEOAS, RAML, Temenos IRIS
The glory of REST in Java: Spring HATEOAS, RAML, Temenos IRISGeert Pante
 
Programmatic access to wormbase data WormBase Workshop International Worm Mee...
Programmatic access to wormbase data WormBase Workshop International Worm Mee...Programmatic access to wormbase data WormBase Workshop International Worm Mee...
Programmatic access to wormbase data WormBase Workshop International Worm Mee...raymond91105
 
Intro to SharePoint Web Services
Intro to SharePoint Web ServicesIntro to SharePoint Web Services
Intro to SharePoint Web ServicesMark Rackley
 
TulsaTechFest - Maximize SharePoint UX with free jQuery libraries
TulsaTechFest - Maximize SharePoint UX with free jQuery librariesTulsaTechFest - Maximize SharePoint UX with free jQuery libraries
TulsaTechFest - Maximize SharePoint UX with free jQuery librariesMark Rackley
 
A Power User's Intro to jQuery Awesomeness in SharePoint
A Power User's Intro to jQuery Awesomeness in SharePointA Power User's Intro to jQuery Awesomeness in SharePoint
A Power User's Intro to jQuery Awesomeness in SharePointMark Rackley
 
Stefaan Ponnet, Fusebox
Stefaan Ponnet, FuseboxStefaan Ponnet, Fusebox
Stefaan Ponnet, Fuseboxnascomgenk
 
Creating 3rd Generation Web APIs with Hydra
Creating 3rd Generation Web APIs with HydraCreating 3rd Generation Web APIs with Hydra
Creating 3rd Generation Web APIs with HydraMarkus Lanthaler
 
Developing for Astoria: ADO.NET Data Services
Developing for Astoria: ADO.NET Data ServicesDeveloping for Astoria: ADO.NET Data Services
Developing for Astoria: ADO.NET Data ServicesHarish Ranganathan
 
Bridging the gap from Wikipedia to scholarly sources: a simple discovery solu...
Bridging the gap from Wikipedia to scholarly sources: a simple discovery solu...Bridging the gap from Wikipedia to scholarly sources: a simple discovery solu...
Bridging the gap from Wikipedia to scholarly sources: a simple discovery solu...Valerie Forrestal
 
Emerging technologies in academic libraries
Emerging technologies in academic librariesEmerging technologies in academic libraries
Emerging technologies in academic librariesMichael Cummings
 
Web scraping with BeautifulSoup, LXML, RegEx and Scrapy
Web scraping with BeautifulSoup, LXML, RegEx and ScrapyWeb scraping with BeautifulSoup, LXML, RegEx and Scrapy
Web scraping with BeautifulSoup, LXML, RegEx and ScrapyLITTINRAJAN
 
Using jQuery to Maximize Form Usability
Using jQuery to Maximize Form UsabilityUsing jQuery to Maximize Form Usability
Using jQuery to Maximize Form UsabilityMark Rackley
 
Дмитрий Красун: Сегодня вы уйдете с новым представлением о REST
Дмитрий Красун: Сегодня вы уйдете с новым представлением о RESTДмитрий Красун: Сегодня вы уйдете с новым представлением о REST
Дмитрий Красун: Сегодня вы уйдете с новым представлением о RESTOleg Poludnenko
 
Working with a super model for SharePoint Tuga IT 2016
Working with a super model for SharePoint Tuga IT 2016Working with a super model for SharePoint Tuga IT 2016
Working with a super model for SharePoint Tuga IT 2016Sonja Madsen
 
Database presentation
Database presentationDatabase presentation
Database presentationAlaaRidha
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery GuideMark Rackley
 

What's hot (20)

Library Mashups & APIs
Library Mashups & APIsLibrary Mashups & APIs
Library Mashups & APIs
 
The glory of REST in Java: Spring HATEOAS, RAML, Temenos IRIS
The glory of REST in Java: Spring HATEOAS, RAML, Temenos IRISThe glory of REST in Java: Spring HATEOAS, RAML, Temenos IRIS
The glory of REST in Java: Spring HATEOAS, RAML, Temenos IRIS
 
Programmatic access to wormbase data WormBase Workshop International Worm Mee...
Programmatic access to wormbase data WormBase Workshop International Worm Mee...Programmatic access to wormbase data WormBase Workshop International Worm Mee...
Programmatic access to wormbase data WormBase Workshop International Worm Mee...
 
Rest and Rails
Rest and RailsRest and Rails
Rest and Rails
 
Intro to SharePoint Web Services
Intro to SharePoint Web ServicesIntro to SharePoint Web Services
Intro to SharePoint Web Services
 
TulsaTechFest - Maximize SharePoint UX with free jQuery libraries
TulsaTechFest - Maximize SharePoint UX with free jQuery librariesTulsaTechFest - Maximize SharePoint UX with free jQuery libraries
TulsaTechFest - Maximize SharePoint UX with free jQuery libraries
 
A Power User's Intro to jQuery Awesomeness in SharePoint
A Power User's Intro to jQuery Awesomeness in SharePointA Power User's Intro to jQuery Awesomeness in SharePoint
A Power User's Intro to jQuery Awesomeness in SharePoint
 
Stefaan Ponnet, Fusebox
Stefaan Ponnet, FuseboxStefaan Ponnet, Fusebox
Stefaan Ponnet, Fusebox
 
Creating 3rd Generation Web APIs with Hydra
Creating 3rd Generation Web APIs with HydraCreating 3rd Generation Web APIs with Hydra
Creating 3rd Generation Web APIs with Hydra
 
Developing for Astoria: ADO.NET Data Services
Developing for Astoria: ADO.NET Data ServicesDeveloping for Astoria: ADO.NET Data Services
Developing for Astoria: ADO.NET Data Services
 
Bridging the gap from Wikipedia to scholarly sources: a simple discovery solu...
Bridging the gap from Wikipedia to scholarly sources: a simple discovery solu...Bridging the gap from Wikipedia to scholarly sources: a simple discovery solu...
Bridging the gap from Wikipedia to scholarly sources: a simple discovery solu...
 
Emerging technologies in academic libraries
Emerging technologies in academic librariesEmerging technologies in academic libraries
Emerging technologies in academic libraries
 
Web scraping with BeautifulSoup, LXML, RegEx and Scrapy
Web scraping with BeautifulSoup, LXML, RegEx and ScrapyWeb scraping with BeautifulSoup, LXML, RegEx and Scrapy
Web scraping with BeautifulSoup, LXML, RegEx and Scrapy
 
Using jQuery to Maximize Form Usability
Using jQuery to Maximize Form UsabilityUsing jQuery to Maximize Form Usability
Using jQuery to Maximize Form Usability
 
Дмитрий Красун: Сегодня вы уйдете с новым представлением о REST
Дмитрий Красун: Сегодня вы уйдете с новым представлением о RESTДмитрий Красун: Сегодня вы уйдете с новым представлением о REST
Дмитрий Красун: Сегодня вы уйдете с новым представлением о REST
 
Working with a super model for SharePoint Tuga IT 2016
Working with a super model for SharePoint Tuga IT 2016Working with a super model for SharePoint Tuga IT 2016
Working with a super model for SharePoint Tuga IT 2016
 
Database presentation
Database presentationDatabase presentation
Database presentation
 
Intro to GraphQL
Intro to GraphQLIntro to GraphQL
Intro to GraphQL
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide
 
SEO for Developers
SEO for DevelopersSEO for Developers
SEO for Developers
 

Viewers also liked

New moon star gazing (reading comprehension practice)
New moon star gazing (reading comprehension practice) New moon star gazing (reading comprehension practice)
New moon star gazing (reading comprehension practice) Brent Daigle, Ph.D.
 
Ficha descriptiva de un caso de uso de las tic en el contexto educativo y su ...
Ficha descriptiva de un caso de uso de las tic en el contexto educativo y su ...Ficha descriptiva de un caso de uso de las tic en el contexto educativo y su ...
Ficha descriptiva de un caso de uso de las tic en el contexto educativo y su ...Rafael Herraez Navarro
 
Using Microsoft Silverlight for Creating Rich Mobile User Experiences
Using Microsoft Silverlight for Creating Rich Mobile User ExperiencesUsing Microsoft Silverlight for Creating Rich Mobile User Experiences
Using Microsoft Silverlight for Creating Rich Mobile User ExperiencesShane Morris
 
Creating Responsive Learning Environments
Creating Responsive Learning EnvironmentsCreating Responsive Learning Environments
Creating Responsive Learning EnvironmentsBrent Daigle, Ph.D.
 
Historical overview of special education in the usa 1800 present
Historical overview of special education in the usa  1800 presentHistorical overview of special education in the usa  1800 present
Historical overview of special education in the usa 1800 presentBrent Daigle, Ph.D.
 
Strijker, A. (2002). Teletop Techniek En Didactiek
Strijker, A. (2002). Teletop Techniek En DidactiekStrijker, A. (2002). Teletop Techniek En Didactiek
Strijker, A. (2002). Teletop Techniek En DidactiekSaxion
 
Non food Incentives and Rewards to Use in the Classroom
Non food Incentives and Rewards to Use in the ClassroomNon food Incentives and Rewards to Use in the Classroom
Non food Incentives and Rewards to Use in the ClassroomBrent Daigle, Ph.D.
 
Gogreen NC
Gogreen NCGogreen NC
Gogreen NCnicurry
 
Web311 Designing Compelling Silverlight User Experiences With Expression St...
Web311   Designing Compelling Silverlight User Experiences With Expression St...Web311   Designing Compelling Silverlight User Experiences With Expression St...
Web311 Designing Compelling Silverlight User Experiences With Expression St...Shane Morris
 
Yippee Yah A Book About Cowboys And Cowgirls
Yippee  Yah A Book About Cowboys And CowgirlsYippee  Yah A Book About Cowboys And Cowgirls
Yippee Yah A Book About Cowboys And CowgirlsBrent Daigle, Ph.D.
 
Ensayo conectivismo y educación primaria
Ensayo conectivismo y educación primariaEnsayo conectivismo y educación primaria
Ensayo conectivismo y educación primariaRafael Herraez Navarro
 
Bad dream (Reading Comprehension Practice)
Bad dream (Reading Comprehension Practice) Bad dream (Reading Comprehension Practice)
Bad dream (Reading Comprehension Practice) Brent Daigle, Ph.D.
 
Estris Del Dibuix
Estris Del DibuixEstris Del Dibuix
Estris Del Dibuixlunadan
 
Strijker, A. (1997). Webnet
Strijker, A. (1997). WebnetStrijker, A. (1997). Webnet
Strijker, A. (1997). WebnetSaxion
 
Disproportionate Representation In Special Education
Disproportionate Representation In Special  EducationDisproportionate Representation In Special  Education
Disproportionate Representation In Special EducationBrent Daigle, Ph.D.
 

Viewers also liked (20)

New moon star gazing (reading comprehension practice)
New moon star gazing (reading comprehension practice) New moon star gazing (reading comprehension practice)
New moon star gazing (reading comprehension practice)
 
Ficha descriptiva de un caso de uso de las tic en el contexto educativo y su ...
Ficha descriptiva de un caso de uso de las tic en el contexto educativo y su ...Ficha descriptiva de un caso de uso de las tic en el contexto educativo y su ...
Ficha descriptiva de un caso de uso de las tic en el contexto educativo y su ...
 
Overview Of Direct Instruction
Overview Of  Direct  InstructionOverview Of  Direct  Instruction
Overview Of Direct Instruction
 
Using Microsoft Silverlight for Creating Rich Mobile User Experiences
Using Microsoft Silverlight for Creating Rich Mobile User ExperiencesUsing Microsoft Silverlight for Creating Rich Mobile User Experiences
Using Microsoft Silverlight for Creating Rich Mobile User Experiences
 
Creating Responsive Learning Environments
Creating Responsive Learning EnvironmentsCreating Responsive Learning Environments
Creating Responsive Learning Environments
 
Historical overview of special education in the usa 1800 present
Historical overview of special education in the usa  1800 presentHistorical overview of special education in the usa  1800 present
Historical overview of special education in the usa 1800 present
 
Strijker, A. (2002). Teletop Techniek En Didactiek
Strijker, A. (2002). Teletop Techniek En DidactiekStrijker, A. (2002). Teletop Techniek En Didactiek
Strijker, A. (2002). Teletop Techniek En Didactiek
 
Vitrais
VitraisVitrais
Vitrais
 
Non food Incentives and Rewards to Use in the Classroom
Non food Incentives and Rewards to Use in the ClassroomNon food Incentives and Rewards to Use in the Classroom
Non food Incentives and Rewards to Use in the Classroom
 
Gogreen NC
Gogreen NCGogreen NC
Gogreen NC
 
Web311 Designing Compelling Silverlight User Experiences With Expression St...
Web311   Designing Compelling Silverlight User Experiences With Expression St...Web311   Designing Compelling Silverlight User Experiences With Expression St...
Web311 Designing Compelling Silverlight User Experiences With Expression St...
 
Branches of government
Branches of governmentBranches of government
Branches of government
 
Yippee Yah A Book About Cowboys And Cowgirls
Yippee  Yah A Book About Cowboys And CowgirlsYippee  Yah A Book About Cowboys And Cowgirls
Yippee Yah A Book About Cowboys And Cowgirls
 
Ensayo conectivismo y educación primaria
Ensayo conectivismo y educación primariaEnsayo conectivismo y educación primaria
Ensayo conectivismo y educación primaria
 
Who Were The First Americans
Who Were The First  AmericansWho Were The First  Americans
Who Were The First Americans
 
Special Education In Context
Special Education In ContextSpecial Education In Context
Special Education In Context
 
Bad dream (Reading Comprehension Practice)
Bad dream (Reading Comprehension Practice) Bad dream (Reading Comprehension Practice)
Bad dream (Reading Comprehension Practice)
 
Estris Del Dibuix
Estris Del DibuixEstris Del Dibuix
Estris Del Dibuix
 
Strijker, A. (1997). Webnet
Strijker, A. (1997). WebnetStrijker, A. (1997). Webnet
Strijker, A. (1997). Webnet
 
Disproportionate Representation In Special Education
Disproportionate Representation In Special  EducationDisproportionate Representation In Special  Education
Disproportionate Representation In Special Education
 

Similar to APIs, Web Services, and Mashups: What they are and how they can be used

The scripting library: Combining data and information in the library
The scripting library: Combining data and information in the libraryThe scripting library: Combining data and information in the library
The scripting library: Combining data and information in the libraryBonaria Biancu
 
Doing More with Less: Mash Your Way to Productivity
Doing More with Less: Mash Your Way to ProductivityDoing More with Less: Mash Your Way to Productivity
Doing More with Less: Mash Your Way to Productivityguest3c5c731bc
 
Doing More with Less: Mash Your Way to Productivity
Doing More with Less: Mash Your Way to ProductivityDoing More with Less: Mash Your Way to Productivity
Doing More with Less: Mash Your Way to Productivitykevinreiss
 
Programming With Amazon, Google, And E Bay
Programming With Amazon, Google, And E BayProgramming With Amazon, Google, And E Bay
Programming With Amazon, Google, And E BayPhi Jack
 
Lies you have been told about REST
Lies you have been told about RESTLies you have been told about REST
Lies you have been told about RESTdarrelmiller71
 
Web Services and the JISC IE
Web Services and the JISC IEWeb Services and the JISC IE
Web Services and the JISC IEAndy Powell
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web DevelopmentRobert J. Stein
 
Building Components and Services for the Programmable Web
Building Components and Services for the Programmable WebBuilding Components and Services for the Programmable Web
Building Components and Services for the Programmable Webgoodfriday
 
Building Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaBuilding Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaGuido Schmutz
 
Building social and RESTful frameworks
Building social and RESTful frameworksBuilding social and RESTful frameworks
Building social and RESTful frameworksbrendonschwartz
 
AWS Innovate Montreal Keynote - by Chris Munns
AWS Innovate Montreal Keynote - by Chris MunnsAWS Innovate Montreal Keynote - by Chris Munns
AWS Innovate Montreal Keynote - by Chris MunnsAmazon Web Services
 
MLA Plenary Session IV - Bart Ragon
MLA Plenary Session IV -  Bart RagonMLA Plenary Session IV -  Bart Ragon
MLA Plenary Session IV - Bart RagonDavid Rothman
 
Arabidopsis Information Portal, Developer Workshop 2014, Introduction
Arabidopsis Information Portal, Developer Workshop 2014, IntroductionArabidopsis Information Portal, Developer Workshop 2014, Introduction
Arabidopsis Information Portal, Developer Workshop 2014, IntroductionJasonRafeMiller
 
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 2015Jackson F. de A. Mafra
 
Mind The Gap - Mapping a domain model to a RESTful API - OReilly SACon 2018, ...
Mind The Gap - Mapping a domain model to a RESTful API - OReilly SACon 2018, ...Mind The Gap - Mapping a domain model to a RESTful API - OReilly SACon 2018, ...
Mind The Gap - Mapping a domain model to a RESTful API - OReilly SACon 2018, ...Tom Hofte
 
David Gómez G. - Hypermedia APIs for headless platforms and Data Integration ...
David Gómez G. - Hypermedia APIs for headless platforms and Data Integration ...David Gómez G. - Hypermedia APIs for headless platforms and Data Integration ...
David Gómez G. - Hypermedia APIs for headless platforms and Data Integration ...Codemotion
 
Cdm mil-18 - hypermedia ap is for headless platforms and data integration
Cdm mil-18 - hypermedia ap is for headless platforms and data integrationCdm mil-18 - hypermedia ap is for headless platforms and data integration
Cdm mil-18 - hypermedia ap is for headless platforms and data integrationDavid Gómez García
 

Similar to APIs, Web Services, and Mashups: What they are and how they can be used (20)

The scripting library: Combining data and information in the library
The scripting library: Combining data and information in the libraryThe scripting library: Combining data and information in the library
The scripting library: Combining data and information in the library
 
Doing More with Less: Mash Your Way to Productivity
Doing More with Less: Mash Your Way to ProductivityDoing More with Less: Mash Your Way to Productivity
Doing More with Less: Mash Your Way to Productivity
 
Doing More with Less: Mash Your Way to Productivity
Doing More with Less: Mash Your Way to ProductivityDoing More with Less: Mash Your Way to Productivity
Doing More with Less: Mash Your Way to Productivity
 
Programming With Amazon, Google, And E Bay
Programming With Amazon, Google, And E BayProgramming With Amazon, Google, And E Bay
Programming With Amazon, Google, And E Bay
 
Web Topics
Web TopicsWeb Topics
Web Topics
 
Using The Semantic Web
Using The Semantic WebUsing The Semantic Web
Using The Semantic Web
 
Lies you have been told about REST
Lies you have been told about RESTLies you have been told about REST
Lies you have been told about REST
 
Web Services and the JISC IE
Web Services and the JISC IEWeb Services and the JISC IE
Web Services and the JISC IE
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web Development
 
Building Components and Services for the Programmable Web
Building Components and Services for the Programmable WebBuilding Components and Services for the Programmable Web
Building Components and Services for the Programmable Web
 
Web Services
Web ServicesWeb Services
Web Services
 
Building Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaBuilding Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache Kafka
 
Building social and RESTful frameworks
Building social and RESTful frameworksBuilding social and RESTful frameworks
Building social and RESTful frameworks
 
AWS Innovate Montreal Keynote - by Chris Munns
AWS Innovate Montreal Keynote - by Chris MunnsAWS Innovate Montreal Keynote - by Chris Munns
AWS Innovate Montreal Keynote - by Chris Munns
 
MLA Plenary Session IV - Bart Ragon
MLA Plenary Session IV -  Bart RagonMLA Plenary Session IV -  Bart Ragon
MLA Plenary Session IV - Bart Ragon
 
Arabidopsis Information Portal, Developer Workshop 2014, Introduction
Arabidopsis Information Portal, Developer Workshop 2014, IntroductionArabidopsis Information Portal, Developer Workshop 2014, Introduction
Arabidopsis Information Portal, Developer Workshop 2014, Introduction
 
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
 
Mind The Gap - Mapping a domain model to a RESTful API - OReilly SACon 2018, ...
Mind The Gap - Mapping a domain model to a RESTful API - OReilly SACon 2018, ...Mind The Gap - Mapping a domain model to a RESTful API - OReilly SACon 2018, ...
Mind The Gap - Mapping a domain model to a RESTful API - OReilly SACon 2018, ...
 
David Gómez G. - Hypermedia APIs for headless platforms and Data Integration ...
David Gómez G. - Hypermedia APIs for headless platforms and Data Integration ...David Gómez G. - Hypermedia APIs for headless platforms and Data Integration ...
David Gómez G. - Hypermedia APIs for headless platforms and Data Integration ...
 
Cdm mil-18 - hypermedia ap is for headless platforms and data integration
Cdm mil-18 - hypermedia ap is for headless platforms and data integrationCdm mil-18 - hypermedia ap is for headless platforms and data integration
Cdm mil-18 - hypermedia ap is for headless platforms and data integration
 

Recently uploaded

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

APIs, Web Services, and Mashups: What they are and how they can be used

  • 1. APIs, Web Services, and Mashups What they are and how they can be used by Shane Nackerud University of Minnesota Libraries snackeru@umn.edu
  • 2. Agenda What is an API? What is a Web Service? What is a mashup? What are some examples? Look at an API A little code ...
  • 3. What is an API? “An application programming interface (API) is a particular set of rules and specifications that a software program can follow to access and make use of the services and resources provided by another software program.” http://en.wikipedia.org/wiki/Application_programming_interface
  • 4.
  • 5. Break it down Interface for software apps and servers Application to Application interaction and exchange of data Real time communication and data exchange Allows software programs to interact with other software programs data through means other than the normal main interface
  • 6.
  • 7.
  • 8. Twitter API Tweetdeck Facebook API
  • 9. Web Service TweetDeck is a client application Web services are APIs that work primarily through the web, web servers, or a network Server to server APIs Google Maps API is a good example
  • 10.
  • 11. Add the code to include the Google Maps API: <script src="http://maps.google.com/maps? file=api&amp;v=2&amp; key=ABQIAAAA6JBCuUc9hZU7FVhzHksqsxSFThBmb0Wg HbIO-PDXl2-6njl54hRynCyYgHJZbbA1K1ChW7zdIcbMwA" type="text/javascript"></script>
  • 12. Add the code to include library locations data and mark them on the map: var request = GXmlHttp.create(); request.open("GET", "/libinc/libraries.xml", true); request.onreadystatechange = function() { if (request.readyState == 4) { var xmlDoc = GXml.parse(request.responseText); // obtain the array of markers and loop through it var markers = xmlDoc.documentElement.getElementsByTagName("mar ker");
  • 13. Library Location XML Data: <markers> <marker lat="44.970971" lng="-93.243633" html="Ames Library (in Wilson Library)<br />309 19th Ave. S.<br /> Minneapolis, MN 55455<br />612-624-4857<br /><a href='http:// www.lib.umn.edu/site/fetch_hours.phtml?LibID=2'> Hours</a><br />" label="Ames Library (in Wilson Library)"/> <marker lat="44.973191" lng="-93.243083" html="Andersen Library<br />222 21st Ave. S.<br /> Minneapolis, MN 55455<br />612-625-9825<br /><a href='http:// www.lib.umn.edu/site/fetch_hours.phtml?LibID=14'> Hours</a><br />" label="Elmer L. Andersen Library"/>
  • 14. Mashups A website that combines information/data from more than one source creating an integrated experience Speaking of Google Maps ...
  • 15.
  • 19.
  • 20. Types of APIs Interface APIs Google Maps Bing Maps Yahoo Maps Open Street Maps Data APIs
  • 21. Why? Developers Get at important data/services not locally held Quicker creation of common tasks and services Learn more about their users Create whizz-bang gizmos and gadgets
  • 22. Why? Providers Create more visibility for services offered Create more traffic for services offered Make money (some APIs aren’t free) Make customers happy and be amazed at how they use your data
  • 25. xISSN + WorldCat Search API + Catalog API
  • 26. xISSN + WorldCat Search API + Catalog API
  • 27. xISSN + WorldCat Search API + Catalog API
  • 31. AlephX + Amazon Recommedations API + xISBN
  • 32. AlephX + Amazon Recommedations API + xISBN
  • 34. Query Protocol Record Formats xISBN - can query the API through REST and OpenURL
  • 35. Query Protocol Record Formats xISBN - can query the API through REST and OpenURL Data - comes back as XML, JSON, TEXT, PHP, HTML
  • 36. Query Protocol Record Formats xISBN - can query the API through REST and OpenURL Data - comes back as XML, JSON, TEXT, PHP, HTML Say what?
  • 37. REST Representational State Transfer (REST) is a style of software architecture for distributed hypermedia systems such as the World Wide Web. For our purposes: RESTful APIs use HTTP to request the data Data is requested through a URL call Similar to OpenURL
  • 38. xISBN REST request http://xisbn.worldcat.org/ webservices/xid/isbn/ 0596002815?format=xml
  • 39.
  • 40. xISBN Metadata Request http://xisbn.worldcat.org/ webservices/xid/isbn/ 0596002815? method=getMetadata&format= xml&fl=*
  • 41.
  • 43. xISBN API xisbnparse.xsl 0596002815 book.php
  • 44. xISBN API xisbnparse.xsl 0596002815 book.php
  • 45. xISBN API xisbnparse.xsl 0596002815 book.php xHTML page
  • 47. <?php $xsl = new DomDocument; $xsl->load("xisbnparse.xsl"); $xmloutput = new DomDocument; $xmloutput->load("http://xisbn.worldcat.org/ webservices/xid/isbn/$isbn? method=getMetadata&format=xml&fl=*"); $xsltproc->importStylesheet($xsl); echo $xsltproc->transformtoXML($xmloutput); ?>
  • 48. • U of M Libraries Mobile • AlephX, PrimoX, X-Services • PHP, XSLT
  • 49.
  • 50.
  • 51.
  • 53. AlephX + ERes RSS Feed
  • 54. Course Specific Resource Suggestions API Subject Guide API Course Reserves API
  • 55. In conclusion Old and Busted New Hotness Web Server Web Server API API API Database Database
  • 56. In conclusion With APIs the Web can truly become a networked database (of sorts) Always ask a vendor if the application has an API Start noticing APIs that are available and think ... Be a provider, too

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. How does it work?\n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. It uses the WorldCat Search API to fill in citation information for books, magazines, newspapers, Web sites, journals, films and more. Started at Carnegie Mellon, now contains over 25 million citations.\n
  25. The code gathers related ISSN from the xISSN web service and then uses these to gather relevant subject headings from the Worldcat Search API. It then uses these subject headings to search for and display other titles that the library has that have similar subjects, allowing users to &quot;Find Similar Journals&quot; to the ones they are browsing.\n
  26. The code gathers related ISSN from the xISSN web service and then uses these to gather relevant subject headings from the Worldcat Search API. It then uses these subject headings to search for and display other titles that the library has that have similar subjects, allowing users to &quot;Find Similar Journals&quot; to the ones they are browsing.\n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n