SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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.
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Kürzlich hochgeladen (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

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

Hinweis der Redaktion

  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