SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Creating Library Web
      Services:
  Mashups and APIs
        Karen A. Coombs
   lirbarywebchic@gmail.com
About Me



• ~ 10 Years library web stuff
• Self taught coder who loves to play
• Work with developers regularly
About You

• Name
• Institution
• Techie skills
 • HTML, Javascript, DOM, XML,
   Server side scripting (PHP, ASP, Rails,
   Coldfusion...)
• What you want to learn today
What Is A Mashup?



• a Web application that uses and/or
  combines data from multiple sources
  within a single tool
Why Create A Mashup
• Want to bring together disparate data
  sources
• Want to enhance a existing source of
  data
• Want to improve usability and user
  interfaces
• Want to make a web page more
  dynamic and engaging
Some Library Mashups
• LibraryFind
• Repository 66
• Scriblio
• Terrapod Project
• Texas A&M Geologic Atlas of the US
• VuFind implementations
• WorldCat Search plugin for FCKEditor
Mashups Don’t have to
    Be Read Only
• Web Services can be capable of read/
  write
• A mashup could write data as part of its
  functionality
• Examples
 • Flickr Manager plugin for Wordpress
 • Kaltura plugin for Wordpress
How Do Mashups Work?


• Take existing data within a system
• Retrieve data from another source(s)
  typically via a web service
• Mix these datasets together for UI
  purposes
Technologies Behind
      the scenes


• Web Services (REST, SOAP, XML-RPC)
• Some server side or client side scripting
  language
• Data formated in XML or JSON
What are Web Services?

• Machine readable data or procedures
  access via HTTP
• On a remote/external system (usually)
• Use structured data for data exchange
  (often XML)
• Come in 3 flavors : RPC, SOAP, REST
REST Primer

• Easiest web service style
• Readable by Humans
• Most popular form of web services
  today
• Create, Read, Update Delete
• POST, GET, PUT, DELETE
What is JSON?

• Javascript Object Notation
• Text file used to pass information from
  one system to another
• Javascript treats it as an object
  • which makes it easily navigated and
    specific pieces cherry-picked
ProcessGBSBookInfo({
  "ISBN0765304368":{
      "bib_key":"ISBN0765304368",
      "info_url":"http://books.google.com/books?
id=gfg13CM_kU8C&source=gbs_ViewAPI",
      "preview_url":"http://books.google.com/books?
id=gfg13CM_kU8C&printsec=frontcover&sig=jIrSb_Skc
QRhy_VvtnKbTXjmvos&source=gbs_ViewAPI",
      "thumbnail_url":"http://books.google.com/books?
id=gfg13CM_kU8C&pg=PP1&img=1&zoom=5&sig=LsT
wGVAsy_qWYMPM6HVDTPAMokg",
      "preview":"full"
      }
  });
XML Data Manipulation

• XPath
• Little bit like the DOM but more
  complex and smart
• Allows you to cherry pick info in XML
  documents
• Learn more about XPath - http://
  www.w3schools.com/xpath
XML XPATH EXAMPLE



• Want to get the feed name
• Want to get the item title, description,
  and url
The XPath


• Feed Title - /feed/title
• Item title - //entry/title or /feed/
  entry/title
• Item Content - //entry/content
• Item Url - //entry/link@href
Cross Server Scripting
        Issues
• AJAX doesn’t allow you to access
  “scripts” across servers
 • XML, PHP or other scripting
   languages
• Can access JSON across servers
 • Reason why JSON popular
• Workaround
Cross Server Scripting
    Workarounds

• Proxy the script via the webserver
 • Apache mod_proxy
• Use an intermediary to transform
  content into JSON
 • Use PHP to convert XML to JSON
Possible Types Of Data
• Bibliographic Data
• Book Covers
• Digital Library metadata and objects
• Reviews
• Ratings
• Library Information
• Map Data
Data Sources For
         Mashups
• Feeds from library catalog, Amazon or other
  sources
• Covers, Ratings and Reviews from
  LibraryThing
• ISBNdb.com
• Preview or fulltext from GoogleBooks
• Info from Wikipedia
• Data from Talis platform
• Data from Open Library
Other Library Vendor
         Web Services
• Serial Solutions - http://journal.code4lib.org/
  articles/108
• SFX
• Gold Rush Link Resolver - http://
  grx.coalliance.org/grxtest/dsp/
  grx_documentation.pdf
• Lots of library database platforms
• Several library catalogs
OCLC Web Services
     for Mashups
• WorldCat Search API
• WorldCat Identities
• xID services
  • xISBN
  • xISSN
  • xOCLCNum
• Registry Search
• Registry Detail
WorldCat Search API


• Search WorldCat in a programmatic
  fashion
 • OpenSearch, SRU
• Get data back as XML
 • Atom, RSS, MARCXML, Dublin Core
xID Service
• Service for identifiers
 • OCLC number, ISSN, ISBN
• Send an identifier
• Get related identifiers back
• Get information about item
 • Peer Reviewed or not
 • RSS for Table of Contents
Worldcat Registry

• Data about libraries throughout the
  world
 • Name
 • Address
 • Catalog url
 • Type (public, academic, special ...)
Serial Solutions API

• OpenURL based
• Send an OpenURL
• Get back holdings information
• Uses
 • Crosslisting ebooks
 • Direct Links to Fulltext in LibraryFind
Serial Solutions API
       Response

• Citation
• Holdings Info
 • Provider - Proquest
 • Database Name - Safari Tech Books
 • Start & End Dates
• URL(s)
Serial Solution
       Response URLs
• Different types of URLs
• Depends on OpenURL sent
  • format
  • granularity
• Books - source, book
• Journal - source, article, journal,
  volume, issue
Crosslisting Ebooks
Direct Links to Fulltext
     in LibraryFind
Other APIs We’re Using
• Google Calendar API - http://
  code.google.com/apis/calendar/
  data/2.0/developers_guide.html
• Google Maps - http://
  code.google.com/apis/maps/
• Last.fm - http://www.last.fm.api
• Wikipedia API - http://
  en.wikipedia.org/w/api.php
Other APIs of Note

• Blip.tv API - http://wiki.blip.tv/index.php/
  Blip.tv_API
• Delicious API - http://delicious.com/help/api
• Flickr API - http://www.flickr.com/services/api/
• YouTube API - http://code.google.com/apis/
  youtube/overview.html
• Yahoo Maps API - http://developer.yahoo.com/
  maps/
The Simplest Mashups

• Widgets
 • Google Embedded Preview
 • LibraryThing Widgets
 • Flickr Widgets
 • WorldCat list widget
 • Yahoo Pipes
The Simplest Mashups
• Feeds
 • The poor man’s web services
 • XML
 • Can have schemas added to them
• Feed2JS
 • embed a feed in a web page
• Drupal and Wordpress can have feeds
  embedded into pages
Mashups Made Easy
    With Yahoo Pipes

• Drag and drop UI for creating mashups
• Free
• Lots of examples
• Some library examples
 • RSS of Books + Covers
 • Finding Alternative Copies of a Book
Why Use Pipes?
• Programming for non-programmers
• Good user community
• Clone!!
• End up with a variety of formats
 • Widgets
 • RSS
 • JSON
 • PHP
Feed Remix with Pipes


• Find several feed you want to mix
  together
• Get their feed urls
• Filter if you want
• New Feed output
WorldCat Search
     + Book Covers
• RSS + Cover Data + Yahoo Pipes
• ISBN essential
• How does it work?
 • RSS feed from WorldCat Search API
 • Extracts ISBN
 • Gets cover data
 • Builds new feed with covers
WorldCat Registry
     + Yahoo Maps

• Send registry request for data for a
  particular location (zip code, city)
• Retrieve results
• Send address information to Yahoo
  Maps
• Get library locations plotted on map
WorldCat Holdings
     + Yahoo Maps
• Send an OCLC number and location to
  WorldCat Search API
• Returns a list of libraries nearest that
  location with holdings (includes
  address)
• Send libraries’ address to Yahoo Maps
• See which libraries in that location have
  that book visualized
Crosslisting Content
    In the Catalog

• Serial Solutions OpenURL Resolver
 • API
• WorldCat Search API
• ISBN/ISSN
• Adds also available as link to ebook
  print book
Four Code
       Walkthroughs

• Google Calendar Embedding
• WorldCat Search + Book Covers +
  Ratings + Preview at Google Books
• WorldCat Search Holdings + Google
  Maps
• Journal List Enhancements
Web Services for
     Interoperability

• Lots of different ways in which people
  can access information
• Different devices
 • Mobile devices, computers, special
   purpose devices
• Machine access to data
Mobile Catalog
        Prototype
• WorldCat Search API
• Open Library/LibraryThing Covers
• Summary - ISBNdb.com
• Full text/Preview
 • Hathi Trust
 • Google Books
• Screenscrape Item data

Weitere ähnliche Inhalte

Was ist angesagt?

Austin Day of Rest - Introduction
Austin Day of Rest - IntroductionAustin Day of Rest - Introduction
Austin Day of Rest - IntroductionHandsOnWP.com
 
Developing Search-driven application in SharePoint 2013
 Developing Search-driven application in SharePoint 2013  Developing Search-driven application in SharePoint 2013
Developing Search-driven application in SharePoint 2013 SPC Adriatics
 
Demand, Media, and Search Analytics at AOL
Demand, Media, and Search Analytics at AOLDemand, Media, and Search Analytics at AOL
Demand, Media, and Search Analytics at AOLSean Timm
 
New Ways of (Web) Content Management
New Ways of (Web) Content ManagementNew Ways of (Web) Content Management
New Ways of (Web) Content ManagementSPC Adriatics
 
Fc3 integration strategies
Fc3 integration strategiesFc3 integration strategies
Fc3 integration strategiesGabrieleSani3
 
High Voltage - Building Static Sites With Wordpress-Managed Content
High Voltage - Building Static Sites With Wordpress-Managed ContentHigh Voltage - Building Static Sites With Wordpress-Managed Content
High Voltage - Building Static Sites With Wordpress-Managed ContentNicolle Morton
 
The WordPress University 2012
The WordPress University 2012The WordPress University 2012
The WordPress University 2012Stephanie Leary
 
Islandora and Linked Open Data
Islandora and Linked Open Data Islandora and Linked Open Data
Islandora and Linked Open Data eohallor
 
SharePoint 2013 APIs
SharePoint 2013 APIsSharePoint 2013 APIs
SharePoint 2013 APIsJohn Calvert
 
Slug: A Semantic Web Crawler
Slug: A Semantic Web CrawlerSlug: A Semantic Web Crawler
Slug: A Semantic Web CrawlerLeigh Dodds
 
Optimizing SharePoint for Transactional Content Management
Optimizing SharePoint for Transactional Content ManagementOptimizing SharePoint for Transactional Content Management
Optimizing SharePoint for Transactional Content ManagementDocFluix, LLC
 
NoSQL: Why, When, and How
NoSQL: Why, When, and HowNoSQL: Why, When, and How
NoSQL: Why, When, and HowBigBlueHat
 
Smart crawler a two stage crawler
Smart crawler a two stage crawlerSmart crawler a two stage crawler
Smart crawler a two stage crawlerRishikesh Pathak
 
Tips for Tuning Solr Search: No Coding Required
Tips for Tuning Solr Search: No Coding RequiredTips for Tuning Solr Search: No Coding Required
Tips for Tuning Solr Search: No Coding RequiredAcquia
 
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...European Collaboration Summit
 
The original vision of Nutch, 14 years later: Building an open source search ...
The original vision of Nutch, 14 years later: Building an open source search ...The original vision of Nutch, 14 years later: Building an open source search ...
The original vision of Nutch, 14 years later: Building an open source search ...Sylvain Zimmer
 
Do you need an external search platform for Adobe Experience Manager?
Do you need an external search platform for Adobe Experience Manager?Do you need an external search platform for Adobe Experience Manager?
Do you need an external search platform for Adobe Experience Manager?therealgaston
 
Beyond WP-CONTENT | #WCRaleigh
Beyond WP-CONTENT | #WCRaleighBeyond WP-CONTENT | #WCRaleigh
Beyond WP-CONTENT | #WCRaleighGlenn Ansley
 

Was ist angesagt? (20)

Austin Day of Rest - Introduction
Austin Day of Rest - IntroductionAustin Day of Rest - Introduction
Austin Day of Rest - Introduction
 
Developing Search-driven application in SharePoint 2013
 Developing Search-driven application in SharePoint 2013  Developing Search-driven application in SharePoint 2013
Developing Search-driven application in SharePoint 2013
 
Introduction to Apache Solr
Introduction to Apache SolrIntroduction to Apache Solr
Introduction to Apache Solr
 
Demand, Media, and Search Analytics at AOL
Demand, Media, and Search Analytics at AOLDemand, Media, and Search Analytics at AOL
Demand, Media, and Search Analytics at AOL
 
Ron
RonRon
Ron
 
New Ways of (Web) Content Management
New Ways of (Web) Content ManagementNew Ways of (Web) Content Management
New Ways of (Web) Content Management
 
Fc3 integration strategies
Fc3 integration strategiesFc3 integration strategies
Fc3 integration strategies
 
High Voltage - Building Static Sites With Wordpress-Managed Content
High Voltage - Building Static Sites With Wordpress-Managed ContentHigh Voltage - Building Static Sites With Wordpress-Managed Content
High Voltage - Building Static Sites With Wordpress-Managed Content
 
The WordPress University 2012
The WordPress University 2012The WordPress University 2012
The WordPress University 2012
 
Islandora and Linked Open Data
Islandora and Linked Open Data Islandora and Linked Open Data
Islandora and Linked Open Data
 
SharePoint 2013 APIs
SharePoint 2013 APIsSharePoint 2013 APIs
SharePoint 2013 APIs
 
Slug: A Semantic Web Crawler
Slug: A Semantic Web CrawlerSlug: A Semantic Web Crawler
Slug: A Semantic Web Crawler
 
Optimizing SharePoint for Transactional Content Management
Optimizing SharePoint for Transactional Content ManagementOptimizing SharePoint for Transactional Content Management
Optimizing SharePoint for Transactional Content Management
 
NoSQL: Why, When, and How
NoSQL: Why, When, and HowNoSQL: Why, When, and How
NoSQL: Why, When, and How
 
Smart crawler a two stage crawler
Smart crawler a two stage crawlerSmart crawler a two stage crawler
Smart crawler a two stage crawler
 
Tips for Tuning Solr Search: No Coding Required
Tips for Tuning Solr Search: No Coding RequiredTips for Tuning Solr Search: No Coding Required
Tips for Tuning Solr Search: No Coding Required
 
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
ECS19 - Laura Kokkarinen - Everything you need to know about SharePoint site ...
 
The original vision of Nutch, 14 years later: Building an open source search ...
The original vision of Nutch, 14 years later: Building an open source search ...The original vision of Nutch, 14 years later: Building an open source search ...
The original vision of Nutch, 14 years later: Building an open source search ...
 
Do you need an external search platform for Adobe Experience Manager?
Do you need an external search platform for Adobe Experience Manager?Do you need an external search platform for Adobe Experience Manager?
Do you need an external search platform for Adobe Experience Manager?
 
Beyond WP-CONTENT | #WCRaleigh
Beyond WP-CONTENT | #WCRaleighBeyond WP-CONTENT | #WCRaleigh
Beyond WP-CONTENT | #WCRaleigh
 

Ähnlich wie Library Mashups & APIs

Building Software Backend (Web API)
Building Software Backend (Web API)Building Software Backend (Web API)
Building Software Backend (Web API)Alexander Goida
 
Library Mashups: What's New
Library Mashups: What's NewLibrary Mashups: What's New
Library Mashups: What's NewNicole Baratta
 
Library Mashups: What's New
Library Mashups: What's NewLibrary Mashups: What's New
Library Mashups: What's NewNicole Baratta
 
If You Have The Content, Then Apache Has The Technology!
If You Have The Content, Then Apache Has The Technology!If You Have The Content, Then Apache Has The Technology!
If You Have The Content, Then Apache Has The Technology!gagravarr
 
QueryPath, Mash-ups, and Web Services
QueryPath, Mash-ups, and Web ServicesQueryPath, Mash-ups, and Web Services
QueryPath, Mash-ups, and Web ServicesMatt Butcher
 
Drupal and Apache Stanbol
Drupal and Apache StanbolDrupal and Apache Stanbol
Drupal and Apache StanbolAlkuvoima
 
Current and emerging trends in library services
Current and emerging trends in library servicesCurrent and emerging trends in library services
Current and emerging trends in library servicesNikesh Narayanan
 
Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformAntonio Peric-Mazar
 
Analyzing Web Archives
Analyzing Web ArchivesAnalyzing Web Archives
Analyzing Web Archivesvinaygo
 
NoSQL, Apache SOLR and Apache Hadoop
NoSQL, Apache SOLR and Apache HadoopNoSQL, Apache SOLR and Apache Hadoop
NoSQL, Apache SOLR and Apache HadoopDmitry Kan
 
Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3Wen-Tien Chang
 
State-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache SolrState-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache Solrguest432cd6
 
State-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache SolrState-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache SolrRobert Douglass
 
Practical Machine Learning for Smarter Search with Solr and Spark
Practical Machine Learning for Smarter Search with Solr and SparkPractical Machine Learning for Smarter Search with Solr and Spark
Practical Machine Learning for Smarter Search with Solr and SparkJake Mannix
 
Practical Machine Learning for Smarter Search with Spark+Solr
Practical Machine Learning for Smarter Search with Spark+SolrPractical Machine Learning for Smarter Search with Spark+Solr
Practical Machine Learning for Smarter Search with Spark+SolrJake Mannix
 
Solr + Hadoop: Interactive Search for Hadoop
Solr + Hadoop: Interactive Search for HadoopSolr + Hadoop: Interactive Search for Hadoop
Solr + Hadoop: Interactive Search for Hadoopgregchanan
 
Rapid API Development ArangoDB Foxx
Rapid API Development ArangoDB FoxxRapid API Development ArangoDB Foxx
Rapid API Development ArangoDB FoxxMichael Hackstein
 

Ähnlich wie Library Mashups & APIs (20)

Building Software Backend (Web API)
Building Software Backend (Web API)Building Software Backend (Web API)
Building Software Backend (Web API)
 
Library Mashups: What's New
Library Mashups: What's NewLibrary Mashups: What's New
Library Mashups: What's New
 
Library Mashups: What's New
Library Mashups: What's NewLibrary Mashups: What's New
Library Mashups: What's New
 
If You Have The Content, Then Apache Has The Technology!
If You Have The Content, Then Apache Has The Technology!If You Have The Content, Then Apache Has The Technology!
If You Have The Content, Then Apache Has The Technology!
 
QueryPath, Mash-ups, and Web Services
QueryPath, Mash-ups, and Web ServicesQueryPath, Mash-ups, and Web Services
QueryPath, Mash-ups, and Web Services
 
Drupal and Apache Stanbol
Drupal and Apache StanbolDrupal and Apache Stanbol
Drupal and Apache Stanbol
 
Current and emerging trends in library services
Current and emerging trends in library servicesCurrent and emerging trends in library services
Current and emerging trends in library services
 
Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API Platform
 
Analyzing Web Archives
Analyzing Web ArchivesAnalyzing Web Archives
Analyzing Web Archives
 
Swoogle
SwoogleSwoogle
Swoogle
 
NoSQL, Apache SOLR and Apache Hadoop
NoSQL, Apache SOLR and Apache HadoopNoSQL, Apache SOLR and Apache Hadoop
NoSQL, Apache SOLR and Apache Hadoop
 
Widget Workshop
Widget WorkshopWidget Workshop
Widget Workshop
 
Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3Service-Oriented Design and Implement with Rails3
Service-Oriented Design and Implement with Rails3
 
State-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache SolrState-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache Solr
 
State-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache SolrState-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache Solr
 
Practical Machine Learning for Smarter Search with Solr and Spark
Practical Machine Learning for Smarter Search with Solr and SparkPractical Machine Learning for Smarter Search with Solr and Spark
Practical Machine Learning for Smarter Search with Solr and Spark
 
Practical Machine Learning for Smarter Search with Spark+Solr
Practical Machine Learning for Smarter Search with Spark+SolrPractical Machine Learning for Smarter Search with Spark+Solr
Practical Machine Learning for Smarter Search with Spark+Solr
 
Solr + Hadoop: Interactive Search for Hadoop
Solr + Hadoop: Interactive Search for HadoopSolr + Hadoop: Interactive Search for Hadoop
Solr + Hadoop: Interactive Search for Hadoop
 
Rapid API Development ArangoDB Foxx
Rapid API Development ArangoDB FoxxRapid API Development ArangoDB Foxx
Rapid API Development ArangoDB Foxx
 
Html5 histroy api
Html5 histroy apiHtml5 histroy api
Html5 histroy api
 

Mehr von librarywebchic

Open Source CMS Playroom
Open Source CMS PlayroomOpen Source CMS Playroom
Open Source CMS Playroomlibrarywebchic
 
Building a Drupal-driven Intranet
Building a Drupal-driven IntranetBuilding a Drupal-driven Intranet
Building a Drupal-driven Intranetlibrarywebchic
 
Real Life Experiences With Library APIS
Real Life Experiences With Library APISReal Life Experiences With Library APIS
Real Life Experiences With Library APISlibrarywebchic
 
Drupal Open Source Everything
Drupal Open Source EverythingDrupal Open Source Everything
Drupal Open Source Everythinglibrarywebchic
 
IFLA 2009 Web Cast - Creating a Successful Internet Presence
IFLA 2009 Web Cast - Creating a Successful Internet PresenceIFLA 2009 Web Cast - Creating a Successful Internet Presence
IFLA 2009 Web Cast - Creating a Successful Internet Presencelibrarywebchic
 
ELAG - Mashing Up and Remixing the Library Website
ELAG - Mashing Up and Remixing the Library WebsiteELAG - Mashing Up and Remixing the Library Website
ELAG - Mashing Up and Remixing the Library Websitelibrarywebchic
 
Xml Applications Libraries
Xml Applications LibrariesXml Applications Libraries
Xml Applications Librarieslibrarywebchic
 

Mehr von librarywebchic (9)

Open Source CMS Playroom
Open Source CMS PlayroomOpen Source CMS Playroom
Open Source CMS Playroom
 
Building a Drupal-driven Intranet
Building a Drupal-driven IntranetBuilding a Drupal-driven Intranet
Building a Drupal-driven Intranet
 
Real Life Experiences With Library APIS
Real Life Experiences With Library APISReal Life Experiences With Library APIS
Real Life Experiences With Library APIS
 
Drupal Open Source Everything
Drupal Open Source EverythingDrupal Open Source Everything
Drupal Open Source Everything
 
IFLA 2009 Web Cast - Creating a Successful Internet Presence
IFLA 2009 Web Cast - Creating a Successful Internet PresenceIFLA 2009 Web Cast - Creating a Successful Internet Presence
IFLA 2009 Web Cast - Creating a Successful Internet Presence
 
ELAG - Mashing Up and Remixing the Library Website
ELAG - Mashing Up and Remixing the Library WebsiteELAG - Mashing Up and Remixing the Library Website
ELAG - Mashing Up and Remixing the Library Website
 
Xml Applications Libraries
Xml Applications LibrariesXml Applications Libraries
Xml Applications Libraries
 
Website Mashup
Website MashupWebsite Mashup
Website Mashup
 
Open Source CMS
Open Source CMSOpen Source CMS
Open Source CMS
 

Kürzlich hochgeladen

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Kürzlich hochgeladen (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Library Mashups & APIs

  • 1. Creating Library Web Services: Mashups and APIs Karen A. Coombs lirbarywebchic@gmail.com
  • 2. About Me • ~ 10 Years library web stuff • Self taught coder who loves to play • Work with developers regularly
  • 3. About You • Name • Institution • Techie skills • HTML, Javascript, DOM, XML, Server side scripting (PHP, ASP, Rails, Coldfusion...) • What you want to learn today
  • 4. What Is A Mashup? • a Web application that uses and/or combines data from multiple sources within a single tool
  • 5. Why Create A Mashup • Want to bring together disparate data sources • Want to enhance a existing source of data • Want to improve usability and user interfaces • Want to make a web page more dynamic and engaging
  • 6. Some Library Mashups • LibraryFind • Repository 66 • Scriblio • Terrapod Project • Texas A&M Geologic Atlas of the US • VuFind implementations • WorldCat Search plugin for FCKEditor
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. Mashups Don’t have to Be Read Only • Web Services can be capable of read/ write • A mashup could write data as part of its functionality • Examples • Flickr Manager plugin for Wordpress • Kaltura plugin for Wordpress
  • 18.
  • 19.
  • 20. How Do Mashups Work? • Take existing data within a system • Retrieve data from another source(s) typically via a web service • Mix these datasets together for UI purposes
  • 21. Technologies Behind the scenes • Web Services (REST, SOAP, XML-RPC) • Some server side or client side scripting language • Data formated in XML or JSON
  • 22. What are Web Services? • Machine readable data or procedures access via HTTP • On a remote/external system (usually) • Use structured data for data exchange (often XML) • Come in 3 flavors : RPC, SOAP, REST
  • 23. REST Primer • Easiest web service style • Readable by Humans • Most popular form of web services today • Create, Read, Update Delete • POST, GET, PUT, DELETE
  • 24. What is JSON? • Javascript Object Notation • Text file used to pass information from one system to another • Javascript treats it as an object • which makes it easily navigated and specific pieces cherry-picked
  • 25. ProcessGBSBookInfo({ "ISBN0765304368":{ "bib_key":"ISBN0765304368", "info_url":"http://books.google.com/books? id=gfg13CM_kU8C&source=gbs_ViewAPI", "preview_url":"http://books.google.com/books? id=gfg13CM_kU8C&printsec=frontcover&sig=jIrSb_Skc QRhy_VvtnKbTXjmvos&source=gbs_ViewAPI", "thumbnail_url":"http://books.google.com/books? id=gfg13CM_kU8C&pg=PP1&img=1&zoom=5&sig=LsT wGVAsy_qWYMPM6HVDTPAMokg", "preview":"full" } });
  • 26. XML Data Manipulation • XPath • Little bit like the DOM but more complex and smart • Allows you to cherry pick info in XML documents • Learn more about XPath - http:// www.w3schools.com/xpath
  • 27. XML XPATH EXAMPLE • Want to get the feed name • Want to get the item title, description, and url
  • 28. The XPath • Feed Title - /feed/title • Item title - //entry/title or /feed/ entry/title • Item Content - //entry/content • Item Url - //entry/link@href
  • 29. Cross Server Scripting Issues • AJAX doesn’t allow you to access “scripts” across servers • XML, PHP or other scripting languages • Can access JSON across servers • Reason why JSON popular • Workaround
  • 30. Cross Server Scripting Workarounds • Proxy the script via the webserver • Apache mod_proxy • Use an intermediary to transform content into JSON • Use PHP to convert XML to JSON
  • 31. Possible Types Of Data • Bibliographic Data • Book Covers • Digital Library metadata and objects • Reviews • Ratings • Library Information • Map Data
  • 32. Data Sources For Mashups • Feeds from library catalog, Amazon or other sources • Covers, Ratings and Reviews from LibraryThing • ISBNdb.com • Preview or fulltext from GoogleBooks • Info from Wikipedia • Data from Talis platform • Data from Open Library
  • 33. Other Library Vendor Web Services • Serial Solutions - http://journal.code4lib.org/ articles/108 • SFX • Gold Rush Link Resolver - http:// grx.coalliance.org/grxtest/dsp/ grx_documentation.pdf • Lots of library database platforms • Several library catalogs
  • 34. OCLC Web Services for Mashups • WorldCat Search API • WorldCat Identities • xID services • xISBN • xISSN • xOCLCNum • Registry Search • Registry Detail
  • 35. WorldCat Search API • Search WorldCat in a programmatic fashion • OpenSearch, SRU • Get data back as XML • Atom, RSS, MARCXML, Dublin Core
  • 36. xID Service • Service for identifiers • OCLC number, ISSN, ISBN • Send an identifier • Get related identifiers back • Get information about item • Peer Reviewed or not • RSS for Table of Contents
  • 37. Worldcat Registry • Data about libraries throughout the world • Name • Address • Catalog url • Type (public, academic, special ...)
  • 38. Serial Solutions API • OpenURL based • Send an OpenURL • Get back holdings information • Uses • Crosslisting ebooks • Direct Links to Fulltext in LibraryFind
  • 39. Serial Solutions API Response • Citation • Holdings Info • Provider - Proquest • Database Name - Safari Tech Books • Start & End Dates • URL(s)
  • 40. Serial Solution Response URLs • Different types of URLs • Depends on OpenURL sent • format • granularity • Books - source, book • Journal - source, article, journal, volume, issue
  • 42. Direct Links to Fulltext in LibraryFind
  • 43. Other APIs We’re Using • Google Calendar API - http:// code.google.com/apis/calendar/ data/2.0/developers_guide.html • Google Maps - http:// code.google.com/apis/maps/ • Last.fm - http://www.last.fm.api • Wikipedia API - http:// en.wikipedia.org/w/api.php
  • 44. Other APIs of Note • Blip.tv API - http://wiki.blip.tv/index.php/ Blip.tv_API • Delicious API - http://delicious.com/help/api • Flickr API - http://www.flickr.com/services/api/ • YouTube API - http://code.google.com/apis/ youtube/overview.html • Yahoo Maps API - http://developer.yahoo.com/ maps/
  • 45. The Simplest Mashups • Widgets • Google Embedded Preview • LibraryThing Widgets • Flickr Widgets • WorldCat list widget • Yahoo Pipes
  • 46.
  • 47. The Simplest Mashups • Feeds • The poor man’s web services • XML • Can have schemas added to them • Feed2JS • embed a feed in a web page • Drupal and Wordpress can have feeds embedded into pages
  • 48.
  • 49. Mashups Made Easy With Yahoo Pipes • Drag and drop UI for creating mashups • Free • Lots of examples • Some library examples • RSS of Books + Covers • Finding Alternative Copies of a Book
  • 50. Why Use Pipes? • Programming for non-programmers • Good user community • Clone!! • End up with a variety of formats • Widgets • RSS • JSON • PHP
  • 51. Feed Remix with Pipes • Find several feed you want to mix together • Get their feed urls • Filter if you want • New Feed output
  • 52. WorldCat Search + Book Covers • RSS + Cover Data + Yahoo Pipes • ISBN essential • How does it work? • RSS feed from WorldCat Search API • Extracts ISBN • Gets cover data • Builds new feed with covers
  • 53. WorldCat Registry + Yahoo Maps • Send registry request for data for a particular location (zip code, city) • Retrieve results • Send address information to Yahoo Maps • Get library locations plotted on map
  • 54. WorldCat Holdings + Yahoo Maps • Send an OCLC number and location to WorldCat Search API • Returns a list of libraries nearest that location with holdings (includes address) • Send libraries’ address to Yahoo Maps • See which libraries in that location have that book visualized
  • 55. Crosslisting Content In the Catalog • Serial Solutions OpenURL Resolver • API • WorldCat Search API • ISBN/ISSN • Adds also available as link to ebook print book
  • 56. Four Code Walkthroughs • Google Calendar Embedding • WorldCat Search + Book Covers + Ratings + Preview at Google Books • WorldCat Search Holdings + Google Maps • Journal List Enhancements
  • 57. Web Services for Interoperability • Lots of different ways in which people can access information • Different devices • Mobile devices, computers, special purpose devices • Machine access to data
  • 58. Mobile Catalog Prototype • WorldCat Search API • Open Library/LibraryThing Covers • Summary - ISBNdb.com • Full text/Preview • Hathi Trust • Google Books • Screenscrape Item data

Hinweis der Redaktion

  1. CD listing + CD covers + Last.fm data mashup Journal Listing Mashup with xISSN TiCToCs info