SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

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
 

Tendances (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
 

Similaire à 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 SolrRobert Douglass
 
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
 
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
 
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
 
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
 

Similaire à 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 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
 
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
 
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
 

Plus de 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
 

Plus de 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
 

Dernier

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise 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
 
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
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
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
 
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
 

Dernier (20)

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
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
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
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
 
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
 

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

Notes de l'éditeur

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