SlideShare a Scribd company logo
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
APIs, Web Services, and Mashups: What they are and how they can be used
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
APIs, Web Services, and Mashups: What they are and how they can be used
APIs, Web Services, and Mashups: What they are and how they can be used
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
APIs, Web Services, and Mashups: What they are and how they can be used
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 ...
APIs, Web Services, and Mashups: What they are and how they can be used
http://earthquakes.tafoni.net/
http://trendsmap.com
http://whatwasthere.com/
APIs, Web Services, and Mashups: What they are and how they can be used
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
APIs, Web Services, and Mashups: What they are and how they can be used
xISBN Metadata Request

  http://xisbn.worldcat.org/
    webservices/xid/isbn/
        0596002815?
method=getMetadata&format=
            xml&fl=*
APIs, Web Services, and Mashups: What they are and how they can be used
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
APIs, Web Services, and Mashups: What they are and how they can be used
APIs, Web Services, and Mashups: What they are and how they can be used
APIs, Web Services, and Mashups: What they are and how they can be used
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

PDF
Two Webs! : combining the best of Web 1.0, Web 2.0 and the Semantic Web
PPTX
Harnessing Free Content with Web Service APIs
PPTX
SPTechCon Boston 2015 - Overcoming SharePoint Limitations
PPTX
ELUNA2013:Providing Voyager catalog data in a custom, open source web applica...
PPTX
Transforming your application with Elasticsearch
PDF
【サポーターズKyoto勉強会】ざっくり理解するクラウドの基礎
PPT
Rest in Rails
PPT
Ruby On Rails Siddhesh
Two Webs! : combining the best of Web 1.0, Web 2.0 and the Semantic Web
Harnessing Free Content with Web Service APIs
SPTechCon Boston 2015 - Overcoming SharePoint Limitations
ELUNA2013:Providing Voyager catalog data in a custom, open source web applica...
Transforming your application with Elasticsearch
【サポーターズKyoto勉強会】ざっくり理解するクラウドの基礎
Rest in Rails
Ruby On Rails Siddhesh

What's hot (20)

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

Viewers also liked (20)

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

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

PPT
The scripting library: Combining data and information in the library
PPT
Sticking between: mashup in libraries
PPTX
Worldcat (and other) APIs
PDF
A "lofiAPI": Using open source applications and simple XML to build a library...
ZIP
The Power of Open Data
PPT
Programming With Amazon, Google, And E Bay
PPT
Programming coldfusion with APIs
PDF
Setup API Introductie
PPT
Mashups MAX 360|MAX 2008 Unconference
PPS
Etech2005
PPS
Web Services Mash-Up
PDF
Web Based APIs
PDF
Open Ap Is State Of The Market
PPTX
Phalcon 2 High Performance APIs - DevWeekPOA 2015
PPTX
Introduction to APIs and Linked Data
PPTX
Jones "Working with Scholarly APIs: A NISO Training Series, Session One: Foun...
PPT
Mashups for Libraries
PDF
Ebook undisturbed rest-v1 [res_tful apis]
The scripting library: Combining data and information in the library
Sticking between: mashup in libraries
Worldcat (and other) APIs
A "lofiAPI": Using open source applications and simple XML to build a library...
The Power of Open Data
Programming With Amazon, Google, And E Bay
Programming coldfusion with APIs
Setup API Introductie
Mashups MAX 360|MAX 2008 Unconference
Etech2005
Web Services Mash-Up
Web Based APIs
Open Ap Is State Of The Market
Phalcon 2 High Performance APIs - DevWeekPOA 2015
Introduction to APIs and Linked Data
Jones "Working with Scholarly APIs: A NISO Training Series, Session One: Foun...
Mashups for Libraries
Ebook undisturbed rest-v1 [res_tful apis]

Recently uploaded (20)

PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Getting Started with Data Integration: FME Form 101
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
cuic standard and advanced reporting.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Approach and Philosophy of On baking technology
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
20250228 LYD VKU AI Blended-Learning.pptx
Getting Started with Data Integration: FME Form 101
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Tartificialntelligence_presentation.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Big Data Technologies - Introduction.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
cuic standard and advanced reporting.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
MIND Revenue Release Quarter 2 2025 Press Release
Digital-Transformation-Roadmap-for-Companies.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Unlocking AI with Model Context Protocol (MCP)
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
NewMind AI Weekly Chronicles - August'25-Week II
Diabetes mellitus diagnosis method based random forest with bat algorithm
Building Integrated photovoltaic BIPV_UPV.pdf
Approach and Philosophy of On baking technology

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
  • 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
  • 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
  • 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 ...
  • 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
  • 40. xISBN Metadata Request http://xisbn.worldcat.org/ webservices/xid/isbn/ 0596002815? method=getMetadata&format= xml&fl=*
  • 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
  • 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

  • #2: \n
  • #3: \n
  • #4: \n
  • #5: \n
  • #6: \n
  • #7: \n
  • #8: \n
  • #9: \n
  • #10: \n
  • #11: How does it work?\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: \n
  • #25: 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
  • #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: 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
  • #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
  • #51: \n