29
Stelline 2009 Stelline 2009 The Scripting Library The Scripting Library Combining data and information in the Combining data and information in the library library I servizi messi a disposizione con e per l'utente Cenfor Seminar Milan, March 12th, 2009

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,

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 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,

Stelline 2009Stelline 2009

The Scripting LibraryThe Scripting LibraryCombining data and information in the libraryCombining data and information in the library

I servizi messi a disposizione con e per l'utenteCenfor Seminar

Milan, March 12th, 2009

Page 2: 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,

Changing needsChanging needs

Rise of Rise of quantity, quality quantity, quality andand diversification diversification of of informationinformation

Desire and need of the users of Desire and need of the users of manipulatingmanipulating (modifying, trasforming, remixing) data(modifying, trasforming, remixing) data

In the In the point of interactionpoint of interaction between users and between users and data lies the data lies the mashup technologymashup technology

Mashup idea match Web 2.0 concepts of Mashup idea match Web 2.0 concepts of data as data as intel inside, hackability, the right to remix, intel inside, hackability, the right to remix, user-generated content, users as co-user-generated content, users as co-developersdevelopers

Page 3: 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,

Mashup architectureMashup architecture

Combine Combine data and informationdata and information fromfrom two or more two or more sourcessources to build to build new applications and servicesnew applications and services

Often “mashup” is used to represent also a manipulation Often “mashup” is used to represent also a manipulation of data from only one source, utilized in new ways (or of data from only one source, utilized in new ways (or opened or (better) interlinked with information from opened or (better) interlinked with information from other sources)other sources)

Structured informationStructured information

Non structured information transformed in structured Non structured information transformed in structured informationinformation

Non structured information used at its best (e.g. screen Non structured information used at its best (e.g. screen scraping)scraping) Publishers begin to open their data: The

Guardian docet! “The cost? Free. 'We feel like we are fueling an ecosystem'"

Page 4: 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,

API – Application Programming API – Application Programming InterfaceInterface

Set of Set of functionsfunctions, , procedures andprocedures and methodsmethods to to access an online applicationaccess an online application

There are also APIs for offline applicationsThere are also APIs for offline applications

API expresses:API expresses:

the logic with which the application is builtthe logic with which the application is built

its informative resourcesits informative resources

operations that can be performed from outside the operations that can be performed from outside the application / serviceapplication / service

From a software -not human- point of view

Page 5: 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,

How practically invoke functions provided by How practically invoke functions provided by an API, utilize its resources, manage the data an API, utilize its resources, manage the data

and / or information exchange?and / or information exchange?

Page 6: 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,

Web ServicesWeb Services

““A software system designed to support interoperable A software system designed to support interoperable machine-to-machine interaction over a network” (W3C)machine-to-machine interaction over a network” (W3C)

The The exchangeexchange takes place between a service that takes place between a service that exposes its information, data or servicesexposes its information, data or services

Service ProviderService Provider

And a service that asks for themAnd a service that asks for them

Service ConsumerService Consumer

Request formatted in XMLRequest formatted in XML or in other languages and or in other languages and sent usually sent usually via HTTPvia HTTP

Response formatted in XML, JSON, HTMLResponse formatted in XML, JSON, HTML or other or other languages and sent usually languages and sent usually via HTTPvia HTTP

Page 7: 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,

RESTful Web ServicesRESTful Web Services

Resource-oriented architectureResource-oriented architecture

The client performs the request through a The client performs the request through a method of method of the HTTP protocolthe HTTP protocol

Often GETOften GET

The request of information or operations is built and The request of information or operations is built and launched by the program through alaunched by the program through a simple Url simple Url

Information sent in the response areInformation sent in the response are formatted in formatted in HTML or in other languagesHTML or in other languages

They can be rendered asThey can be rendered as web pages web pages or sent to or sent to other other applicationsapplications

Page 8: 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,

(RESTful) Information Exchange(RESTful) Information Exchange

• Web application (Service Provider)Web application (Service Provider)

– API (what resources, operations, Url API (what resources, operations, Url language etc.)language etc.)

• REST InterfaceREST Interface• Mashup client (Service Consumer)Mashup client (Service Consumer)

– Builds request Url following REST Builds request Url following REST interface parametersinterface parameters

• Sends it via HTTP method(s)Sends it via HTTP method(s)– Gets information to display or Gets information to display or

push to other applicationspush to other applications

Page 9: 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,

Hooks Hooks (and how to make your website (and how to make your website mashable!)mashable!)

RSS / Atom FeedRSS / Atom Feed

Image (Flickr)Image (Flickr)

VideoVideo (YouTube)(YouTube)

MapMap

Website (XHTML/CSS)Website (XHTML/CSS)

Open APIs

XMLXML

OAI-PMHOAI-PMH

JSONJSON

MicroFormats MicroFormats (iCal, (iCal, CoinS etc.)CoinS etc.)

RDFa/RDFeRDFa/RDFe

OpenUrlOpenUrl

UnAPIUnAPI

(Open) Linked Data(Open) Linked Data

Page 10: 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,

Client-side scripting languagesClient-side scripting languages

Vital role of Vital role of JavaScriptJavaScript in (closed) applications in (closed) applications• TemplateTemplate

• Application logicApplication logic

• Middleware layerMiddleware layer

How to effect the closed applications' web pages: How to effect the closed applications' web pages: • DOMDOM

• JavaScript and JSONJavaScript and JSON

• CallbackCallback

– Dynamic Script TagDynamic Script Tag

Page 11: 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,

The directory of The directory of Programmable WebProgrammable Web

Page 12: 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,

Examples...Examples...

Page 13: 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,

MetaBib @ BicoccaMetaBib @ Bicocca

Page 14: 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,

BibliobarBibliobar (1) (1)

Page 15: 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,

BibliobarBibliobar (2) (2)

Page 16: 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,

BibliobarBibliobar (3) (3)

Page 17: 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,

Library Lookup @ BicoccaLibrary Lookup @ Bicocca

Page 18: 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,

Library Lookup by Jon UdellLibrary Lookup by Jon Udell

Javascript:var re=/([\ /-]|is[bs]n=)(\d{7,9}\dX])/i;Javascript:var re=/([\ /-]|is[bs]n=)(\d{7,9}\dX])/i;

if(re.test(location.href)==true)if(re.test(location.href)==true)

{var isbn=RegExp.$2;{var isbn=RegExp.$2;

void(win=window.open('http://opac.biblio.unimib.it'+'/F/?void(win=window.open('http://opac.biblio.unimib.it'+'/F/?func=scan&scan_code=ISBN&scan_start='+isbn,'Librarfunc=scan&scan_code=ISBN&scan_start='+isbn,'LibraryLookup','scrollbars=1,resizable=1,location=1,width=57yLookup','scrollbars=1,resizable=1,location=1,width=575,height=500'))}5,height=500'))}

http://opac.biblio.unimib.it/F/?http://opac.biblio.unimib.it/F/?func=scan&scan_code=ISBN&scan_start=1591585376func=scan&scan_code=ISBN&scan_start=1591585376

The power of bookmarklet

Page 19: 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,

Biblioteche OggiBiblioteche Oggi REST interface REST interface

Page 20: 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,

Free usage dataFree usage data

University of Huddersfield Libraries: data ofUniversity of Huddersfield Libraries: data of

• CirculationCirculation

• SuggestionsSuggestions

• ISBN linking (via ISBN linking (via LibraryThing ISBN APILibraryThing ISBN API))

– With an With an Open Data CommonsOpen Data Commons license license

Offered as XML files on the Web to everyone forOffered as XML files on the Web to everyone for• Global ranking of OPACs resultsGlobal ranking of OPACs results

• Augmented recommendation servicesAugmented recommendation services

• More effective collection development policiesMore effective collection development policies

• ......

Page 21: 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,

From APIs to Linked Data?From APIs to Linked Data?

RDF Book MashupRDF Book MashupIntegrates Web 2.0 data sources in the Semantic WebIntegrates Web 2.0 data sources in the Semantic Web

Makes information about books, authors, reviews and bookshops Makes information about books, authors, reviews and bookshops available as semantic dataavailable as semantic data

Turn XML responses from Web 2.0 web services into RDFTurn XML responses from Web 2.0 web services into RDF

LIBRISLIBRIS: the Linked Bibliographic Data: the Linked Bibliographic DataDublin CoreDublin Core

SKOSSKOS

FOAFFOAF

BibliontologyBibliontology

Home made ontology for holdings, FRBR relationsHome made ontology for holdings, FRBR relations

Page 22: 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,

““Weaving the WebWeaving the Web” on Tabulator (1)” on Tabulator (1)

Page 23: 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,

““Weaving the WebWeaving the Web” on Tabulator (2)” on Tabulator (2)

Page 24: 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,

The Scripting Library means...The Scripting Library means...

Requiring APIs or other standardized ways to access Requiring APIs or other standardized ways to access information from vendors and commercial suppliers information from vendors and commercial suppliers (libraries are users theirselves)(libraries are users theirselves)

Getting a more transparent, standardized and Web-like Getting a more transparent, standardized and Web-like approach to data (the Web is simple)approach to data (the Web is simple)

Commitment to open library data and information, sharing Commitment to open library data and information, sharing them (i.e. making them hackable) and letting users, them (i.e. making them hackable) and letting users, stakeholders and applications (e.g. Course Management stakeholders and applications (e.g. Course Management Systems, Facebook Apps, browser toolbar etc.) access Systems, Facebook Apps, browser toolbar etc.) access them (openness, addressability, discoverability)them (openness, addressability, discoverability)

(Right to) Manipulate, enhance, mash-up, remix, re-invent(Right to) Manipulate, enhance, mash-up, remix, re-invent

Using immagination and participation – togetherUsing immagination and participation – together

Page 25: 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,

What's for?What's for?

The The Scripting LibraryScripting Library might become a means of might become a means of renewal and innovationrenewal and innovation

Offering all the richness of the data (also) in a Offering all the richness of the data (also) in a machine-readable format allows for datamachine-readable format allows for data

– Re-useRe-use

– EnhancingEnhancing

– ShowcasingShowcasing

And for better cooperation between librariesAnd for better cooperation between libraries

And between libraries and other organizationsAnd between libraries and other organizations

Page 26: 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,

Towards a library *data* portabilityTowards a library *data* portability

FromFrom

"It isn't the cables, it is the computers which are "It isn't the cables, it is the computers which are interesting"interesting"

ToTo

““It isn't the computers, but the documents which It isn't the computers, but the documents which are interesting”are interesting”

ToTo

““It's not documents that are important but the It's not documents that are important but the things they are about which are important”things they are about which are important”

Tim Berners Lee Tim Berners Lee dixitdixit

Page 27: 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,

Thank you!Thank you!

This talk is dedicated to Alberta ZanellaThis talk is dedicated to Alberta Zanella(for that story of 29th November...)(for that story of 29th November...)

Bonaria Biancu a.k.a. The Geek LibrarianBonaria Biancu a.k.a. The Geek Librarian

Library of the University of Milano-BicoccaLibrary of the University of Milano-BicoccaBlog: http://bonariabiancu.wordpress.com/Blog: http://bonariabiancu.wordpress.com/

E-mail: [email protected]: [email protected]

Page 28: 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,

Mashup EditorsMashup Editors

Yahoo! PipesYahoo! Pipes

Open KapowOpen Kapow

Microsoft PopflyMicrosoft Popfly

Google mashup EditorGoogle mashup Editor (on the way to be shut (on the way to be shut down)down)

MashMakerMashMaker

DapperDapper

......

Enterprise softwareEnterprise software

Page 29: 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,

Credits & NotesCredits & Notes

I got inspiration for the “Scripting Library” concept from Bruce I got inspiration for the “Scripting Library” concept from Bruce Sterling's “Scripting Architecture”Sterling's “Scripting Architecture”

The The script for Gbooks and LThing in Metalibscript for Gbooks and LThing in Metalib is made by is made by Ere MaijalaEre Maijala

Bibliobar was developed by Bibliobar was developed by Salvatore VassalloSalvatore Vassallo

Piero CavaleriPiero Cavaleri is the author of “Biblioteche Oggi” web service is the author of “Biblioteche Oggi” web service

----------------------------------------------------------------------------------------

Suggested readingsSuggested readings::

Library Mashup: exploring new ways to deliver library dataLibrary Mashup: exploring new ways to deliver library data, edited , edited by Nicole Engard, Information Today, 2009 (in press) *by Nicole Engard, Information Today, 2009 (in press) *

Pro Web 2.0 Mashup: remixing data and web servicesPro Web 2.0 Mashup: remixing data and web services, Raymond , Raymond Yee, Apress, 2008Yee, Apress, 2008

*Disclaimer: I am the author of one chapter of the book :-)*Disclaimer: I am the author of one chapter of the book :-)