Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The scripting library: Combining data and information in the library


Published on

Published in: Technology, Education
  • Be the first to comment

The scripting library: Combining data and information in the library

  1. 1. Stelline 2009 The Scripting Library Combining data and information in the library I servizi messi a disposizione con e per l'utente Cenfor Seminar Milan, March 12th, 2009
  2. 2. Changing needs <ul><li>Rise of quantity, quality and diversification of information </li></ul><ul><li>Desire and need of the users of manipulating (modifying, trasforming, remixing) data </li></ul><ul><li>In the point of interaction between users and data lies the mashup technology </li></ul><ul><li>Mashup idea match Web 2.0 concepts of data as intel inside, hackability, the right to remix, user-generated content, users as co-developers </li></ul>
  3. 3. Mashup architecture <ul><li>Combine data and information from two or more sources to build new applications and services </li></ul><ul><li>Often “mashup” is used to represent also a manipulation of data from only one source, utilized in new ways (or opened or (better) interlinked with information from other sources) </li></ul><ul><li>Structured information </li></ul><ul><li>Non structured information transformed in structured information </li></ul><ul><li>Non structured information used at its best (e.g. screen scraping) </li></ul>Publishers begin to open their data: The Guardian docet! “The cost? Free. 'We feel like we are fueling an ecosystem'&quot;
  4. 4. API – Application Programming Interface <ul><li>Set of functions , procedures and methods to access an online application </li></ul><ul><li>There are also APIs for offline applications </li></ul><ul><li>API expresses: </li></ul><ul><li>the logic with which the application is built </li></ul><ul><li>its informative resources </li></ul><ul><li>operations that can be performed from outside the application / service </li></ul>From a software -not human- point of view
  5. 5. How practically invoke functions provided by an API, utilize its resources, manage the data and / or information exchange?
  6. 6. Web Services <ul><li>“ A software system designed to support interoperable machine-to-machine interaction over a network” (W3C) </li></ul><ul><li>The exchange takes place between a service that exposes its information, data or services </li></ul><ul><li>Service Provider </li></ul><ul><li>And a service that asks for them </li></ul><ul><li>Service Consumer </li></ul><ul><li>Request formatted in XML or in other languages and sent usually via HTTP </li></ul><ul><li>Response formatted in XML, JSON, HTML or other languages and sent usually via HTTP </li></ul>
  7. 7. RESTful Web Services <ul><li>Resource-oriented architecture </li></ul><ul><li>The client performs the request through a method of the HTTP protocol </li></ul><ul><li>Often GET </li></ul><ul><li>The request of information or operations is built and launched by the program through a simple Url </li></ul><ul><li>Information sent in the response are formatted in HTML or in other languages </li></ul><ul><li>They can be rendered as web pages or sent to other applications </li></ul>
  8. 8. (RESTful) Information Exchange <ul><li>Web application (Service Provider) </li></ul><ul><ul><li>API (what resources, operations, Url language etc.) </li></ul></ul><ul><ul><ul><li>REST Interface </li></ul></ul></ul><ul><li>Mashup client (Service Consumer) </li></ul><ul><ul><li>Builds request Url following REST interface parameters </li></ul></ul><ul><ul><ul><li>Sends it via HTTP method(s) </li></ul></ul></ul><ul><ul><ul><ul><li>Gets information to display or push to other applications </li></ul></ul></ul></ul>
  9. 9. Hooks (and how to make your website mashable!) <ul><li>RSS / Atom Feed </li></ul><ul><li>Image (Flickr) </li></ul><ul><li>Video (YouTube) </li></ul><ul><li>Map </li></ul><ul><li>Website (XHTML/CSS) </li></ul>Open APIs XML OAI-PMH JSON MicroFormats (iCal, CoinS etc.) RDFa/RDFe OpenUrl UnAPI (Open) Linked Data
  10. 10. Client-side scripting languages <ul><li>Vital role of JavaScript in (closed) applications </li></ul><ul><li>Template </li></ul><ul><li>Application logic </li></ul><ul><li>Middleware layer </li></ul><ul><li>How to effect the closed applications' web pages: </li></ul><ul><li>DOM </li></ul><ul><li>JavaScript and JSON </li></ul><ul><li>Callback </li></ul><ul><ul><li>Dynamic Script Tag </li></ul></ul>
  11. 11. The directory of Programmable Web
  12. 12. Examples...
  13. 13. MetaBib @ Bicocca
  14. 14. Bibliobar (1)
  15. 15. Bibliobar (2)
  16. 16. Bibliobar (3)
  17. 17. Library Lookup @ Bicocca
  18. 18. Library Lookup by Jon Udell <ul><li>Javascript:var re=/([ /-]|is[bs]n=)(d{7,9}dX])/i; </li></ul><ul><li>if(re.test(location.href)==true) </li></ul><ul><li>{var isbn=RegExp.$2; </li></ul><ul><li>void(''+'/F/?func=scan&scan_code=ISBN&scan_start='+isbn,'LibraryLookup','scrollbars=1,resizable=1,location=1,width=575,height=500'))} </li></ul><ul><li> </li></ul>The power of bookmarklet
  19. 19. Biblioteche Oggi REST interface
  20. 20. Free usage data <ul><li>University of Huddersfield Libraries: data of </li></ul><ul><li>Circulation </li></ul><ul><li>Suggestions </li></ul><ul><li>ISBN linking (via LibraryThing ISBN API ) </li></ul><ul><ul><li>With an Open Data Commons license </li></ul></ul><ul><li>Offered as XML files on the Web to everyone for </li></ul><ul><li>Global ranking of OPACs results </li></ul><ul><li>Augmented recommendation services </li></ul><ul><li>More effective collection development policies </li></ul><ul><li>... </li></ul>
  21. 21. From APIs to Linked Data? <ul><li>RDF Book Mashup </li></ul><ul><li>Integrates Web 2.0 data sources in the Semantic Web </li></ul><ul><li>Makes information about books, authors, reviews and bookshops available as semantic data </li></ul><ul><li>Turn XML responses from Web 2.0 web services into RDF </li></ul><ul><li>LIBRIS : the Linked Bibliographic Data </li></ul><ul><li>Dublin Core </li></ul><ul><li>SKOS </li></ul><ul><li>FOAF </li></ul><ul><li>Bibliontology </li></ul><ul><li>Home made ontology for holdings, FRBR relations </li></ul>
  22. 22. “ Weaving the Web ” on Tabulator (1)
  23. 23. “ Weaving the Web ” on Tabulator (2)
  24. 24. The Scripting Library means... <ul><li>Requiring APIs or other standardized ways to access information from vendors and commercial suppliers (libraries are users theirselves) </li></ul><ul><li>Getting a more transparent, standardized and Web-like approach to data (the Web is simple) </li></ul><ul><li>Commitment to open library data and information, sharing them (i.e. making them hackable) and letting users, stakeholders and applications (e.g. Course Management Systems, Facebook Apps, browser toolbar etc.) access them (openness, addressability, discoverability) </li></ul><ul><li>(Right to) Manipulate, enhance, mash-up, remix, re-invent </li></ul><ul><li>Using immagination and participation – together </li></ul>
  25. 25. What's for? <ul><li>The Scripting Library might become a means of renewal and innovation </li></ul><ul><li>Offering all the richness of the data (also) in a machine-readable format allows for data </li></ul><ul><ul><li>Re-use </li></ul></ul><ul><ul><li>Enhancing </li></ul></ul><ul><ul><li>Showcasing </li></ul></ul><ul><li>And for better cooperation between libraries </li></ul><ul><li>And between libraries and other organizations </li></ul>
  26. 26. Towards a library *data* portability <ul><li>From </li></ul><ul><li>&quot;It isn't the cables, it is the computers which are interesting&quot; </li></ul><ul><li>To </li></ul><ul><li>“ It isn't the computers, but the documents which are interesting” </li></ul><ul><li>To </li></ul><ul><li>“ It's not documents that are important but the things they are about which are important” </li></ul><ul><li>Tim Berners Lee dixit </li></ul>
  27. 27. Thank you! This talk is in memory of Alberta Zanella (for that story of November 29th...) Bonaria Biancu a.k.a. The Geek Librarian Library of the University of Milano-Bicocca Blog: E-mail: [email_address] Websites were accessed last time on March 10th, 2009 This presentation is proudly made with Open Office Impress and it is released under a Creative Commons License
  28. 28. Mashup Editors <ul><li>Yahoo! Pipes </li></ul><ul><li>Open Kapow </li></ul><ul><li>Microsoft Popfly </li></ul><ul><li>Google mashup Editor (on the way to be shut down) </li></ul><ul><li>MashMaker </li></ul><ul><li>Dapper </li></ul><ul><li>... </li></ul><ul><li>Enterprise software </li></ul>
  29. 29. Credits & Notes <ul><li>I got inspiration for the “Scripting Library” concept from Bruce Sterling's “Scripting Architecture” </li></ul><ul><li>The script for Gbooks and LThing in Metalib is made by Ere Maijala </li></ul><ul><li>Bibliobar was developed by Salvatore Vassallo </li></ul><ul><li>Piero Cavaleri is the author of “Biblioteche Oggi” web service </li></ul><ul><li>-------------------------------------------- </li></ul><ul><li>Suggested readings : </li></ul><ul><li>Library Mashup: exploring new ways to deliver library data , edited by Nicole Engard, Information Today, 2009 (in press) * </li></ul><ul><li>Pro Web 2.0 Mashup: remixing data and web services , Raymond Yee, Apress, 2008 </li></ul><ul><li>*Disclaimer: I am the author of one chapter of the book :-) </li></ul>