V YSOKÁ ŠKOLA EKONOMICKÁ V P RAZE FAKULTA INFORMATIKY A STATISTIKY
Využití principu˚ Webu 2.0 pro web knihovny D IPLOMOVÁ PRÁCE
Milan Janíˇcek
Obor: Znalostní technologie, KIZI FIS VŠE. Praha 2009
Prohlášení Prohlašuji, že tato diplomová práce je mým puvodním ˚ autorským dílem, které jsem vypracoval samostatnˇe. Všechny zdroje, prameny a literaturu, které jsem pˇri vypracování používal nebo z nich cˇ erpal, v práci rˇ ádnˇe cituji s uvedením úplného odkazu na pˇríslušný zdroj.
Vedoucí práce: Ing. Vilém Sklenák, CSc. ii
Podˇekování Dˇekuji Ing. Vilému Sklenákovi, CSc. za poskytnuté cenné rady a pˇripomínky a své rodinˇe za morální podporu a trpˇelivost.
iii
Shrnutí V práci byl popsán fenomén zvaný Web 2.0, jeho vznik i následná kritika. Zmˇeny, které pˇrinesl byly naznaˇceny na základˇe popisu jeho aplikací a používaných technologií. Byl pˇredstaven koncept Library 2.0 a zhodnoceny jeho nedostatky, z nichž nejzásadnˇejším je, oproti Webu 2.0, menší množství potencionálních uživatelu. ˚ Dále byl popsán souˇcasný stav využití technologií Webu 2.0 v knihovnách a jejich katalozích. Byla zduraznˇ ˚ ena pˇríležitost využít dat knihovny a posouzeny možnosti jejich získání. Bylo vytvoˇreno odlehˇcené jednotné rozhraní a pˇredvedeno jeho praktické využití.
iv
Klíˇcová slova Web 2.0, Library 2.0, API, Ruby on Rails, Ajax, SFX, Aleph, X-Server, Národní technická knihovna
v
Obsah 1 2
3
Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Web 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Co rozumíme pod pojmem Web 2.0 . . . . . . . . . . . 2.1.1 Web jako platforma . . . . . . . . . . . . . . . . 2.1.2 Využití kolektivních znalostí . . . . . . . . . . 2.1.3 Data jsou dalším „Intel Inside“ . . . . . . . . . 2.1.4 Konec cyklu vydávání softwaru . . . . . . . . 2.1.5 Odlehˇcený model programování . . . . . . . . 2.1.6 Software nad rámec jediného zaˇrízení . . . . . 2.1.7 Obohacení uživatelského zážitku . . . . . . . . 2.1.8 Definice 2.0 . . . . . . . . . . . . . . . . . . . . 2.2 Kritika pojmu Web 2.0 . . . . . . . . . . . . . . . . . . 2.2.1 Tim Berners-Lee . . . . . . . . . . . . . . . . . . 2.2.2 John C. Dvorak . . . . . . . . . . . . . . . . . . 2.2.3 Reálný jev, nebo marketingová bublina? . . . . 2.3 Aplikace Webu 2.0 . . . . . . . . . . . . . . . . . . . . 2.3.1 Wiki . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Blog . . . . . . . . . . . . . . . . . . . . . . . . 2.3.3 RSS a Atom . . . . . . . . . . . . . . . . . . . . 2.3.4 Tagování . . . . . . . . . . . . . . . . . . . . . . 2.3.5 Sociální sítˇe . . . . . . . . . . . . . . . . . . . . 2.3.6 Kooperace uživatelu˚ . . . . . . . . . . . . . . . 2.4 Technologie Webu 2.0 . . . . . . . . . . . . . . . . . . . 2.4.1 Nové technologie? . . . . . . . . . . . . . . . . 2.4.2 Ajax . . . . . . . . . . . . . . . . . . . . . . . . 2.4.2.1 Aplikace využívající Ajax . . . . . . . 2.4.2.2 Technologie, na nichž je Ajax založen 2.4.3 Webová rozhraní – API . . . . . . . . . . . . . 2.4.3.1 SOAP . . . . . . . . . . . . . . . . . . 2.4.3.2 REST . . . . . . . . . . . . . . . . . . . 2.4.3.3 Srovnání SOAP a REST . . . . . . . . 2.4.3.4 Zásady používání API . . . . . . . . . 2.4.4 Shrnutí – Ajax a rozhraní . . . . . . . . . . . . Library 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Proˇc vznikl pojem Library 2.0 . . . . . . . . . . . . . . 3.2 Definice Library 2.0 . . . . . . . . . . . . . . . . . . . . 3.2.1 Casey & Savastinuk . . . . . . . . . . . . . . . 3.2.2 Chad & Miller . . . . . . . . . . . . . . . . . . . 3.2.3 Walter Crawford – Library 2.0 a „Library 2.0“ 3.3 Problémy konceptu Library 2.0 . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1 3 3 4 5 5 6 6 7 7 8 8 8 8 9 9 9 10 11 11 12 13 13 13 14 15 15 18 19 20 21 21 22 23 23 23 23 24 25 26 vi
3.4
Web 2.0 v knihovnách . . . . . . . . . . 3.4.1 OPAC . . . . . . . . . . . . . . . 4 Data knihovny a rozhraní pro pˇrístup k nim 4.1 Potˇreba rozhraní pro pˇrístup k datum ˚ . 4.2 Zdroje dat . . . . . . . . . . . . . . . . . 4.2.1 Aleph . . . . . . . . . . . . . . . . 4.2.2 SFX . . . . . . . . . . . . . . . . . 4.2.3 Obálky knih . . . . . . . . . . . . 4.2.3.1 Obálky v NTK . . . . . 4.2.3.2 Obalkyknih.cz . . . . . 4.3 Rozhraní pro pˇrístup k datum ˚ . . . . . . 4.3.1 Aleph X-Server . . . . . . . . . . 4.3.2 SFX XML . . . . . . . . . . . . . . 4.3.3 Obálky . . . . . . . . . . . . . . . 5 Vytvoˇrené rozhraní . . . . . . . . . . . . . . . 5.1 Implementace . . . . . . . . . . . . . . . 5.2 Serverová cˇ ást . . . . . . . . . . . . . . . 5.2.1 Formát zobrazování dat . . . . . 5.2.2 Použité modely . . . . . . . . . . 5.2.2.1 Model AlephX . . . . . 5.2.2.2 Model AlephX_circ . 5.2.2.3 Model SFXX . . . . . . 5.2.2.4 Model Image . . . . . . 5.2.2.5 Model Feed_reader . ˇ 5.2.3 Radiˇ ce a pohledy . . . . . . . . . 5.3 Klientská cˇ ást . . . . . . . . . . . . . . . 5.3.1 HTML struktura . . . . . . . . . 5.3.2 Typy použitých funkcí . . . . . . 5.4 Pˇríklady využití . . . . . . . . . . . . . . 6 Závˇer . . . . . . . . . . . . . . . . . . . . . . . Literatura . . . . . . . . . . . . . . . . . . . . . . . Rejstˇrík . . . . . . . . . . . . . . . . . . . . . . . . A Obsah pˇriloženého CD . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27 28 31 31 31 31 32 34 34 35 35 35 36 38 40 40 40 41 42 42 43 43 43 44 44 45 45 46 46 48 50 51 52
vii
Kapitola 1
Úvod O fenoménu zvaném Web 2.0 se hovoˇrí rˇ adu let. Reakce na termín bývají pozitivní i odmítavé. Pro jedny jde o zlom ve vývoji Internetu, pro druhé o obsahovˇe prázdný marketingový termín. At’ už se náš náhled na tuto problematiku pˇribližuje prvnímu, nebo druhému názoru, nemužeme ˚ popˇrít, že svˇet webu, a s ním i svˇet poˇcítaˇcu˚ prochází velkými zmˇenami. Webové aplikace nabývají na významu. Zatímco ve svˇetˇe PC vládl Microsoft, ve svˇetˇe Webu 2.0 vyrostl nový gigant – Google. Pˇripojení k Internetu je poˇrád dostupnˇejší a rychlejší, je možné jeho služeb využívat i z pˇrenosných zaˇrízení, jako jsou mobilní telefony a PDA. Svˇet se „internetizuje“: nejvýznamnˇejší encyklopedií už není Britannica, ale Wikipedia, komunikace probíhá stále cˇ astˇeji prostˇrednictvím sociálních sítí; k vyhledávání informací se používá zejména Google.com; zábava se posouvá smˇerem k interaktivitˇe. Mˇení se oˇcekávání uživatelu. ˚ Na významu nabývají data. Vývoj softwaru pˇrechází k architektuˇre Software as a Service (Software jako služba). V ní nejde o poskytování zdrojového kódu, ale o poskytování služeb pˇres Internet. Nejvýznamnˇejší hráˇc na tomto poli, Google, dokonce plánuje uvedení operaˇcního systému urˇceného pˇredevším pro použití s webovými službami. O zmˇenách ve svˇetˇe webu (ˇci Webu 2.0) není pochyb, at’ už je oznaˇcíme jakkoli. Jeho rozvoj má ovšem dopad i na další odvˇetví – ta si po vzoru Webu 2.0 vytváˇrejí své vlastní 2.0 definice. Jedním z takových odvˇetví je i knihovnictví. V jeho pˇrípadˇe komplikuje situaci i to, že Google mˇení pohled na jeho hlavní náplnˇ cˇ innosti, tedy vyhledávání informací. Se zmˇenami uvažování i požadavky uživatelu˚ a vývojem webu se snaží knihovny vypoˇrádat prostˇrednictvím Library 2.0. Oproti Webu 2.0 jde o definici ještˇe nejasnˇejší – zatímco se Tim O’Reilly, popularizátor termínu Web 2.0, snažil popsat nové jevy, které už se objevily, autoˇri konceptu Library 2.0 spíše navrhují cestu, jíž by se mˇelo odvˇetví ubírat. O tom, že by se knihovny mˇely snažit držet krok s dobou není pochyb. Vˇetšinou se tak dˇeje adaptováním aplikací svˇeta Webu 2.0 pro svˇet knihoven. Vznikají blogy, skupiny na sociálních sítích, hodnotí se knihy v katalozích. Podle mého názoru by si ovšem zasloužila vˇetší pozornost i data, která knihovna vytváˇrí. Jde o data související s organizováním fondu, tedy s cˇ inností jež je knihovnám vlastní. Prezentace fondu˚ by se mohla stát jádrem pˇrítomnosti knihoven na webu a to at’ už jde o fondy fyzické cˇ i elektronické – jde koneckoncu˚ o základ každé knihovny. Web 2.0 ovšem pˇrináší na služby nové nároky, jímž se knihovny jen tˇežko pˇrizpusobují. ˚ Jen výjimeˇcnˇe mají k dispozici dostateˇcné technické zázemí; pˇrestože pˇres knihovny cˇ asto procházejí pomˇernˇe velké finanˇcní cˇ ástky, jsou urˇceny pˇredevším pro jiné cˇ innosti, než je jeho rozvoj. 1
1. Ú VOD Pˇri své práci ve Státní technické (nyní Národní technické) knihovnˇe jsem se seznámil se základními používanými technologiemi, jejich výhodami i nedostatky. Knihovní systémy mají velkou tradici, ale možná i proto se špatnˇe pˇrizpusobují ˚ novým podmínkám. Pomalý vývojový cyklus zpusobuje, ˚ že ne zcela staˇcí tempu doby. Knihovny pusobí ˚ oproti „normálnímu Internetu“ zkostnatˇele. Cílem této práce je navržení systému, který by alesponˇ cˇ ásteˇcnˇe umožnil vyplnit mezeru mezi moderním webem a webem knihoven. Prostˇredky budou technologie Webu 2.0, které poslouží k vytvoˇrení odlehˇceného, snadno použitelného rozhraní k duležitým ˚ datum ˚ knihovny a to pˇredevším u systému, ˚ kde takové rozhraní doposud neexistuje, nebo je pˇríliš tˇežkopádné. Výhody vytvoˇreného rozhraní budou demonstrovány na drobné aplikaci, která bude využívat jeho služeb.
2
Kapitola 2
Web 2.0 2.1
Co rozumíme pod pojmem Web 2.0
Prudký rozvoj Internetu se na pˇrelomu století odrazil ve velkém boomu firem, postavených na moderních technologiích. Nadšení investoru˚ ovšem pˇrekonalo možnosti tohoto sektoru ekonomiky, což se projevilo ve splasknutí Internetové bubliny (anglicky dot-com bubble). Ukázal se také problém, který je do jisté míry zˇretelný i dnes – rozvoj technologií muže ˚ pˇrinášet velké množství uživatelu, ˚ nicménˇe se nesmí zapomínat ani na realistický obchodní model. Konec rˇ ady dot-comových firem nicménˇe neznamenal konec Internetu, dokonce ani to, že by investoˇri ztratili o toto nové odvˇetví zájem. V roce 2004 poˇrádala firma O’Reilly Media konferenci nazvanou Web 2.01 . V dobˇe konání konference termín Web 2.0 víceménˇe znamenal web jako platforma [2]. Firmy, které pˇrežily splasknutí Internetové bubliny mˇely spoleˇcné nˇekteré znaky – a právˇe na nˇe se chtˇeli organizátoˇri konference zamˇerˇ it. Jejich cílem bylo oživit sebevˇedomí odvˇetví poškozeného pˇredchozím vývojem [3] a dát mu nový impulz. To se jim podaˇrilo. Po konferenci se nový termín uchytil [1], nicménˇe nebylo zˇrejmé co by vlastnˇe tato nová etapa vývoje webu mˇela znamenat. Tim O’Reilly proto v roce 2005 formuloval ve svém cˇ lánku „What is Web 2.0“ 7 bodu˚ „definujících“ co termín Web 2.0 znamená. Jsou to: 1. web jako platforma 2. využití kolektivních znalostí 3. data jsou další „Intel Inside“ 4. konec cyklu vydávání softwaru 5. odlehˇcený model programování 6. software nad rámec jediného zaˇrízení 7. obohacení uživatelského zážitku 1.
Samotný termín vznikl, když organizátoˇri hledali název a vlastnˇe i zamˇerˇ ení konference [1] .
3
2.1. CO ROZUMÍME POD POJMEM WEB 2.0
Obrázek 2.1: Web 2.0 Meme Map. Tato mapa byla vytvoˇrena v prubˇ ˚ ehu konference Web 2.0 a vizualizuje duležité ˚ prvky nového fenoménu. Obrázek je pˇrevzat z [1] Nejde o „tvrdou“ definici – spíše o zduraznˇ ˚ ení principu, ˚ jejichž uplatnování ˇ v praxi je umožnˇeno rozvojem informaˇcních technologií. Tim O’Reilly na konci svého cˇ lánku doporucˇ uje firmám, které chtˇejí své produkty prohlásit za Web 2.0, aby posoudily jejich kompatibilitu s výše uvedenými 7 body. Poznamenává však také, že excelence v jedné oblasti muže ˚ pˇrevážit význam malých kroku˚ smˇerem k Webu 2.0 ve všech 7 krocích. Tˇechto 7 kroku˚ bude pˇriblíženo v následující cˇ ásti. 2.1.1
Web jako platforma
Web jako platforma znamená pˇresun od aplikací instalovaných na uživateluv ˚ poˇcítaˇc, k aplikacím které jsou spíše služby. Napˇríklad Netscape vyrábˇel webový prohlížeˇc, snažil se ovládnout standardy a vybudovat prostˇredí pro prodej serverových aplikací, na kterých by potom byly závislé další služby. To vedlo k velkému souboji s Microsoftem a jeho Internet 4
2.1. CO ROZUMÍME POD POJMEM WEB 2.0 Explorerem. Oproti tomu Google vlastní software nenabízel a soustˇredil se pouze na poskytování služeb, za které si nechal zaplatit. Když Google ovládl trh se službami, odsoudil prohlížeˇcum ˚ mnohem menší roli, než jakou hrály v pˇredchozích letech. Vývoj softwaru ve firmách jako je Google také opustil dˇríve bˇežné postupy vydávání nových verzí a zamˇerˇ uje se na neustálý vývoj za souˇcasného poskytování služeb tak kvalitních, jak je to v daný okamžik možné. Jejich výhodou je také cˇ asto schopnost dosáhnout k uživatelum, ˚ kteˇrí by jinak byli jinými službami opomíjeni. Jde o takzvaný long tail. Firmy spojené s fenoménem Webu 2.0 jsou cˇ asto schopné prodávat i produkty o které je malý zájem. Takových produktu˚ je ale velmi velké množství a v souˇctu je to velká oblast trhu. Pokud se firmám podaˇrí omezit náklady na prodej na jeden takový produkt, mohou na této cˇ ásti trhu velmi dobˇre profitovat. Typickým pˇríkladem je elektronický obchod Amazon.com, který i díky dobré práci s daty (používá doporuˇcovací systém) prodává velké množství knih, o které je malý zájem. 2.1.2
Využití kolektivních znalostí
Dalším efektem rozvoje webových technologií je možnost nasbírat velké množství dat od uživatelu˚ a využít je novým zpusobem. ˚ Nejlepším a zˇrejmˇe i nejznámˇejším pˇríkladem efektu který muže ˚ takový pˇrístup pˇrinést je kolektivnˇe vytváˇrená encyklopedie Wikipedia. Podobným zpusobem ˚ sdílení znalostí jsou i blogy, umožnující ˇ široké mase uživatelu˚ vstupovat do veˇrejného prostoru novým zpusobem. ˚ Informace ovšem nemusí být sdíleny pˇrímo s tímto cílem. Na efektivním využití informací obsažených ve webových stránkách je založen i systém hodnocení duležitosti ˚ webových stránek PageRank firmy Google – jeden z nejduležitˇ ˚ ejších stavebních prvku˚ jejich vyhledávaˇce. Podobný efekt – tedy efekt zpracování rozsáhlých, puvodnˇ ˚ e nesouvisejících dat využívá i Amazon ve svém systému doporuˇcování podobných produktu. ˚ Technologie spojené s Webem 2.0 tak pˇrinášejí možnosti nejen snadno sdílet znalosti v klasické podobˇe, ale také vytváˇrení nových na základˇe chování široké masy uživatelu. ˚ Také popisování dat pro jejich snazší vyhledání a rozdˇelení doznalo s pˇríchodem Webu 2.0 zmˇen. Jde zejména o používání tzv. folksonomií – popisu pomocí volnˇe zvolených slov [1] nazývaných tagy. Vzniklých efektu˚ dobˇre využívají pro organizování obsahu napˇríklad stránky pro správu záložek Delicious2 , systém pro sdílení fotografií Flickr, nebo internetové rádio Last.fm. 2.1.3
Data jsou dalším „Intel Inside“
Vzhledem ke zmˇenám ve využití informaˇcních technologií získávají na duležitosti ˚ samotná data. Webové aplikace jsou obvykle založeny na rozsáhlých databázích, jejich správˇe a zpracování. Podle O’Reillyho budou v budoucnu právˇe tato data jedním z nejpodstatnˇejších faktoru˚ v konkurenˇcním boji mezi firmami – oˇcekává dokonce vznik „hnutí za svobodná data“, analogického k „hnutí za svobodný software“. 2.
Služba se puvodnˇ ˚ e jmenovala del.icio.us, ale pˇrejmenovala se v roce 2008 .
5
2.1. CO ROZUMÍME POD POJMEM WEB 2.0 2.1.4
Konec cyklu vydávání softwaru
V nové éˇre je kladen vˇetší duraz ˚ na funkˇcnost, kterou software poskytuje, než na nˇej samotný. Ze softwaru se stává pouze prostˇredník – rozvoj Internetu umožnuje ˇ dodávat pˇrímo službu, bez toho aby se uživatel musel starat o to, jaký produkt mu ji zajišt’uje. U webových aplikací se opouští model, kdy byl software vyvíjen v cyklech, které mají typicky 4 fáze: specifikace požadavku, ˚ vývoj, testování a nasazení finálního produktu. Webové aplikace je snazší prubˇ ˚ ežnˇe inovovat a distribuovat. Funkcionalita je pro koncového zákazníka pˇrístupná neustále, k novým funkcím se navíc dostává prubˇ ˚ ežnˇe a velice rychle bez toho aby musel cˇ ekat na cˇ as vydání koneˇcné nové verze, která by jich pˇrinesla více naráz. Ztrácí se význam data vydání softwaru, je možné reagovat na nové požadavky a potˇreby. S tímto efektem souvisí termín vˇecˇ ná betaverze3 , velice populární v puvodní ˚ vlnˇe Webu 2.0. Uživatelé pracující s online aplikacemi také poskytují mnohem lépe zpˇetnou vazbu, at’ už v podobˇe pˇrímých komentáˇru˚ a požadavku, ˚ nebo nepˇrímo prostˇrednictvím statistik o užívání, které muže ˚ autor softwaru sbírat a analyzovat. Konec cyklu vydávání softwaru usnadnuje ˇ opravování chyb a nedostatku˚ – drobné chyby mohou být opraveny velice rychle, aniž by si to uživatel, používající software jako službu, uvˇedomil. 2.1.5
Odlehˇcený model programování
Ve svˇetˇe Webu 2.0 cˇ asto vítˇezí snazší rˇ ešení nad složitými standardy. Pˇríkladem je prosazení RSS4 , jednoho z jeho nejduležitˇ ˚ ejších stavebních kamenu. ˚ Podobnou výhodu pˇrináší i poskytování snadno implementovatelných rozhraní pro vlastní produkty. Jednoduché standardy jsou snadnˇeji implementovatelné a využitelné dalšími vývojáˇri v jejich produktech. To nakonec pˇrináší výhodu firmˇe, která rozhraní nabízí, protože její služba je více využívána a vzniká tak témˇerˇ nový de facto standard. Jako pˇríklad lze uvést Google, zejména jejich Google Maps, které jsou díky snadnosti využití rozhraní velmi široce používány. Z toho tˇeží jak Google, jehož služba je potom velice známá a využívaná, tak ti, kdo rozhraní používají, protože se velmi snadno dostanou ke kvalitním funkcím, které by nemohli z vlastních zdroju˚ nabídnout. Spojení systému prostˇrednictvím rozhraní jsou budována také pomˇernˇe novým zpuso˚ bem. Google jako poskytovatel obsahu a rozhraní neví kdo pˇresnˇe a k cˇ emu je bude používat. Vztah mezi nimi je definován na základˇe jednoduché licence a využití rozhraní je tak pro další vývojáˇre velmi jednoduché. Používání odlehˇceného modelu programování také umožnuje ˇ snadnou zmˇenu dat do formy, kterou požaduje vývojáˇr finální aplikace. Pokud tvurce ˚ rozhraní poskytuje data ve 3. Betaverze je první verze programu, která je zpˇrístupnˇena širšímu okruhu uživatelu˚ – mˇela by už být v podstatˇe funkˇcní, nicménˇe mohou nastat problémy se stabilitou cˇ i nˇekterými funkcemi; cílem vydávaní betaverzí je nalezení a odladˇení posledních takových chyb pˇred vydáním finálního produktu; webové aplikace firmy Google byly dlouho oznaˇcovány jako betaverze, nicménˇe i ony nakonec toto oznaˇcení ztratily [4] . 4. RSS – Really Simple Syndication – je standard vytvoˇrený primárnˇe pro snadné distribuování informací o novinkách na webových stránkách.
6
2.1. CO ROZUMÍME POD POJMEM WEB 2.0 snadno dále zpracovatelném formátu, umožnuje ˇ je prezentovat v zcela novém kontextu – je tak mnohem snazší vytvoˇrit ze stávajících dat nˇeco neoˇcekávaného a originálního. Pro tento postup se používá termín mashup, volnˇe pˇreložitelný jako „míchanice“. Jednoduchý nástroj pro jejich vytváˇrení nabízí napˇríklad firma Yahoo5 .
2.1.6
Software nad rámec jediného zaˇrízení
S rostoucími technickými možnostmi i vývojem mobilních technologií se duležitou ˚ cˇ ástí webu stávají i jiná zaˇrízení než osobní poˇcítaˇce. I tento posun se odráží ve fenoménu Webu 2.0. Kombinace více fyzických zaˇrízení, která jsou obsluhována jinou cˇ ástí stejné aplikace umožnují ˇ tato zaˇrízení efektivnˇeji a elegantnˇeji využít. Typickým pˇríkladem je aplikace iTunes od firmy Apple. Multiplatformní pˇrehrávaˇc postupem cˇ asu získává další funkcionalitu a propojuje se s webovými službami. Vzniká tak komplexní aplikace pro správu hudby, která si bere to nejlepší z obou svˇetu˚ – svˇeta Internetu, i svˇeta mobilních technologií.
2.1.7
Obohacení uživatelského zážitku
V posledních letech se zaˇcíná odhalovat potenciál webu poskytovat více, než jenom textové informace. Významným zástupcem je napˇríklad technologie Flash, nicménˇe nejduležitˇ ˚ ejší souˇcasnou platformou pro vytváˇrení aplikací na webu se stal JavaScript. Skuteˇcnou sílu tohoto jazyka ukázala firma Google když ho ve svých produktech Gmail a Google Maps využila spolu s dalšími technologiemi (XML) vytvoˇrení složitých aplikací. Tyto technologie zaˇcaly být souhrnnˇe nazvány Ajax (Asynchronous JavaScript + XML). Došlo k posunu náhledu na internetový prohlížeˇc – díky Ajaxu se na nˇej dá nahlížet jako na operaˇcní systém (tedy prostˇredí ke spouštˇení aplikací) [5]. Rychlost interpretace kódu v JavaScriptu se stává jedním z nových faktoru˚ konkurenˇcního boje mezi prohlížeˇci – je to napˇríklad jeden z duvod ˚ u˚ proˇc na trh vstoupila firma Google s vlastním prohlížeˇcem Chrome [6]. Navíc pozdˇeji oznámila [7] vývoj nového operaˇcního systému Chrome OS, prakticky závislého na webových aplikacích (a tedy i na pˇripojení k Internetu). První stabilní verze by mˇela být vydána v druhé polovinˇe roku 2010. Je nutné si uvˇedomit, že s tím, jak rostou možnosti a rozšíˇrení webových aplikací, rostou také oˇcekávání jejich uživatelu. ˚ Web 2.0 nejenže nabízí nové pˇrístupy, ale zárovenˇ zvyšuje nároky i na již dlouho provozované systémy. To co kdysi pohodlnˇe staˇcilo, už požadavky „nových“ uživatelu˚ splnovat ˇ nemusí. Ke zlepšení pocitu z prohlížení webu ovšem není a priori nutné vytváˇret rozsáhlé aplikace jako jsou Google Maps, cˇ i Facebook. Tento trend je ale potˇreba zaznamenat a snažit se stávající služby zlepšovat, což cˇ asto není tak složité, jak by se na první pohled mohlo zdát. Použity k tomu mohou být stejné technologie, pouze jednodušším zpusobem. ˚
5.
7
2.2. KRITIKA POJMU WEB 2.0 2.1.8
Definice 2.0
Tim O’Reilly se ve svém cˇ lánku [1] nesnažil Web 2.0 ani tak definovat, jako spíš popsat urˇcitý vývojový trend. Struˇcnou definici se pokusil vytvoˇrit o rok pozdˇeji ve svém blogu O’Reilly Radar [8]: „Web 2.0 je obchodní revoluce v poˇcítaˇcovém prumyslu ˚ zpusobená ˚ pˇrechodem k Internetu jako platformˇe a snahou pochopit pravidla úspˇechu na této nové platformˇe. Nejduležitˇ ˚ ejším z tˇechto pravidel je: Vytváˇrejte aplikace, které využívají sít’ové efekty a stávají tím užiteˇcnˇejšími, cˇ ím více lidí je používá.“ V tomto pˇríspˇevku O’Reilly také pˇribližuje svou motivaci proˇc se zabývá Webem 2.0. Snaží se popsat pravidla chování v nové éˇre. Pˇredchozí „éru osobních poˇcítaˇcu“ ˚ podle nˇej ovládl Microsoft proto, že vˇcas rozeznal její pˇríchod a pochopil a aplikoval její pravidla. O’Reilly tedy podle mˇel podle svých slov za cíl identifikovat a objasnit pravidla éry Webu 2.0 tak, aby odvˇetví nebylo zaskoˇceno.
2.2
Kritika pojmu Web 2.0
2.2.1
Tim Berners-Lee
Sir Tim Berners-Lee, autor konceptu World Wide Webu, kritizuje termín Web 2.0 jako nˇeco, co ve skuteˇcnosti neexistuje. K tomuto tématu se vyjádˇril v rozhovoru se Scottem Laninghamem [9]. Na otázku, zda souhlasí s tím, že Web (1.0) zajišt’oval spojení mezi poˇcítaˇci, zatímco Web 2.0 zajišt’uje spojení mezi lidmi a nové zpusoby ˚ komunikace, odpovˇedˇel: „Zcela jistˇe ne. Web 1.0 byl o spojování lidí. Byl to interaktivní prostor, a myslím, že Web 2.0 je cˇ ást žargonu, o které nikdo nikdy nevˇedˇel co vlastnˇe znamená. Pokud je Web 2.0 blogy a Wiki, potom jde o spojení lidí s lidmi. Nicménˇe to je právˇe to co jsme od Webu oˇcekávali vždy.“ Tento pohled na Web 1.0 sdílí nakonec i Tim O’Reilly [8], když prohlašuje, že: „Je ironií, že Web 1.0 Tima Berners-Lee je jedním z nejvíce ‚Web 2.0 systému‘, ˚ které existují – kompletnˇe využívá sílu uživatelského zapojení, spoleˇcné inteligence a sít’ových efektu. ˚ Byl to Web 1.5, dot-com bublina, ve které se lidé pokusili udˇelat z webu nˇeco jiného, co bojovalo s Internetem, a prohráli.“ 2.2.2
John C. Dvorak
John C. Dvorak je známý sloupkaˇr amerického poˇcítaˇcového cˇ asopisu PC Magazine. Ve svém sloupku [10] rovnˇež kritizoval termín Web 2.0, ovšem z jiného pohledu. Kritizuje ty, kdo koncept Webu 2.0 prosazují, že se snaží „prodávat staré víno v nových lahvích“. Podle Dvoraka jde o snahu zažehnout zájem podobný tomu, jaký byl v období dot-com bubliny. 8
2.3. APLIKACE WEBU 2.0 Termín Web 2.0 chápe pouze jako marketingový nástroj s tím, že jeho propagátoˇri zamˇenují ˇ evoluci za revoluci. Hlavním motorem zmˇen na Internetu je podle nˇej snaha „udˇelat si vˇeci sám“. Technologie, které to umožnují ˇ jsou k dispozici také nˇejakou dobu a byly tu již pˇred vznikem termínu Web 2.0. 2.2.3
Reálný jev, nebo marketingová bublina?
Kritika Webu 2.0 se vztahuje pˇredevším k vymezení tohoto termínu, který je ze své podstaty ponˇekud vágní. K vývoji, který se snaží zachytit podle mého názoru ovšem nezpochybnitelnˇe dochází a at’ už ho budeme považovat za revoluci, nebo evoluci, není radno ho opomíjet. Z termínu Web 2.0 se ovšem také stal termín marketingový a je otázka do jaké míry to bylo, cˇ i nebylo jedním z puvodních ˚ cílu˚ Tima O’Reillyho. Pˇrílišné používání termínu pro reklamu, takovým zpusobem, ˚ ze kterého není vubec ˚ zˇrejmé co znamená muže ˚ mnoho lidí odradit. Nˇekdy se projevuje pˇresycení všemi „2.0“ termíny, ovšem jevy, které Web 2.0 popisuje na vágnosti nebo pˇresnosti jeho vymezení nezávisí.
2.3
Aplikace Webu 2.0
Pojem Web 2.0 byl de facto odvozen od jevu, ˚ které se zaˇcaly objevovat na Internetu s jeho postupným technologickým rozvojem. Duležitou ˚ cˇ ástí celého fenoménu byly nové typy webových stránek a posléze i webových aplikací, které se objevovaly od druhé poloviny devadesátých let. Právˇe trendy, zavedené do svˇeta Internetu Wiki systémy, blogy, RSS kanály a dalšími zapˇríˇcinily vznik jasnˇeji definovaného (a marketingovˇe využívanému) fenoménu Webu 2.0. 2.3.1
Wiki
Wiki6 je webová stránka umožnující ˇ sdílení a upravování obsahu. Nejznámˇejším pˇríkladem tohoto systému je zcela urˇcitˇe Wikipedia – všeobecná encyklopedie existující v celé rˇ adˇe jazyku. ˚ Pˇres poˇcáteˇcní neduvˇ ˚ eru, zpusobenou ˚ principem pˇrispívání, kdy muže ˚ cˇ lánek upravovat kdokoli, si získala velkou duvˇ ˚ eru a v souˇcasnosti je jedním z nejlepších univerzálních informaˇcních zdroju˚ na Internetu7 . Wikipedia je nejznámˇejší ukázkou „využívání kolektivních znalostí“. Wikipedia funguje na Open Source8 softwaru MediaWiki. Existují i další, byt’ o nˇeco ménˇe známé projekty využívající stejný software. Jenom charitativní spoleˇcnost Wikimedia 6. Slovo wiki pochází z havajštiny a znamená rychlý. 7. Samozˇrejmˇe je nutné poˇcítat s možností, že nˇekterá hesla jsou zmanipulována, ale významnˇejší hesla jsou pod vˇetší kontrolou pˇrispˇevatelu; ˚ chybám se nevyhnou ani klasické papírové encyklopedie – urˇcitý stupenˇ skepticismu je koneckoncu˚ zdravý u každého zdroje. 8. Software s otevˇreným zdrojovým kódem – tzn. nedodává se pouze zkompilovaná verze programu, ale je k dispozici i zdrojový kód.
9
2.3. APLIKACE WEBU 2.0 Foundation Inc.9 jich provozuje celou rˇ adu – kromˇe zminované ˇ Wikipedie jsou to napˇríklad ještˇe slovník Wikitionary, archiv citátu˚ Wikiquote, kolekce volných knih Wikibooks, repositáˇr volného obsahu Wikimedia Commons a další. K dispozici jsou i desítky dalších obdobných softwarových rˇ ešení uzpusobených ˚ jiným úˇcelum, ˚ jako je tˇreba DokuWiki urˇcená pro udržování dokumentace v malých firmách, nebo PmWiki pro tvorbu a správu webových stránek. Vzhledem ke zpusobu ˚ práce s Wiki systémy nabízejí vˇetšinou funkce jako: •
rˇ ízení pˇrístupu uživatelu˚ (autentizovaný/neautentizovaný zápis)
•
správa a porovnání verzí
•
formátování obsahu stránek pomocí HTML, nebo vlastních znaˇcek
•
nahrávaní obrázku˚ a multimédií
2.3.2
Blog
Relativnˇe pˇríbuzné s Wiki systémy jsou blogy10 . Nabídly nový publikaˇcní model, kdy muže ˚ každý uživatel publikovat cokoli a kdykoli. Formát pˇríspˇevku˚ do blogu muže ˚ být velice ruznorodý ˚ – od odkazu, ˚ pˇres krátké cˇ lánky až po video soubory. Pˇríspˇevky je cˇ asto možné komentovat, takže muže ˚ vzniknout diskuze, která má sama o sobˇe další pˇrínos jak pro autora tak pro cˇ tenáˇre blogu. Podobnˇe jako Wiki by se blogy daly považovat za využívání kolektivních znalostí, i když v jejich pˇrípadˇe jde o trošku jiný zpusob. ˚ Zatímco Wiki je založena na postupném kolaborativním vylepšování obsahu, blogy umožnují ˇ autorum ˚ snadno publikovat svoje myšlenky, názory a postˇrehy. Kolem blogu se muže ˚ vytvoˇrit komunita cˇ tenáˇru˚ se zájmem o stejné téma, cˇ i obdobnými názory a vzniká tak sociální interakce neomezená fyzickým prostorem. Prosadit se mohou i blogy zamˇerˇ ené na specifické úzké téma, protože poˇcet potenciálních cˇ tenáˇru˚ je velice velký. Postupem cˇ asu vznikly rozmanité typy blogu. ˚ Mikroblogy jsou velice krátké a více než cˇ lánkum ˚ se blíží SMS zprávám známým z mobilních telefonu. ˚ Jejich význam roste s množstvím uživatelu˚ pˇripojených na Internet prostˇrednictvím mobilních zaˇrízení, pro nˇež je tento formát optimální. Prosazují se i multimediální formy blogu˚ jako jsou audio a video blogy. K blogum ˚ mají blízko podcasty – audio záznamy poskytované prostˇrednictvím Internetu. Muže ˚ jít jak o alternativní distribuˇcní kanál pro klasická rádia, tak o relace, které vznikají pˇrímo za tímto úˇcelem a jiným zpusobem ˚ nejsou dostupné. Výhodou je, podobnˇe jak bylo zmínˇeno u klasických blogu, ˚ potenciálnˇe velmi široká posluchaˇcská základna i pro specializovaná témata. Video blogy jsou z doposud zminovaných ˇ typu˚ technicky nejnároˇcnˇejší, nicménˇe postupem cˇ asu bude zˇrejmˇe jejich popularita narustat. ˚ V principu se podobají podcastum. ˚ V 9.
10. Termín blog vznikl zkrácením slova weblog – v cˇ eštinˇe „webový zápisník“.
10
2.3. APLIKACE WEBU 2.0 poslední dobˇe roste obliba jejich využití napˇríklad k politické propagaci – pˇri své kampani ho využíval napˇríklad tehdejší kandidát na amerického prezidenta Barack Obama, svuj ˚ videoblog má i ruský prezident Dmitrij Medvedˇev. 2.3.3
RSS a Atom
Technologií velice tˇesnˇe svázanou s blogy je technologie RSS (Really Simple Syndication, nˇekdy se uvádí také Rich Site Summary). Je to jednoduchý formát pro publikování obsahu stránky, založený na XML. Díky RSS muže ˚ být uživatel informován o nových cˇ láncích, pˇrípadnˇe pˇríspˇevcích v blogu, aniž by musel stránky navštˇevovat a prohledávat. Soubor obsahuje typicky URL adresu cˇ lánku, jeho název a shrnutí obsahu. RSS soubor je prubˇ ˚ ežnˇe vytváˇren na serveru a umístˇen na konkrétní URL adrese. Odtud si ho mohou stáhnout cˇ teˇcky, at’ už jsou samy souˇcástí nˇejaké stránky, samostatným programem, nebo souˇcástí webového prohlížeˇce. Výhodou je možnost data dále zpracovat – lišit se muže ˚ zpusob ˚ zobrazení, muže ˚ se použít více zdroju˚ naráz apod. Tento formát najde optimální využití tam, kde se cˇ asto mˇení obsah a zárovenˇ záleží na aktuálnosti, nebo pˇri sledování vˇetšího množství zdroju˚ (napˇríklad blogu), ˚ kdy odpadá jejich zdlouhavé procházení. RSS je zmrazený formát, který se úmyslnˇe dále nevyvíjí aby byla zachována kompatibilita s existujícími rˇ ešeními. Další specifikace jsou sice možné, ale pouze jako doladˇení stávajících vlastností, nikoli za úˇcelem pˇridání nové funkcionality [11] Alternativou k RSS je formát Atom. Jeho specifikace má 2 cˇ ásti: syndikaˇcní formát a publikaˇcní protokol11 . Rozdílu˚ mezi syndikaˇcní cˇ ástí Atomu a RSS je nˇekolik: •
lépe specifikovaný obsah – je jasnˇe definováno o jaký typ obsahu se jedná
•
lepší práce s datem zmˇeny – používá se cˇ asové razítko podle normy ISO 8601
•
jazyková podpora – je možné identifikovat jazyk u jednotlivých položek (RSS to umožnuje ˇ pouze na úrovni celého souboru)
•
modularita – v Atomu je možné lépe použít elementy z jiných jmenných prostoru˚ Atom je oproti RSS pokroˇcilejší, nicménˇe se nadále používají oba formáty.
2.3.4
Tagování
Tagování (ˇcesky nˇekdy oznaˇcované jako štítkování) je typem klasifikace obsahu. Tuto klasifikaci provádˇejí uživatelé tak, že zvolí libovolné slovo a pˇriˇradí ho obsahu (ˇclánku, skladbˇe, obrázku apod.). To se v zásadˇe podobá pˇriˇrazování klíˇcových slov dokumentum ˚ v knihovnám. Nejduležitˇ ˚ ejší (tzn. nejˇcastˇeji používané) tagy se nˇekdy zobrazují v takzvaném oblaku tagu˚ (orig. tag cloud), což je zpusob ˚ vizualizace, kde se cˇ astˇeji použitá slova zobrazují vˇetším písmem než slova použitá ménˇe cˇ asto. 11. Tento protokol je klasickým pˇríkladem využití softwarové architektury REST.
11
2.3. APLIKACE WEBU 2.0 Význam tagování stoupá u obsahu, ke kterému nelze snadno vytvoˇrit metadatový popis automaticky, tedy napˇríklad u obrázku, ˚ videí, cˇ i hudby. Pro nˇekteré služby je proto optimální vyžadovat už pˇri ukládání obsahu pˇridání alesponˇ nˇekolika tagu, ˚ protože jinak by mohl být velmi tˇežko vyhledatelný. Tagování má proto velký význam napˇríklad pro systém na sdílení obrázku˚ Flickr, kde lze díky nˇemu zobrazit podobné obrázky, nebo rádio Last.fm, které umožnuje ˇ pˇrehrávat hudbu právˇe podle pˇriˇrazených tagu. ˚ Systémy pro sdílení záložek jako je Delicious využívají tagování pro jednoduchý, nicménˇe na uživatelské cˇ innosti založený, popis webových stránek (respektive odkazu˚ na nˇe).
Obrázek 2.2: Oblak tagu. ˚ Na ukázce cˇ ásti oblaku tagu˚ ze stránek LibraryThing mužeme ˚ vidˇet alternativní možnost popisu „fondu“ pomocí jedné z technologií Webu 2.0
2.3.5
Sociální sítˇe
Ze všech služeb tˇežících z efektu˚ popisovaných jako Web 2.0 zažívají v poslední dobˇe nejvˇetší web sociální sítˇe. Jde o využití webu jako platformy pro komunikaci mezi lidmi kteˇrí se znají i v reálném životˇe, nebo mají nˇejaké spoleˇcné zájmy. Ke komunikaci se využívají jak online (kdy jsou obˇe strany souˇcasnˇe pˇripojené k Internetu), tak offline (kdy je pˇripojena jen 12
2.4. TECHNOLOGIE WEBU 2.0 jedna strana) komunikaˇcní kanály. Existuje široké spektrum typu˚ sociálních sítí od profesionálních (napˇr. LinkedIn), po sítˇe urˇcené pˇredevším pro zábavu jako je Facebook. Facebook funguje na podobném principu jako RSS cˇ teˇcky – uživatel si vybírá jaký obsah ho zajímá. Nemusí jít už pouze o pˇrátele, svoji stránku muže ˚ mít tˇreba i libovolná instituce, sportovní tým, nebo tˇreba televizní porˇ ad. Nový obsah ze zvolených zdroju˚ se mu potom prubˇ ˚ ežnˇe zobrazuje na hlavní stránce. Duležitou ˚ výhodou Facebooku je i možnost využívat v jeho prostˇredí ruzné ˚ webové aplikace, cˇ ímž vzniká svým zpusobem ˚ samostatné virtuální prostˇredí, které je ovšem zárovenˇ úzce spjato s reálným životem. 2.3.6
Kooperace uživatelu˚
Existuje i rˇ ada dalších principu, ˚ které se zaˇcaly objevovat až s „Web 2.0 službami“, respektive masovˇejším rozšíˇrením Internetu. Napˇríklad hodnocení umožnuje ˇ lépe rozlišit kvalitu, at’ už jde o zboží v internetovém obchodˇe Amazon.com, nebo uživatele dražící na portálu eBay.com. Data jsou velice duležitá, ˚ ta získaná jako zpˇetná vazba od uživatelu˚ pˇrinášejí hodnotu navíc, kterou není možné získat jinak. Aktivní úˇcast uživatelu˚ ovšem není samozˇrejmostí, což muže ˚ odsoudit projekt k neúspˇechu. Je velice tˇežké vstupovat na obsazený trh a vlastnˇe nutit uživatele aby hodnotili obsah vícekrát v rámci ruzných ˚ problému. ˚ V takovém pˇrípadˇe mají šanci na úspˇech napˇríklad projekty lokalizaˇcní, vzniká ale nový problém s dostateˇcnou velikostí uživatelské základny v daném jazyce12 . Získání kritické masy uživatelu, ˚ tzn. takového množství, kdy systém zaˇcíná získávat novou pˇridanou hodnotu tím že je dostateˇcnˇe využívaný, je možná tím nejduležitˇ ˚ ejším okamžikem. Na dostateˇcnˇe velkou uživatelskou základnu se nabalují další a další uživatelé a pro stávající je obtížnˇejší službu opustit a pˇrejít k jiné, i kdyby jim pˇrinášela vˇetší možnosti. Sebelepší rˇ ešení nebude úspˇešné bez aktivních uživatelu˚ a vyvstává otázka jestli existuje dostateˇcná cílová skupina, pro níž je služba urˇcena.
2.4
Technologie Webu 2.0
2.4.1
Nové technologie?
Web 2.0 bývá oznaˇcován za prázdný termín také proto, že je postaven na aplikacích a stanˇ dardech, které byly k dispozici už v pˇredchozích obdobích vývoje webu. Rada aplikací Webu 2.0 by mohla vystaˇcit s použitím dynamických webových stránek. Ty bývají kódovány v nˇekterém ze starších jazyku˚ jako jsou PHP, ASP, JSP, Perl, Python, nebo Ruby. Tyto jazyky umožnují ˇ vytvoˇrit na serveru stránku na základˇe dotazu klienta (nebo nˇejakých jiných hodnot) a poslat mu ji zpˇet. Komunikace mezi webovým serverem a programem, který ˇ 12. Pˇríkladem projektu, který má silnˇejší obdobu v zahraniˇcí je Cesko-Slovenská filmová databáze ; ta uspˇela i pˇresto, že existuje starší a vˇetší Internet Movie Database , patˇrící firmˇe Amazon.com.
13
2.4. TECHNOLOGIE WEBU 2.0 stránku vytváˇrí probíhá vˇetšinou prostˇrednictvím rozhraní CGI13 webového serveru. Obsah vkládaný do dynamických stránek bývá obvykle uložen v databázích, nikoli v HTML kódu a pˇrístup k nˇemu zajišt’uje právˇe program. S nástupem technik Ajax se zaˇcaly jazyky generující zejména HTML dokumenty na stranˇe serveru používat také k tvorbˇe dalších formátu˚ dat. Takové soubory jsou potom prostˇrednictvím Ajaxové vrstvy nahrány do prohlížeˇce, zpracovány JavaScriptem a vloženy do stránky. Provádˇené operace jsou tedy podobné, ale k urˇcitému posunu došlo: V prvním pˇrípadˇe byla nahrána data z databáze, poté zpracována na stranˇe serveru a odeslána v koneˇcném tvaru, který se zobrazil. Ve druhém jsou data nahrána z databáze, odeslána v požadovaném formátu prohlížeˇci, poté zpracována na stranˇe klienta a zobrazena. Na serveru probíhá témˇerˇ identický proces (tudíž není zásadní duvod ˚ pro tvorbu nových technologií), pouze s tím rozdílem, že množství dat odesílaných Ajaxu bývají menší. Stejným zpusobem ˚ je tedy možné generovat jak celé stránky, tak pouze jejich cˇ ásti. 2.4.2
Ajax
Pravdˇepodobnˇe nejduležitˇ ˚ ejší novou technikou je Ajax (Asynchronous JavaScript + XML), i když i v tomto pˇrípadˇe platí, že technologie existovaly už pˇred vznikem termínu Web 2.0. Název Ajax poprvé použil v roce 2005 Jesse James Garrett [12] – pojmenoval tak zpusob, ˚ jakým používají JavaScript služby jako Google Suggest a Google Maps. Ajax podle nˇej spojuje: •
prezentaci založenou na standardech, používající XHTML a CSS
•
dynamické zobrazování výsledku˚ a interakci používající Document Object Model
•
výmˇenu dat a manipulaci s nimi využívající XML a XSLT
•
asynchronní pˇríjem dat používající XMLHttpRequest
•
JavaScript, který spojí všechny výše uvedené cˇ ásti dohromady
Ajax umožnuje ˇ zmˇenit zpusob, ˚ jakým se webové stránky nahrávají. Pomocí jazyka HTML (HyperText Markup Language), používaný už od poˇcátku˚ webu jsou zobrazovány stránky v celku. Zpusob, ˚ kterým toho dosahuje je založen na jednotlivých stránkách a je velmi jednoduchý. Na druhou stranu ovšem nenabízí takové možnosti, jako desktopové aplikace. Díky technikám Ajax se lze chováním desktopových aplikací pˇriblížit i na webu, pˇriˇcemž jsou zachovány i výhody pˇredchozího pˇrístupu. Ajax umožnuje ˇ na základˇe uživatelova chování mˇenit stránku po cˇ ástech – na základˇe akce uživatele se aplikace dotáže serveru, jeho odpovˇed’ zpracuje a výsledek zobrazí, pˇriˇcemž mˇení pouze malou cˇ ást stránky a nenahrává 13. CGI – Common Gateway Interface je protokol popisující, jakým zpusobem ˚ server spustí externí program a pˇredá mu pˇríslušné argumenty.
14
2.4. TECHNOLOGIE WEBU 2.0 ji znovu celou, jak tomu bylo pˇri použití pˇredchozího pˇrístupu. Zmˇena není úplnˇe revoluˇcní, protože se poˇrád používají podobné postupy, ale výsledný efekt a uživatelský dojem z aplikace je jiný. 2.4.2.1 Aplikace využívající Ajax Google Maps jsou pˇríkladem mapové aplikace, na které je velmi dobˇre vidˇet jak se liší stránky využívající technik Ajax od stránek starších. Na mapách se mužeme ˚ pohybovat, respektive je pˇribližovat a oddalovat, aniž bychom museli cˇ ekat až se nahraje nová stránka. ˇ Cásti mapy a popisky se objevují prubˇ ˚ ežnˇe, podle toho jak se nahrávají. Oproti tomu se nemˇení nejen statická cˇ ást stránky, ale ani ovládací prvky mapy. Pˇri ruzných ˚ úrovních pˇriblížení se zobrazuje ruzná ˚ úrovenˇ detailu, ˚ režim mapy lze pˇrepínat. Taková aplikace se vzhledem témˇerˇ neliší od aplikace desktopové, pˇriˇcemž k jejímu používání staˇcí „obyˇcejný prohlížeˇc“ se schopností pracovat JavaScriptem a dalšími potˇrebnými standardy. Firma Google byla schopna vyvinout celou rˇ adu aplikací založených na technikách Ajax. Snaží se tím zmˇenit pohled na software jako takový, protože oproti starším aplikacím muže ˚ využít webových základu. ˚ Možnostem, jako jsou využití cˇ ásti ohromného množství dat (jako napˇríklad mapy v Google Maps), pˇrístup ke službám aplikace odkudkoli (v zásadˇe všechny takové aplikace), sdílení dat mezi uživateli (Google Docs, Google Calendar), nebo multiplatformnost (více záleží na prohlížeˇci, než na operaˇcním systému) mohou tˇežko desktopové aplikace konkurovat. Na druhou stranu lze pochopit urˇcitou neduvˇ ˚ eru, protože webové aplikace jsou závislé na pˇripojení k serveru a nejsou pod takovou, byt’ nˇekdy pouze zdánlivou, kontrolou uživatele jako aplikace desktopové. 2.4.2.2 Technologie, na nichž je Ajax založen Jak už bylo zmínˇeno, techniky Ajax jsou založeny na technologiích, které už byly známy pˇred tím, než se Tim O’Reilly pokusil popsat fenomén Web 2.0. Jejich vývoj šel vˇetšinou vlastní cestou už po nˇejakou dobu, ale v Ajaxu se skloubily v celek a umožnily tak vznik nových aplikací pˇribližujících se svými možnostmi aplikacím desktopovým. JavaScript je objektovˇe orientovaný skriptovací jazyk, který byl vytvoˇren Brendanem Eichem z firmy Netscape pro webový prohlížeˇc Netscape Navigator. Zdrojový kód se zpracovává na stranˇe klienta, v okamžiku spuštˇení. Zpracování JavaScriptu je tedy závislé na prohlížeˇci, nikoli na platformˇe na níž je provozován. V souˇcasné dobˇe vedou zmˇeny v podobˇe webu k novému souboji prohlížeˇcu˚ v rychlosti interpretování (zpracování) JavaScriptu a byl to i jeden z duvod ˚ u˚ vstupu firmy Google na trh s prohlížeˇci. Svoji, z velké cˇ ásti kompatibilní, obdobu tohoto jazyka (JScript) vytvoˇril následnˇe i Microsoft pro Internet Explorer. Od JavaScriptu byl odvozen standard ECMAScript14 , na nˇemž 14. ISO/IEC 16262
15
2.4. TECHNOLOGIE WEBU 2.0 spolupracovali jak Netscape, tak Microsoft. JavaScript a JScript jsou dialekty ECMAScriptu, tedy jazyky které ze standardu vycházejí a navíc ho obohacují o další vlastnosti. JavaScript už od svých poˇcátku˚ umožnoval ˇ provádˇení dynamických zmˇen na stránce, bylo možné napˇríklad lépe pracovat s aktivitou uživatele (reakce na stisknutí kláves, kontˇ rola vstupu apod.). Na druhou stranu se na nˇej nedá plnˇe spolehnout. Rada uživatelu˚ muže ˚ mít zpracování JavaScriptu vypnuté, používat zastaralé prohlížeˇce, nebo prohlížeˇce, které interpretují kód jiným zpusobem, ˚ než jaký jeho autor oˇcekával. Na zˇretel by se také mˇela brát bezpeˇcnost, protože nikdy není zcela bezpeˇcné stahovat a spouštˇet neznámý kód. Vytváˇrení rozsáhlejších aplikací bylo možné už dˇríve, ale využití tˇechto možností se rozšíˇrilo až s pˇríchodem Ajaxu, a tedy asynchronního zpracování. DOM (Document Object Model) vznikl jako zpusob, ˚ jak pˇristupovat pomocí JavaScriptu k cˇ ástem HTML stránky. U prvních verzí nebylo možné pˇristupovat ke všem elementum ˚ a navíc se lišila implementace v Netscape Navigatoru a Internet Exploreru. Pozdˇeji se pˇrístup sjednotil a vzniklo W3C doporuˇcení15 . Byl vytvoˇren model umožnující ˇ pˇrístup ke všem cˇ ástem XML (ale i HTML) dokumentu. XMLHttpRequest je další z W3C doporuˇcení16 . Definuje rozhraní umožnující ˇ JavaScriptovým aplikacím zadávat dotazy pomocí HTTP. Tímto zpusobem ˚ muže ˚ aplikace posílat dotazy pˇrímo webovému serveru a následnˇe zpracovávat pˇrijaté výsledky. To pˇrináší rˇ adu nových možností, protože data získaná ze serveru mohou ovlivnit vzhled stránky, aniž by se ta musela nahrávat celá znovu. Lze použít asynchronní pˇrenos, tzn. prohlížeˇc neˇceká na data, ale pokraˇcuje ve zpracování. Data se pˇrenášejí prubˇ ˚ ežnˇe na pozadí a zobrazí se jakmile jsou pˇrenesena17 . Data jsou tedy na stránce zobrazována prubˇ ˚ ežnˇe, ne nutnˇe v poˇradí v jakém o nˇe bylo požádáno. XML je množina pravidel popisujících zpusob ˚ elektronického kódování dokumentu. ˚ Je odvozen od komplexního ISO standardu SGML (Standard Generalized Markup Language). XML klade na dokument striktnˇejší omezení18 a tudíž je možné jej zpracovávat jednodušeji. XML je specifikován doporuˇcením W3C19 . O cílech designu XML se v nˇem uvádí mimo jiné: •
XML by mˇelo být snadno použitelné na Internetu
•
XML by mˇelo podporovat rozmanité aplikace
•
mˇelo by být snadné psát programy, které zpracovávají XML
15. 16. 17. Pˇri synchronním pˇrenosu je tomu naopak: vyšle se požadavek, potom se cˇ eká na odpovˇed’ – v této chvíli není klient aktivní – a jakmile se odpovˇed’ obdrží, pokraˇcuje se ve zpracování. 18. 19.
16
2.4. TECHNOLOGIE WEBU 2.0
Obrázek 2.3: Zpracování dotazu. Horní cˇ ást obrázku znázornuje ˇ synchronní (po každém požadavku se cˇ eká se na odpovˇed’ serveru) a dolní asynchronní (na odpovˇed’ serveru se neˇceká, zpracuje se až když pˇrijde) zpracování. Obrázek je pˇrevzat z [12]. •
XML by mˇelo být cˇ itelné a pˇrimˇerˇ enˇe srozumitelné pro lidi
•
XML dokumenty by mˇelo být snadné vytváˇret
Výhodou XML je i možnost specifikovat vlastní jazyky – tˇech v souˇcasné dobˇe existují už stovky 20 . Formátování informací pomocí nˇekterého z jazyku˚ odvozených od XML umožnuje ˇ relativnˇe 21 snadnou výmˇenu informací mezi systémy. Komplexnˇejší popis jazyka XML, jeho syntaxe a možnosti použití pˇresahuje rámec této práce. 20. Seznam (byt’ jistˇe neúplný) je k dispozici na <xml.coverpages.org/xmlApplications.html>. 21. Pˇri pˇrenosu jednoduchých informací muže ˚ režie spojená s pˇrenosem dat ve formátu XML výraznˇe pˇresahovat délku jich samých.
17
2.4. TECHNOLOGIE WEBU 2.0 XHTML (Extensible Hypertext Markup Language) je pˇrevedením HTML do syntaxe XML. Oproti jiným verzím HTML se liší zejména pˇrísnˇejšími požadavky na formální stránku dokumentu. Napˇríklad HTML verze 4.01 se od XHTML verze 1.0 liší pouze minimálnˇe. Vytvoˇrení validního22 dokumentu v XHTML je nároˇcnˇejší, ovšem výsledný dokument pak umožnuje ˇ lepší provázání na další standardy (XSLT, DOM) a je i vˇetší pravdˇepodobnost, že bude stejnˇe zobrazen v ruzných ˚ webových prohlížeˇcích. CSS (Cascading Style Sheets) je W3C doporuˇcení23 , jazyk urˇcený pro popis zpusobu ˚ zobrazení stránek napsaných v jazycích HTML, cˇ i XML. CSS byl vytvoˇren, aby bylo možné oddˇelit prezentaˇcní cˇ ást kódu stránky od jeho obsahu. XSL je skupina W3C doporuˇcení24 popisující stylový jazyk pro XML. Obsahuje 3 cˇ ásti XSTL, XSL-FO a XPath: XSLT (XSL Transformation) popisuje jazyk pro transformace mezi ruznými ˚ druhy XML dokumentu˚ – je proto duležitým ˚ prostˇredkem pro práci s daty ve formátu XML. Umožnuje ˇ také transformaci XML dokumentu˚ do HTML, takže mohou být zobrazeny jako webová stránka. XSLT procesor 25 je souˇcástí vˇetšiny webových prohlížeˇcu˚ (Internet Explorer, Mozilla Firefox, Opera, Safari, Google Chrome a další). XSL-FO (XSL Formatting Object) je jazyk popisující vizuální formátování dokumentu, ˚ vˇetšinou se používá pˇrí generování PDF souboru. ˚ XPath je dotazovací jazyk umožnující ˇ práci s cˇ ástmi XML dokumentu. XPath sám není XML jazykem. Využívá se (nejen) pˇri pˇrevodu XML dokumentu˚ pomocí XSLT. 2.4.3
Webová rozhraní – API
Webové stránky obsahují informace ve formˇe urˇcené pro cˇ tení lidskými uživateli. Ani když ze stránky odstraníme grafické formátování, nezískáme informace ve formˇe zpracovatelné strojovˇe. Jedinou, relativnˇe alesponˇ trošku pˇrijatelnou, možností je zpracování informací na stránce pokud známe jejich pevnou šablonu. Pokud napˇríklad u stránek elektronického obchodu víme na kterém místˇe kódu je zapsána cena prodávaného výrobku, mužeme ˚ ji ze stránek mechanickou cestou získat. Narazíme ale na problémy – musíme znát pˇresnˇe strukˇ turu stránky, ta se nesmí zmˇenit, nemuže ˚ se pˇresunout jinam. Rešení je nepˇrenositelné, pro ruzné ˚ elektronické obchody bychom museli znovu zkoumat jejich stránky. Každou stránku bychom museli stáhnout a zpracovat celou, i když by údaj který nás zajímá mˇel jenom nˇekolik bajtu. ˚ Zpracování dat z HTML stránek není nemožné, nebo nepoužívané (koneckoncu˚ tímto zpusobem ˚ fungují indexující roboti), nicménˇe pokud provozovatel pˇredpokládá zájem o strojovˇe zpracovatelná data, muže ˚ nabídnout lepší rˇ ešení. Je možné napˇríklad data popsat 22. 23. 24. 25.
Validní znamená odpovídající standardu. Program umožnující ˇ provádˇení XSLT transformací.
18
2.4. TECHNOLOGIE WEBU 2.0 pomocí nˇejakého dalšího jasnˇe definovaného jazyka, tzn. pˇridat k nim metadata (data o datech). To by objasnilo sémantický význam jednotlivých cˇ ástí stránek, tedy umožnilo data lépe strojovˇe zpracovávat, nicménˇe stránky by se poˇrád pˇrenášely jako celek a tudíž bychom se „zajímavým“ údajem dostali i mnoho zbyteˇcného. Pˇrístupy jako je Ajax by tedy vyžadovaly nikoli HTML stránky ve formˇe cˇ itelné pro lidi26 , ale spíše jasnˇe strukturovaná cˇ istá data. S vˇetším rozšíˇrením webových aplikací tedy vznikla poptávka po rozhraních pro pˇrístup k datum. ˚ API, Application Programming Interface, je rozhraní pro interakci mezi programy. Urcˇ uje, jakým zpusobem ˚ muže ˚ být program volán ostatními programy. API mají napˇríklad operaˇcní systémy, aplikace cˇ i knihovny programu, ˚ nicménˇe v této práci budou popisována pouze rozhraní webová. Pro rozhraní webových aplikací hrají velice duležitou ˚ roli standardy. Pokud by se nedodržovaly, respektive vznikaly by jako v dˇrívˇejších dobách pˇredevším firemní mutace, bylo by nesmírnˇe obtížné a tudíž drahé vytváˇret aplikace, které by byly schopny pracovat s webovými rozhraními. Dodržování standardu˚ umožnuje ˇ snadnˇeji využít jeden kód pro více aplikací a také spolehlivé zobrazení v ruzných ˚ prohlížeˇcích. V souˇcasnosti pˇrevažují 2 pˇrístupy pro tvorbu rozhraní webových služeb: protokol SOAP a styl softwarové architektury REST. 2.4.3.1 SOAP SOAP (Simple Object Access Protocol) je protokol urˇcený pro výmˇenu strukturovaných informací, popsaný v doporuˇcení W3C27 . Patˇrí do aplikaˇcní vrstvy rodiny protokolu˚ TCP/IP a obvykle využívá dalších protokolu˚ z této vrstvy (HTTP a RPC). Zprávy protokolu SOAP jsou naformátovány pomocí XML. Je pˇresnˇe specifikováno jakou formu má mít dotaz klienta i odpovˇed’ serveru. Jde o takzvanou SOAP envelope (SOAP obálku). Obálka obsahuje nepovinnou hlaviˇcku (header) a tˇelo zprávy (body). V hlaviˇcce jsou zapsány informace o SOAP zprávˇe – ty se liší v závislosti na použité aplikaci. V tˇele je potom obsažena samotná zpráva. Elementy v tˇele mohou patˇrit do nˇejakého jiného jmenného prostoru, pro vlastní syntaxi zprávy je tudíž možné použít ruzná ˚ schémata. Obecné schéma SOAP obálky: <soap:Envelope> <soap:Header> ... <soap:Body> ... <soap:Fault> ... 26. I když i s nimi by si zˇrejmˇe byly schopné v konkrétních pˇrípadech lépe cˇ i ménˇe poradit. 27.
19
2.4. TECHNOLOGIE WEBU 2.0
Konkrétní pˇríklad SOAP obálky – odpovˇedi na dotaz: <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body> <m:GetPriceResponse xmlns:m="http://www.w3schools.com/prices"> <m:Price>1.90
Jak je vidˇet, pˇri práci s protokolem SOAP je nutné pracovat s relativnˇe složitým XML a dodržovat pˇredem stanovený základní formát zpráv a to jak pˇri odesílání dotazu, tak zpracovávání odpovˇedi. I v pˇrípadˇe, že chceme získat pouze jednoduchý údaj, musíme odeslat a pˇrijmout pomˇernˇe velké množství dat. V pˇrípadˇe komplexnˇejších údaju˚ nároˇcnost zpracování i množství pˇrenášených dat dále narustá. ˚ 2.4.3.2 REST REST (Representational State Transfer) je styl softwarové architektury (nikoli protokol jako SOAP). V roce 2000 ho popsal ve své disertaˇcní práci Roy Fielding, který se dˇríve podílel na tvorbˇe specifikace protokolu HTTP. S tímto protokolem REST blízce souvisí. K identifikování akce, kterou má provést používá stavy HTTP protokolu (GET, POST, PUT, DELETE). Aplikace a protokoly využívající této techniky se oznaˇcují RESTful – jejich pˇríkladem muže ˚ být napˇríklad publikaˇcní standard Atom, který plnˇe využívá právˇe zminovaných ˇ 4 metod protokolu HTTP. REST pohlíží na každou URL jako na zdroj (resource). API nám na základˇe dotazu vrátí nˇejakou reprezentaci (representation) tohoto zdroje. Reprezentace muže ˚ být v libovolném 28 MIME typu formátu – není tedy omezena na XML, jako je tomu u protokolu SOAP. Komunikace je bezstavová, odpovˇed’ tedy záleží cˇ istˇe na právˇe zadaném dotazu, a je zcela nezávislá na libovolném pˇredchozím. Pˇríklad dotazu a odpovˇedi(HTTP)29 : REQUEST: GET /hotel/656bcee2-28d2-404b-891b/classification HTTP/1.1 28. MIME – puvodnˇ ˚ e Multipurpose Internet Mail Extension, popisuje typ a subtyp obsahu. Puvodnˇ ˚ e byly tyto typy navrženy pro poštovní protokol SMTP, nicménˇe pozdˇeji se zaˇcaly používat i v dalších protokolech. 29.
20
2.4. TECHNOLOGIE WEBU 2.0 Host: localhost User-Agent: xLightweb/2.6 Accept: application/x-www-form-urlencoded RESPONSE: HTTP/1.1 200 OK Server: xLightweb/2.6 Content-Length: 26 Content-Type: application/x-www-form-urlencoded; charset=utf-8 classification=Comfort
To odpovídá situaci, kdy bychom do prohlížeˇce zadali URL http://localhost/hotel/656bcee2-28d2-404b-891b/classification
a poté se nám zobrazil text classification=Comfort
Oproti protokolu SOAP je zˇrejmý rozdíl v množství pˇrenášených dat jak od klienta k serveru, tak v opaˇcném smˇeru. Výhodou je také použití ruzných ˚ reprezentací zdroje (XML, JSON, plaintext apod.) 2.4.3.3 Srovnání SOAP a REST M. Elkstein popsal na svém blogu30 rozdíl mezi SOAP a REST pomocí analogie s dopisem (SOAP) a pohlednicí (REST): V SOAP-dopisu je obsah zabalený do obálky, s RESTpohlednicí se snadnˇeji manipuluje (z pohledu pˇríjemce), spotˇrebuje ménˇe papíru (tzn. menší pˇrenos) a má kratší obsah31 . ˇ Rada poskytovatelu˚ API poslední dobou pˇriklání spíše k architektuˇre REST. Google ukonˇcil podporu svého SOAP API na konci srpna 2009 [13]; dále preferuje pˇredevším své Ajax API32 a pro prostˇredí bez JavaScriptu nabízí i REST API. REST API používají Yahoo, Flickr, Delicious, Facebook, Twitter. Amazon a EBay používají jak SOAP, tak REST. Na stránce Programmable Web33 je k dnešnímu dni (18.11.2009) zaregistrováno 1060 REST API a 309 SOAP API. 2.4.3.4 Zásady používání API Pokud chce nˇejaký vývojáˇr použít API nˇekteré ze služeb k propojení se svou aplikací, je typicky nutná registrace. Po registraci získá svuj ˚ vlastní klíˇc (API key). To umožnuje ˇ identifikovat ’zákazníka’ na stranˇe poskytující organizace a ta tudíž muže ˚ kontrolovat dodržování podmínek licenˇcního ujednání, potvrzovaného pˇri registraci. Firmy nemají zájem na 30. 31. I s využitím REST lze v principu pˇrenášet velké množství dat. 32. Google Ajax API je možné použít vložením cˇ ásti JavaScriptového kódu poskytovaného Googlem do stránky; jde o velice jednoduchý zpusob, ˚ pˇri kterém uživatel nemusí psát žádný svuj ˚ vlastní kód. 33.
21
2.4. TECHNOLOGIE WEBU 2.0 tom aby nˇekdo zneužíval jejich data a vydával je za svá. V licenˇcních podmínkách se cˇ asto uvádí povinnost odkazovat zpˇet na službu ze které jsou získávána, nebo zobrazovat data ve formátu stanoveném poskytovatelem (napˇríklad Google AJAX API, ale i další služby). Nˇekdy se pˇridává omezení na poˇcet dotazu˚ za den (napˇr. 1000 dotazu˚ za den u LibraryThing API), za využívání nˇekterých API je nutné platit (Amazon). Stanovení takových podmínek umožnuje ˇ poskytovatelum ˚ mít lepší kontrolu nad zátˇeží serveru˚ a jejich daty. 2.4.4
Shrnutí – Ajax a rozhraní
Jeden z duležitých ˚ prvku˚ Webu 2.0 je práce s daty a jejich výmˇena. Tu umožnují ˇ rozhraní zvaná API. Nejˇcastˇeji se používají protokol SOAP a technika REST. Data se nahrávají po malých cˇ ástech, nikoli po celých stránkách a následnˇe se zpracovávají pomocí JavaScriptu na stranˇe klienta. O data jako taková se tak mohou starat specializovaní poskytovatelé, ale výhody získají i koncoví klienti. Otázkou je obchodní model – pokud poskytovatel nemá jiný zpusob ˚ jak hradit náklady na službu a poskytování dat pro nˇej není urˇcitou formou reklamní akce, je možné a logické, že si za ni nechá zaplatit.
22
Kapitola 3
Library 2.0 3.1
Proˇc vznikl pojem Library 2.0
Termín Library 2.0 je reakcí knihovnického svˇeta na podobné „2.0“ termíny – Web 2.0 a Bussines 2.0. Web zmˇenil zpusob ˚ jakým lidé získávají a pracují s informacemi. Informace se staly snadno vyhledatelné, dostupné, získatelné. Rozvoj webu, oznaˇcovaný jako Web 2.0 tyto zmˇeny dále umocnuje, ˇ cˇ ímž vzniká pro svˇet informaˇcních pracovníku˚ nová situace, na kterou musí reagovat – dlouho budované postavení knihoven v odvˇetví poskytování informací je ohroženo novou konkurencí firem jako je Google s novými pˇrístupy a novými obchodními modely. Uživatelé mˇení své chování a svá oˇcekávání. Knihovny nemohou v takovém svˇetˇe spoléhat pouze na staré a osvˇedˇcené metody a postupy, ale musí se zárovenˇ zaˇcít orientovat ve svˇetˇe novém a dosud nepoznaném. To pro tyto instituce znamená velikou výzvu. Nelze rˇ íci, že by ztratily svuj ˚ puvodní ˚ význam, nicménˇe se musí pˇrizpusobit ˚ novým podmínkám, jinak mohou ztratit velkou cˇ ást svých uživatelu˚ a tím i spoleˇcenský význam.
3.2
Definice Library 2.0
3.2.1
Casey & Savastinuk
Termín Library 2.0 propaguje od roku 2005 Michael Casey na svém webu LibraryCrunch a bývá proto oznaˇcován ze jednoho ze jeho tvurc ˚ u. ˚ Jde o snahu aplikovat principy Webu 2.0 na blízké prostˇredí knihoven. Michael Casey spoleˇcnˇe s Laurou Savastinuk definovali termín Library 2.0 následovnˇe [14]: „Je to model knihovních služeb, který podporuje permanentní a smysluplnou zmˇenu, nabízí uživatelum ˚ možnost podílet se na vytváˇrení jak fyzických, tak virtuálních služeb jaké si pˇrejí, podporovaný neustálým vyhodnocováním fungování tˇechto služeb. Také se snaží získat nové uživatele a souˇcasným nabízet to co si pˇrejí. Každá souˇcást je sama o sobˇe krokem k lepším službám pro naše uživatele; nicménˇe pouze skrze kombinovanou implementaci všech tˇechto prvku˚ mužeme ˚ dosáhnout Library 2.0.“ Tato definice je pomˇernˇe obecná a mohla by se obejít i bez technologií Webu 2.0, nicménˇe je zˇrejmé, že právˇe ty by mˇely usnadnit komunikaci mezi knihovnou a uživateli. 23
3.2. DEFINICE LIBRARY 2.0 3.2.2
Chad & Miller
Techniˇctˇejší a technologiím bližší definici pojmu Library 2.0 nabídli ve svém cˇ lánku „Do Libraries Matter? The Rise of Library 2.0“ [15], jehož název celkem pˇeknˇe vystihuje obavy i nadˇeje svˇeta knihoven, Ken Chad a Paul Miller z britské firmy Talis1 . Chad a Miller upozornují ˇ na zmˇeny, které vedou k nutnosti vytvoˇrit Library 2.0. Internet podle nich nabízí kvalitní služby, které jsou snadno použitelné, spoleˇcnˇe s efektivními zpusoby ˚ jak najít požadovanou informaci. Knihovny oproti nˇemu nabízejí unikátní hodnoty, protože seznam odkazu˚ není to samé jako souhrn vˇedˇení, který poskytuje knihovna. Nicménˇe Internet zásadním zpusobem ˚ zmˇenil oˇcekávání uživatelu: ˚ •
Internet je tu poˇrád, nikdy nezavírá
•
Internet není omezen fyzickým prostorem
•
uživatelé oˇcekávají pˇrístup k informacím, jsou pˇrekvapeni spíš pokud ho nedostanou
•
vˇetšina informací je dostupná zadarmo
Technologie Webu 2.0 získávají na významu a uživatelé si na nˇe zvykají. Trend smˇerˇ uje k aplikacím, které jsou flexibilní, modulární, komponenty jsou spojené prostˇrednictvím API, jednotlivé souˇcásti mohou být použity ruznými ˚ zpusoby. ˚ Knihovny musí podle Chada a Millera na tyto zmˇeny reagovat: „Jednoduše rˇ eˇceno, knihovny musí zaˇcít používat tyto aplikace Webu 2.0 pokud chtˇejí dokázat, že jsou stejnˇe schopné jako ostatní poskytovatelé informací a zaˇcít nabízet služby na úrovni, která uspokojí požadavky moderního uživatele.“ Library 2.0 je z tohoto pohledu definována cˇ tyˇrmi body: 1. knihovna je všudypˇrítomná 2. knihovna je bez bariér 3. knihovny nabízí spoluúˇcast 4. knihovna používá flexibilní, nejlepší dostupné systémy Tyto body rozebereme podrobnˇeji: 1. Talis je firma vyvíjející rˇ ešení v oblasti vzdˇelání, sémantického webu a knihoven. Za zmínku stojí také jejich podpora podcastum ˚ – zejména z hlediska tématu této práce zajímavému podcastu The Library 2.0 Gang .
24
3.2. DEFINICE LIBRARY 2.0 1. Knihovna je všudypˇrítomná Knihovna je tam, kde ji muže ˚ uživatel potˇrebovat, viditelná na ruzných ˚ typech zarˇ ízení a integrovaná se službami za hranicemi knihovny jako jsou portály, prostˇredí pro e-learning, nebo aplikace pro elektronický obchod. Online stránky knihovny se nesnaží reprodukovat kompletní knihovnu se všemi „klasickými“ službami, ale nabízí relevantní služby právˇe tam, kde by to uživatel mohl potˇrebovat (a to bez nutnosti navštívit stránky knihovny). 2. Knihovna bez bariér Aby mohly být informace poskytované knihovnou tam, kde jsou potˇreba, je tˇreba minimalizovat bariéry pro jejich použití a znovupoužití (napˇríklad Web 2.0 mashupy). To naopak musí být ze strany knihovny podporováno – data by mˇela být vystavena ve vhodném formátu. 3. Knihovna nabízí spoluúˇcast Mˇelo by se využívat principu˚ tzv. read/write webu (tzn. umožnit nejen cˇ tení, ale i zápis). Možností by mohla být spoleˇcná katalogizace dokumentu, ˚ obohacování záznamu, ˚ komentáˇre, obálky, videa, využití záznamu˚ od vydavatelu˚ apod. Spolupracovat lze jak s uživateli, tak s partnerskými institucemi. 4. Knihovna používá flexibilní, nejlepší dostupné systémy Library 2.0 vyžaduje novou formu vztahu mezi knihovnami a technologickými partnery. Vztah, ve kterém strany spolupracují ve snaze posunout limity toho co je možné, zatímco zajišt’ují nepˇretržité a spolehlivé základní služby. Tato zmˇena by mˇela probíhat prubˇ ˚ ežnˇe a ne na základˇe jednorázových aktualizací. Knihovní systém (ILS – Integrated Library System) by mˇel být vytváˇren spíše z jednotlivých komponent, které je možné vymˇenovat, ˇ nikoliv jedním monolitickým blokem, ale nejlepšími komponentami, které jsou právˇe k dispozici. Svou ideu Library 2.0 pak Chad a Miller shrnují následovnˇe: „Library 2.0 zapojuje knihovny zpátky do svˇeta informaˇcního oboru; nabízí aktuální a spolehlivý obsah a služby právˇe tam, kde je potˇreba at’ už je to kdekoli, kdykoli cˇ í jakkoli. To je podporováno kvalifikovanou, oddanou a cennou pracovní silou, která je schopná pomoci uživatelum ˚ starého i nového a odhalit jejich plný potenciál.“ 3.2.3
Walter Crawford – Library 2.0 a „Library 2.0“
Informaˇcní pracovníci se chytili nového termínu s vervou – v relativnˇe krátkém cˇ asovém období se objevilo velké množství definic i náhledu˚ na problematiku Library 2.0. Walt Crawford jim vˇenoval celé jedno cˇ íslo svého cˇ asopisu Cites & Insights. Sesbíral celkem 62 pohledu˚ 25
3.3. PROBLÉMY KONCEPTU LIBRARY 2.0 a 7 definic Library 2.0 s cílem zorientovat jak sebe, tak své cˇ tenáˇre v této problematice a syntetizovat jednotnou definici [16]. Identifikoval ovšem dva základní koncepty, které oznaˇcuje Library 2.0 a módní trend „Library 2.0“ 2 . Library 2.0 ocenuje ˇ konstruktivní pˇrístup, snahu zlepšit služby, sledovat aktuální vývoj a navázat na tradiˇcní silné stránky knihoven. Naproti tomu u „Library 2.0“ našel snahu o revoluˇcní zmˇeny, odsuzování dosavadního pˇrístupu a nutnost soustˇredit budoucí vývoj knihoven do svˇeta moderních technologií. Crawforduv ˚ náhled na problematiku odhaluje možné rozpory mezi zastánci obou typu˚ Library 2.0. Podobnˇe jako u Webu 2.0 jde o spor, jestli by budování nových služeb a systému˚ mˇelo být spíše formou revoluˇcní (kterou zastává skupina Crawfordem nazývaná „Library 2.0“), nebo evoluˇcní. Web 2.0 šel spíše cestou evoluˇcní – koneckoncu˚ první cˇ lánek Tima O’Reillyho se snažil pˇredevším popsat jevy, které v té dobˇe už nastávaly a teprve potom šlo o snahu odhadnout kam bude vývoj smˇerˇ ovat dál. Koncept Library 2.0 byl spíše odvozen z konceptu Webu 2.0, než že by byl vypozorován podobným zpusobem. ˚ Library 2.0 nicménˇe pˇrináší i pozitivní zmˇeny. Motivace pro vznik tohoto termínu je nezpochybnitelná podobnˇe jako jevy, které stojí za vznikem termínu Web 2.0. Aktivní pˇrístup knihoven jim muže ˚ pˇrinést lepší postavení ve svˇetˇe poskytování informací. Ve svˇetˇe ve kterém jde pˇredevším o znalosti mají i díky historickým tradicím knihovny co nabídnout. V tuto chvíli muže ˚ být trošku nejasné jakým smˇerem by se mˇely vydat, nicménˇe i slepé uliˇcky mají svuj ˚ význam – jediné co se urˇcitˇe nevyplatí je neˇcinnost.
3.3
Problémy konceptu Library 2.0
Širší prosazování konceptu Library 2.0 naráží na nˇekteré problémy. Jedním ze nejduležitˇ ˚ ejších úkolu˚ je rozeznání duležitých ˚ služeb, které budou dostateˇcnˇe využívány od takových, které dostateˇcnˇe využívány nebudou a zdroje investované na jejich tvorbu a udržování tudíž pˇrijdou nazmar. Nestaˇcí se vézt na vlnˇe „nadšení z Webu 2.0“. Aplikace, které najdou velmi dobré uplatnˇení ve svˇetˇe webu jako takového, nemusí nutnˇe uspˇet ve svˇetˇe webu˚ knihovních. Knihovní aplikace by se podle mého názoru nemˇely pokoušet konkurovat zavedeným Web 2.0 službám, respektive kopírovat jejich funkce do knihovního prostˇredí. Jak poznamenává Walt Crawford [16] – ani pravidelný návštˇevník knihovny nezaˇcne pravdˇepodobnˇe používat knihovních služeb každý den, protože k tomu nemá duvod. ˚ A naopak, to že tomu tak není neznamená, že knihovna plní svou funkci špatnˇe. Proto je otázkou jestli mají smysl napˇríklad sociální sítˇe budované knihovnami, když existuje celá rˇ ada sociálních sítí takto konkrétnˇe nezamˇerˇ ených. Podobnˇe se mužeme ˚ dívat na nasazování lokálních instalací aplikací Webu 2.0 knihovnami, nebo na vytváˇrení vlastních mutací již existujících služeb. Pˇríkladem by mohly být již zminované ˇ vlastní sociální sítˇe, lokální hodnocení v katalozích, komentáˇre a podobnˇe. Snahy knihoven o zavedení svých vlastních systému cˇ asto naráží na problém kritické masy – množství uživatelu, ˚ nutné k tomu, aby se vytvoˇril dostateˇcný sít’ový efekt a služba zaˇcala 2.
V originálu ’bandwagon called „Library 2.0“’.
26
3.4. WEB 2.0 V KNIHOVNÁCH být dostateˇcnˇe užiteˇcná. Typickým pˇríkladem je hodnocení knih v katalozích. Vˇetšinou existuje obrovské množství záznamu, ˚ takže pˇri spuštˇení služby je velice nepravdˇepodobné, že nám systém poskytne hodnocení od ostatních uživatelu. ˚ Proto neoˇcekávám, že hodnocení dostanu ale ani nemám tendenci nˇejaké zadávat sám – služba se proto obtížnˇe rozbíhá. Systémy Webu 2.0 spoléhají na obrovské množství uživatelu, ˚ z nichž je alesponˇ cˇ ást je ochotná dodávat data službám v jejich zaˇcátcích. Pro jednotlivé knihovny je snaha o získání velkého množství takových uživatelu˚ podle mého názoru pˇredem ztracena. Knihovna je omezena poˇctem svých cˇ tenáˇru, ˚ popˇrípadˇe regionálními a jazykovými omezeními. Je velmi nepravdˇepodobné, že se podaˇrí nˇejaké jednotlivé knihovnˇe získat takové množství uživatelu, ˚ aby mohla z podobných služeb tˇežit. Nešt’astné potom je, pokud knihovna investuje do takovýchto „Library 2.0“ technologií a je následnˇe pˇrekvapena jejich následným neúspˇechem. To muže ˚ vést k odsouzení celého konceptu jako pouhého módního výstˇrelku, což je ovšem podle mého názoru chyba. Možnost selhání projektu se zvyšuje, pokud se služba knihovny snaží konkurovat již existujícím a úspˇešnˇe fungujícím projektum ˚ (v poslední dobˇe by mohlo jít tˇreba o snahu konkurovat sociálním sítím jako je Facebook).
3.4
Web 2.0 v knihovnách
Koncept Library 2.0 pˇresahuje Web 2.0, protože se dotýká nejen chování knihoven v prostˇredí Internetu, ale i v prostˇredí reálného svˇeta. O Library 2.0 už vzniklo nˇekolik bakaláˇrských a diplomových prací i v cˇ eském jazyce. Propagují se blogy, RSS kanály, sociální sítˇe, aktivní úˇcast uživatelu. ˚ Knihovny se otevírají svým cˇ tenáˇrum, ˚ vˇenují se více propagaci prostˇrednictvím Internetu – v poslední dobˇe našly užiteˇcné nástroje v sociálních sítích Facebook a Twitter. Problému adoptování Web 2.0 systému˚ v akademických knihovnách státu New York se ve své studii [17] vˇenovali Chen a kol. Ze sledovaných 81 akademických knihoven využívalo nˇejaké služby Webu 2.0 42% (tzn. 34 knihoven). Nejˇcastˇeji používanou službou byl Instant Messaging (IM)3 , následovaný blogy a RSS kanály. IM se používá pˇredevším jako alternativa k telefonu cˇ i emailu, jde tedy o další kanál. Jeho nasazení není složité a nejsou nutné ani organizaˇcní zmˇeny v instituci. Blogy našly využití pˇredevším jako zpusob ˚ zveˇrejnování ˇ novinek. Takové blogy byly úspˇešnˇejší než ty, které byly umístˇeny na webové stránce samostatnˇe. RSS sloužilo k poskytování aktuálních zpráv uživatelum ˚ knihovny a bylo obvykle napojeno na blogy. Nˇekolik knihoven využívalo i tagování, Wiki, sociální sítˇe a podcasty. Autoˇri studie konstatovali, že cˇ astˇeji než uživatelé používali Web 2.0 aplikace (napˇríklad sociální sítˇe) spíše knihovníci, oˇcekávají však v tomto ohledu zmˇenu a postupné pˇribývání uživatelu. ˚ Pˇrestože vliv fenoménu Web 2.0 na web je nepopiratelný, nejde pro knihovny o samospa3. Komunikace v reálném cˇ ase, pˇrenášená prostˇrednictvím Internetu; dˇríve komunikace probíhala textovou formou, v poslední dobˇe se prosazuje i pˇrenos audia.
27
3.4. WEB 2.0 V KNIHOVNÁCH sitelnou myšlenku. Pro knihovny není možné efektivnˇe využít všechny principy a výhody, které s sebou Web 2.0 pˇrináší. Je možné vytvoˇrit rˇ adu knihovních projektu˚ splnujících ˇ požadavky na „Web 2.0 systém“, ovšem technologie sama o sobˇe nedodá dostatek aktivních uživatelu. ˚ Je otázka, která knihovna sama o sobˇe by takovou základnu mohla najít. Pokud nejsou uživatelé, nejsou data; pokud nejsou data, nevzniknou sít’ové efekty pro Web 2.0 tak typické – a služba není úspˇešná. Lepším rˇ ešením, než vytváˇret vlastní Web 2.0/Library 2.0 se zdá být zapojení knihovny do „velkých“ projektu˚ a jejich efektivní využívání. Pokud je knihovna aktivní a vytváˇrí nebo sbírá nˇejaká data, muže ˚ najít a úspˇešnˇe využívat službu pro daný typ dat vytvoˇrenou. Novinky mohou být zveˇrejnovány ˇ na Facebookovém profilu knihovny, nebo na Twitteru, fotografie z akcí na Flickru, prezentace na Slideshare.net apod. Výsledkem je postup kdy uživatel hledá obsah (svým oblíbeným postupem na své oblíbené službˇe) a zárovenˇ s ním najde knihovnu, pˇrestože to puvodnˇ ˚ e vubec ˚ nepˇredpokládal. Otázkou zustává ˚ do jaké míry je knihovna schopná publikovat data, která jako instituce nabízí ve vhodné a snadno použitelné formˇe. 3.4.1
OPAC
Vˇetšina knihoven má ale pˇrece jen k dispozici unikátní prostor pro uplatnˇení technologií Webu 2.0. Tímto prostorem je online katalog, oznaˇcovaný anglickou zkratkou OPAC (Online Public Access Catalog). Katalogy jsou urˇceny k usnadnˇení nalezení dokumentu z fondu knihovny. Aby bylo možno dokument zaˇradit do fondu, je nutné vytvoˇrit o nˇem metadata, vzniká tedy katalogizaˇcní záznam obsahující základní informace o dokumentu jak po stránce vˇecné, tak obsahové. Každá knihovna vytváˇrí (nebo jiným zpusobem ˚ získává) velké množství takovýchto metadat, která potom dále využívá. Knihovní katalogy byly obvykle souˇcástí vˇetšího poˇcítaˇcového systému oznaˇcovaného zkratkou ILS (Integrated Library System). Tyto systémy se používaly již v 70tých a 80tých letech, tedy v dobˇe pˇred rozmachem Internetu. Mají sice velkou tradici, na druhou stranu jsou omezeny velkou setrvaˇcností a tˇežkopádným vývojem. Pokud je OPAC integrální soucˇ ástí ILS, trpí tím schopnost výrobce systému reagovat na aktuální zmˇeny, což je v dobˇe kdy se web pomˇernˇe rychle mˇení nepˇríjemné jak pro knihovny, tak pro jejich uživatele. ˇ OPACy, které v Ceské republice používáme v souˇcasné dobˇe bohužel zaostávají za moderním webem. Nová generace uživatelu, ˚ zvyklá na zpusob ˚ jakým funguje vyhledávání na Internetu se tˇežko smiˇruje s tˇežkopádným prezentováním informací v již rˇ adu let stejnˇe pracujících systémech. Hledání jim právem pˇripadá neintuitivní, komplikované a nepˇrehledné. Producenti ILS sice opouštˇejí model, kdy je OPAC souˇcástí hlavního systému a jeho vývoj osamostatnili, nicménˇe tak vytvoˇrili nový produkt za který si nechají znovu zaplatit. Jako pˇríklady takových systému lze uvést Primo4 od firmy ExLibris a AquaBrowser5 od firmy Bowker. Zahrnují už více zdroju˚ než jenom katalog knihovny, obsahují napˇríklad i elektronické zdroje. Využívají novou filozofii vyhledávání – uživatel hledá nˇejaký termín a systém 4. 5.
28
3.4. WEB 2.0 V KNIHOVNÁCH
ˇ Obrázek 3.1: OPAC systému Aleph. Aleph používá napˇríklad Národní knihovna Ceské republiky. Na obrázku jsou výsledky vyhledávání v OPACu. mu posléze nabídne nejen záznamy odpovídající dotazu, ale i jeho další zpˇresnˇení. Problém ceny OPACu je ovšem celosvˇetový – vzniklo nˇekolik iniciativ vyvíjející vlastní systémy (jak ILS, tak OPAC), které jsou poskytovány zdarma. Knihovny, respektive univerzity s dostateˇcnou programátorskou kapacitou jsou schopny vyvinout katalog i vlastními silami. K obecnˇe úspˇešnˇejším se rˇ adí napˇríklad VuFind z University of Villanova6 . Nasazení Open Source systému˚ muže ˚ být sice levnˇejší z hlediska poˇrizovací ceny, na druhou stranu je ale tˇežší získat pro takový systém technickou podporu a v neposlední rˇ adˇe lze tˇežko posoudit, jestli takový projekt náhle neskonˇcí. Tˇežko si lze nasazení a provoz Open Source systému pˇredstavit bez zajištˇení dostateˇcných lidských zdroju˚ pro jeho konfiguraci a správu. ˇ Tˇretí, ve velkých knihovnách v Ceské republice nyní nejˇcastˇeji používanou, variantou je postupná snaha o obohacování záznamu˚ ve stávajícím katalogu o nové prvky jako jsou obálky, obsahy, hodnocení, komentáˇre apod. Naše velké knihovny, vˇcetnˇe Národní knihovny, používají ILS systém Aleph, jehož souˇcástí je i OPAC. Tento OPAC je typickým pˇríkladem katalogu, který pusobí ˚ tˇežkopádnˇe, neintuitivnˇe a je nároˇcný na správné ovládání. Není možné snadno zasáhnout do kódu ze kterého se generují jednotlivé stránky katalogu – 6.
29
3.4. WEB 2.0 V KNIHOVNÁCH
Obrázek 3.2: Primo. Primo je pˇríkladem jednoho z moderních OPACu, které mají nahradit starší systémy. V nedávné dobˇe ho nasadila i univerzita v Oxfordu. Aleph používá vlastní šablony a zpracovává je pomocí vlastního mechanismu. Rozsáhlejší zmˇeny je proto možné provádˇet témˇerˇ výhradnˇe použitím JavaScriptu, což není optimální. Do uživatelova poˇcítaˇce se nahraje stránka, která má relativnˇe daleko k finální podobˇe a ta je poté mˇenˇena JavaScriptem. To ovšem zabere další cˇ as a prostˇredky na stranˇe klienta.
30
Kapitola 4
Data knihovny a rozhraní pro pˇrístup k nim 4.1
Potˇreba rozhraní pro pˇrístup k datum ˚
Jak už bylo zmínˇeno v pˇredchozích cˇ ástech, knihovna vytváˇrí velké množství unikátních dat. Obvykle s nimi ale pracuje pouze v rámci svých vlastních uzavˇrených systému a nijak je dále nevyužívá, nebo k dalšímu využití nenabízí. K lepší práci s daty chybí cˇ ásteˇcnˇe motivace (po nˇecˇ em co nikdo nenabízí nevzniká významná poptávka), cˇ ásteˇcnˇe technické prostˇredky. Pˇritom jsem se nˇekolikrát ve své praxi setkal se situacemi, kdy byla k dispozici cˇ ást dat, napˇríklad z bibliografického záznamu, ovšem další odpovídající data, která by teoreticky bylo možné dohledat a využít k dispozici nebyla. V Národní technické knihovnˇe jsme pˇri snaze vylepšit služby cˇ tenáˇrum ˚ museli nˇekolikrát rˇ ešit právˇe podobné, zdánlivˇe jednoduše rˇ ešitelné, problémy. OPAC systému Aleph napˇríklad není pˇríliš dobˇre schopen dodat libovolná data do seznamu výsledku˚ vyhledávání. Kdybychom chtˇeli z tohoto seznamu zobrazit odkaz na mapu fondu (tedy popis, kde je kniha fyzicky umístˇena v knihovnˇe), úspˇechu se snadno nedopracujeme. Umístˇení závisí na kódu knihy podle tˇrídˇení LCC1 , tento údaj je sice obsažen v bibliografickém záznamu, ale v seznamu vyhledaných záznamu˚ ho zobrazit nelze. ˇ Rešením tohoto problému by byla existence API rozhraní, které by bylo schopno potˇrebný údaj dodat. Právˇe návrh takového rˇ ešení je praktickou cˇ ástí této práce. Nejdˇríve je ale vhodné popsat, jaká data a jakým zpusobem ˚ mužeme ˚ v rámci knihovny získat.
4.2
Zdroje dat
4.2.1
Aleph
Duležitá ˚ data v knihovnˇe jsou uložena pˇredevším v ILS systému Aleph. Dále využitelné (a tedy pro zpˇrístupnˇení prostˇrednictvím API vhodné) jsou pˇredevším katalogizaˇcní záznamy skládající se z: •
bibliografického záznamu
•
údaje o exempláˇrích (jednotkách)
1. LCC – Library of Congress Classification je zpusob ˚ klasifikace fondu, používaný pˇrevážnˇe v amerických akademických knihovnách; Národní technická knihovna ho používá od svého vzniku v roce 2009, kdy se fondy její pˇredchudkynˇ ˚ e, Státní technické knihovny, pˇrestˇehovaly do nové budovy a velká cˇ ást jich byla pˇresunuta ze skladu˚ do volného výbˇeru, tzn. stala se volnˇe pˇrístupná cˇ tenáˇrum. ˚
31
4.2. ZDROJE DAT Bibliografický záznam je podle [18]: soubor údaju˚ o zpracovávaném dokumentu, vytvoˇrený specifickými knihovnickými metodami. Umožnuje ˇ identifikaci dokumentu tím, že pˇredstavuje v nˇem obsažené dílo, jeho vyjádˇrení, jeho provedení a jeho fyzickou formu, dále umožnuje ˇ jeho vyhledání a získání pˇrístupu k nˇemu. Skládá se z bibliografického popisu, jmenných a vˇecných selekˇcních údaju, ˚ z obsahové charakteristiky, z lokaˇcních, exempláˇrových a kódovaných údaju. ˚ Exempláˇrové údaje jsou podle [18]: Jedna ze základních strukturních cˇ ástí katalogizaˇcního záznamu, která informuje o poˇctu exempláˇru˚ daného dokumentu ve fondu knihovny (napˇr. prostˇrednictvím pˇrírustkových ˚ cˇ ísel, cˇ íselného oznaˇcení svazku, duplikátu apod.), o svazcích nebo roˇcnících vícedílných a seriálových dokumentu, ˚ jež knihovna vlastní, v online katalozích též uvádí status zpracování a aktuálního místa uložení. Aleph tedy muže ˚ sloužit jako užiteˇcný zdroj informací o fondu, a to jak o jeho obsahové stránce (bibliografické záznamy), tak o fyzických jednotkách a jejich umístˇení (údaje o exempláˇrích) a o tom zda jsou aktuálnˇe k dispozici k vypujˇ ˚ cení. 4.2.2
SFX
V dobˇe rostoucího významu elektronických informaˇcních zdroju˚ zaˇcaly vznikat systémy, které pˇrinášejí odpovˇedi na nové výzvy s nimi související. Knihovny už nenabízejí pˇrístup pouze k dokumentum, ˚ které fyzicky vlastní a jsou uloženy v budovˇe, ale také k dokumentum ˚ v elektronické podobˇe. Ty jsou vˇetšinou uloženy v systémech poskytovatelu˚ a knihovny k nim mají pˇrístup prostˇrednictví poˇcítaˇcu˚ ze své sítˇe. Nejvýznamnˇejší cˇ ást tˇechto dokumentu˚ tvoˇrí cˇ asopisy – jde až o desetitisíce titulu. ˚ Národní technická knihovna využívá pro podporu práce s elektronickými zdroji 2 systémy – metavyhledávaˇc Metalib a link server SFX. Metalib je takzvaný metavyhledávaˇc – umožnuje ˇ položení rešeršního dotazu více in2 formaˇcním zdrojum ˚ zárovenˇ a následné zobrazení výsledku. ˚ Z hlediska dalšího využití dat týkajícího se konkrétního titulu je vhodnˇejším nástrojem SFX. Link server3 SFX nabízí k dokumentu vhodné odkazy. Nejduležitˇ ˚ ejším z nich je odkaz na plný text dokumentu, ovšem i u dokumentu˚ jejichž plný text není v elektronické podobˇe pˇrístupný je možné nabídnout odkazy na další užiteˇcné služby. Odkazy jsou v SFX generovány na základˇe takzvané znalostní báze SFX (SFX KB). Ta obsahuje základní metadata o elektronických dokumentech a místo uložení v konkrétních databázích. Duvod ˚ u˚ pro existenci a udržování takové báze je nˇekolik: 2. Na rozdíl od „obvyklých“ nástroju˚ pro vyhledávání, jako je Google se nevyužívá indexování, ale dotazování; navíc je možné dotazovat se i zdroju˚ k nimž se pˇrístup musí zaplatit a které Google neindexuje. 3. Ustálený cˇ eský pˇreklad termínu link server neexistuje; funkci by zˇrejmˇe nejlépe odpovídal termín spojující server.
32
4.2. ZDROJE DAT •
jeden dokument muže ˚ být k dispozici prostˇrednictvím ruzných ˚ databází
•
struktura databází se muže ˚ mˇenit, vˇcetnˇe odkazu˚ na konkrétní dokumenty
•
pˇrístup ke zdrojum ˚ muže ˚ být ukonˇcen
Z výše uvedených duvod ˚ u˚ není vhodné snažit se udržovat záznamy o konkrétních elektronických dokumentech v katalogu. Udržování aktuálních údaju˚ by se totiž brzy ukázalo zcela nezvládnutelné. Mimo možnosti jednotlivých institucí se ukazuje i možnost udržovat vlastní znalostní bázi. To si uvˇedomuje i firma ExLibris, výrobce SFX. Ve spolupráci s poskytovateli elektronických zdroju˚ vytváˇrí a udržuje centrální znalostní bázi, kterou pru˚ bˇežnˇe distribuuje svým klientum. ˚ Ti si potom pouze urˇcí, které zdroje mají nebo nemají k dispozici a v rámci systému SFX je aktivují, nebo neaktivují. Další odkazy dokáže SFX vytvoˇrit na základˇe metadat, která jsou mu pˇredána, aniž by objekt musel nutnˇe mít pˇrístupný plný text, nebo i když vubec ˚ není ve znalostní bázi obsažen. Muže ˚ jít napˇríklad na odkaz do katalogu Worldcat, pro jehož správné vytvoˇrení staˇcí znát správnou syntaxi URL a ISBN knihy. Oba typy odkazu, ˚ jak ty generované na základˇe znalostní báze, tak ty vytváˇrené na základˇe metadat se potom zobrazují spoleˇcnˇe v tzv. SFX Menu.
Obrázek 4.1: SFX NTK. SFX Menu nabízí množství odkazu˚ seskupovaných podle typu.
33
4.2. ZDROJE DAT 4.2.3
Obálky knih
Obálky knih byly jedním z prvních typu˚ obohacení záznamu v katalozích nad rámec letitého katalogizaˇcního záznamu. Jejich vˇetší dostupnost ovlivnily pˇredevším vˇetší rychlost internetového pˇripojení a také rozšíˇrení skeneru. ˚ V souˇcasné dobˇe je k dispozici hned nˇekolik zpusob ˚ u˚ kde obálky získat. 4.2.3.1 Obálky v NTK První z nich je jejich vlastní skenování a vytváˇrení vlastního úložištˇe. Touto cestou se na jaˇre 2008 vydala i tehdejší Státní technická knihovna. Obálky mohou být skenovány napˇríklad v rámci katalogizace nových knih a následnˇe uloženy na server a propojeny se záznamy. Vzhledem k tomu, že se poˇcítalo s jejich využitím pouze pro OPAC Alephu, jsou obálky oznaˇceny cˇ íslem bibliografického záznamu (tzv. systémové cˇ íslo) v Alephu NTK. Pˇri takovémto zpusobu ˚ ukládání není možné najít obálku podle jiného údaje, a tudíž není možné tento systém snadno využít z venku. Na druhou stranu je propojení s Alephem NTK velmi snadné. V tomto systému, na jehož pˇrípravˇe jsem se podílel, se obálky skenují ve 2 velikostech – menší pro využití v seznamu vyhledaných dokumentu˚ a vˇetší pro zobrazení v katalogizaˇcním záznamu konkrétního dokumentu. Obálky se ukládají na server podle velikosti a následnˇe do 10 adresáˇru˚ podle poslední cˇ íslice systémového cˇ ísla. Zobrazení obálek není jako je tomu cˇ asto u jiných systému˚ rˇ ešeno pomocí JavaScriptu, ale kompletnˇe na stranˇe serveru. 1. v OPACu je zobrazeno systémové cˇ íslo 2. systémové cˇ íslo je „obaleno“ HTML kódem typu
Kde $SYSTEMOVE_CISLO je systémové cˇ íslo a $VELIKOST je požadovaná velikost obrázku 3. pˇri nahrávání obrázku˚ se provede jednoduchý CGI skript, který pˇresmˇeruje prohlížeˇc na URL adresu obrázku konkrétní obálky, pokud existuje, nebo na univerzální „prázdný“ obrázek, pokud neexistuje Tento systém je používaný beze zmˇen už druhým rokem a zatím nebylo nutné do nˇej zasahovat. Na druhou stranu je to typ rˇ ešení, který by vedl pˇri širším nasazení ke znásobení skenování a z tohoto hlediska je tedy neefektivní4 . ˇ pomˇernˇe unikátní, takže neefektivnost není až taková jako by byla 4. Fond NTK je svým zamˇerˇ ením v CR napˇríklad v pˇrípadˇe všeobecnˇe zamˇerˇ ených knihoven.
34
ˇ ˚ 4.3. ROZHRANÍ PRO P RÍSTUP K DAT UM 4.2.3.2 Obalkyknih.cz Projekt obalkyknih.cz5 Moravské zemské knihovny a Masarykovy univerzity si klade za cíl vytvoˇrit rozsáhlý národní systém pro obohacování záznamu. ˚ K puvodním ˚ obálkám pˇribyly obsahy a plánuje se rozšíˇrení o další prvky – recenze, anotace, hodnocení, tagy, komentáˇre. Toto rˇ ešení je velmi robustní a je používané v rˇ adˇe významných knihoven vˇcetnˇe Národní knihovny, Moravské zemské knihovny, knihoven Masarykovy a Karlovy univerzity a rˇ adou dalších. Obálky jsou stahovány i od knihkupcu˚ – partneru˚ projektu. Systém je vyvinut jako Open Source, zdrojové kódy jsou k dispozici ke stažení na stránkách SourceForge6 . Pˇrístupnost zdrojového kódu tak cˇ ásteˇcnˇe nahrazuje nedostatek dokumentace na samotné hlavní stránce projektu. Obalkyknih.cz jsou projekt už nyní velmi používaný (dosahuje až 10.000.000 obsloužených dotazu˚ za mˇesíc) a plány autoru˚ do budoucna jsou obrovské – pokud se podaˇrí je realizovat a najde se dostateˇcnˇe aktivní a rozsáhlá uživatelská základna, pujde ˚ zˇrejmˇe o nejˇ lepší Library 2.0 systém v Ceské republice. Na druhou stranu zustává ˚ urˇcitá míra nejistoty, protože sít’ový efekt zvyšující pˇridanou hodnotu služby ještˇe nebyl nastartován.
4.3
Rozhraní pro pˇrístup k datum ˚
V pˇredchozí cˇ ásti byly popsány systémy ve kterých jsou uložena pro knihovnu duležitá ˚ data. Nebyl ovšem popsán zpusob ˚ jakým je lze z tˇechto systému získat. 4.3.1
Aleph X-Server
X-server je rozhraní pro pˇrístup k datum ˚ uloženým v ILS Aleph. Nemusí být vždy souˇcástí ˇ systému – v Ceské republice ho využívá pouze nˇekolik málo knihoven. Kromˇe Národní technické knihovny je to napˇríklad Národní knihovna, cˇ i Vˇedecká knihovna v Olomouci. Za provoz X-serveru pro Aleph se platí udržovací poplatky, takže velký rozmach zˇrejmˇe nelze oˇcekávat, pokud se neobjeví aplikace, které by tuto službu umˇely efektivnˇe využít. Pˇríkladem použití dat získaných z Alephu prostˇrednictvím X-Serveru je aplikace Prohlížení Polytematického strukturovaného hesláˇre7 Národní technické knihovny. X-server odpovídá na dotaz formulovaný parametry pˇredanými prostˇrednictvím URL zasláním XML souboru s odpovˇedí: Dotaz: http://aleph.techlib.cz/X?op=find-doc&base=stk01&doc_num=000627772
Odpovˇed’: 5. 6. 7.
35
ˇ ˚ 4.3. ROZHRANÍ PRO P RÍSTUP K DAT UM <metadata> SE 00000nas-a2200481-a-4500 ... <subfield label="a">1087-0156 ... <subfield label="a">Nature biotechnology. ... <subfield label="a">New York, NY : <subfield label="b">Nature Pub. Co., <subfield label="c">1996-. ...
V uvedeném pˇríkladu jsme položili X-Serveru dotaz na vyhledání dokumentu se systémovým cˇ íslem 000627772 v bázi STK01. X-Server vrátil bibliografický záznam pˇrevedený z formátu MARC218 do XML. Na jednu stranu obsahuje všechna data z bibliografického záznamu, na druhou stranu je to tˇežkopádný, lidsky tˇežko cˇ itelný formát. V tomto konkrétním pˇrípadˇe má XML soubor navíc 177 rˇ ádku. ˚ Pokud bychom chtˇeli zjistit pouze název dokumentu se systémovým cˇ íslem 000627772, museli bychom i tak stáhnout a zpracovat veliký a složitý soubor. Filozofie X-Serveru kopíruje filozofii OPACu systému Aleph, takže dochází k situacím kdy je napˇríklad na zjištˇení systémového cˇ ísla podle ISBN nutné položit postupnˇe 3 dotazy. Bohužel je popis syntaxe dotazu˚ i odpovˇedí souˇcástí dokumentace systému Aleph, která není veˇrejnˇe pˇrístupná, takže data sice mohou být k dispozici, ale není snadné se k nim dostat což muže ˚ rˇ adu zájemcu˚ odradit. Funkcí je pˇritom k dispozici témˇerˇ 50 a to vˇcetnˇe pokroˇcilejších, vˇetšinou už vyžadujících autentizaci. 4.3.2
SFX XML
Pˇrestože je SFX produktem stejné firmy, pˇrístup k datum ˚ se liší. SFX obecnˇe vytváˇrí nabídku odkazu˚ zvanou SFX menu na základˇe metadat poskytnutých ve formˇe OpenURL9 . Tato 8. MARC21 je formát používaný pro zápis bibliografických záznamu; ˚ tato verze existuje od roku 1997, starší varianty ovšem vznikly už v 60.letech 20.století. 9. OpenURL je formát, ve kterém jsou metadata (jako název, ISBN a další údaje) zakódována do URL prostˇrednictvím parametru; ˚ OpenURL 1.0 bylo standardizováno jako ANSI norma Z39.88 .
36
ˇ ˚ 4.3. ROZHRANÍ PRO P RÍSTUP K DAT UM nabídka není nikde uložená – vytváˇrí se až v okamžik zpracovávání dotazu na základˇe obsahu SFX KB a dalších mechanismu, ˚ jak již bylo zmínˇeno výše. Pro zmˇenu formátu SFX Menu z obvyklého HTML do lépe zpracovatelného XML staˇcí do URL pˇridat parametr sfx.response_type=simplexml. Dotaz: http://sfx.techlib.cz/sfxlcl3 ?sfx.response_type=simplexml&sfx.ignore_date_threshold=1&issn=1087-0156
Odpovˇed’: <sfx_menu> EBSCOHOST_ACADEMIC_SEARCH_COMPLETE EBSCOhost Academic Search Complete 1000000000002159 <service_type>getFullTxt <parser>EBSCO_HOST::ebsco_am <parse_param> eh_user_id=& db_host=a9h& url=http://articlematcher.ebscohost.com/EpAmRc.dll & ebscohosturl = http://search.ebscohost.com & linkurl=http://openurl.ebscohost.com/linksvc/linking.aspx & jkey=4ED <proxy>yes no https://ezproxy.techlib.cz/login ?url=http://search.ebscohost.com/direct.asp ?db=a9h&jn=4ED&scope=site ... <sfx_menu>
Dotaz na SFX je v tomto pˇrípadˇe prakticky nejjednodušší možný – jediným údajem je ISSN, které ovšem dostateˇcnˇe identifikuje cˇ asopis, aby bylo možné jej vyhledat. Další 2 parametry jsou rˇ ídícími parametry SFX. Parametr sfx.ignore_date_threshold systému rˇ íká aby nekontroloval požadovaný rok vydání cˇ asopisu. Neuvedení této hodnoty totiž vede 37
ˇ ˚ 4.3. ROZHRANÍ PRO P RÍSTUP K DAT UM k nezobrazení odkazu˚ na plný text10 . V XML odpovˇedi se vrátí mimo jiné název cíle odkazu, odkaz a typ služby. V pˇríkladu je vybrán z celého souboru právˇe jeden z cílu, ˚ odkaz na plný text do databáze EBSCO Academic Search, odkaz vede na adresu ezproxy.techlib.cz, tedy na proxy server Národní technické knihovny pro vzdálený pˇrístup k elektronickým zdrojum. ˚ XML soubor je o mnoho pˇrehlednˇejší než v pˇrípadˇe Alephu, cˇ astˇeji se musí zpracovávat jako celek – jednotlivé cíle (target) je vhodné rozlišovat podle typu poskytovaných služeb (service_type). 4.3.3
Obálky
Obálky NTK žádné rozhraní nenabízejí, protože tento systém byl vyloženˇe jednoúˇcelový a s žádným dalším typem použití, kromˇe zobrazení v katalogu na základˇe systémového cˇ ísla se nepoˇcítalo. Neexistuje žádná databáze, rozlišuje se pouze existence, cˇ i neexistence souboru. Obalkyknih.cz jsou v tomto ohledu mnohem sofistikovanˇejší. Jejich rozhraní nabízí hned nˇekolik zpusob ˚ u˚ jakým lze získat data. Vzhledem k tomu, že není k dispozici dokumentace, vychází popis z aktuálních zdrojových kódu, ˚ které jsou k dispozici na SourceForge.net. Z tohoto duvodu ˚ je nutné poˇcítat s dalšími zmˇenami formátu, ˚ nicménˇe i taková „nestálost“ je jedním z prvku, ˚ které Web 2.0 svým zpusobem ˚ legitimizoval. Systém vrací hodnoty nˇekolika ruznými ˚ zpusoby, ˚ které jsou urˇcené obsahem parametru return. Jde o: •
pˇresmˇerování na obrázek
•
proveditelný JavaScript
•
XML
•
JavaScript Callback
Pˇresmˇerování na obrázek se podobá systému používanému v NTK. Do HTML atributu src tagu img se vloží odkaz na skript. Pokud ten najde obrázek obálky, pˇresmˇeruje na nˇej požadavek prohlížeˇce, v opaˇcném pˇrípadˇe pˇresmˇeruje na jednopixelový obrázek. Proveditelný JavaScript se vkládá do stránky následujícím zpusobem: ˚ <script src="http://www.obalkyknih.cz/api/cover?isbn=8000007342&return=js">
a pracuje tak, že nahraje malý skript: document.write(""); 10. SFX kontroluje tato data pomˇernˇe zvláštním zpusobem ˚ – pokud není v metadatech (tedy OpenURL) uvedeno o jaký rok vydání se zajímáme, neprojde takový dotaz kontrolou rozsahu a odkaz na plný text se nikdy nezobrazí; pouhé ISSN tedy nestaˇcí.
38
ˇ ˚ 4.3. ROZHRANÍ PRO P RÍSTUP K DAT UM který na jeho místo zapíše div obsahující požadovaný obrázek obálky. XML odpovˇed’ vrací jednoduchý soubor obsahující adresu obrázku a odkaz na stránku knihy na serveru: http://www.obalkyknih.cz/file/cover/51207/medium http://www.obalkyknih.cz/view?isbn=978-80-252-0267-8
Nejvíce dat nabízí varianta využívající JavaScript Callback. Data jsou pˇredána jako argument funkce, cˇ ímž se lze vyhnout nˇekterým bezpeˇcnostním ochranám prohlížeˇcu, ˚ které by jinak neumožnily zpracovávat JavaScriptem data pˇrinesená z cizích domén. Je také možné specifikovat jméno této funkce. Pokud tak neuˇciníme, bude nazvána obalky_callback. Na dotaz : http://www.obalkyknih.cz/api/cover ?return=js_callback&isbn=80-252-0267-4&callback_arg=pojmenovana_funkce
se vrátí odpovˇed’ ve tvaru: pojmenovana_funkce({id:"51207", cover_width:169, cover_height:239, cover_url:"http://www.obalkyknih.cz/file/cover/51207/medium", thumbnail_width:25, thumbnail_height:36, thumbnail_url:"http://www.obalkyknih.cz/file/cover/51207/thumbnail", image_alt:"", backlink_url:"http://www.obalkyknih.cz/view?isbn=978-80-252-0267-8"})
V poslední variantˇe tedy získáme nejen obrázek, ale i celou rˇ adu dalších údaju, ˚ vˇcetnˇe odkazu zpátky na server obalkyknih.cz a zmenšeného náhledu.
39
Kapitola 5
Vytvoˇrené rozhraní V této kapitole bude popsáno vytvoˇrené jednotné rozhraní pro systémy, jež byly zmínˇeny v kapitole pˇredchozí. V zásadˇe by bylo možné použít i rozhraní která nabízejí systémy Aleph a SFX samy o sobˇe, bohužel je z nich zˇrejmé, že byla urˇcena spíše pro komunikaci mezi programy, respektive velkými aplikacemi a proto nesplnují ˇ pˇredstavu rozhraní jak se rozšíˇrila s rozvojem fenoménu Web 2.0. Duvodem ˚ pro vytvoˇrení zjednodušeného rozhraní ke knihovním systémum ˚ je pˇredevším snaha uplatnit data, která jsou k dispozici knihovnˇe v širším kontextu. Z toho muže ˚ mít nakonec užitek jak knihovna, tak ti, kdo by chtˇeli data využít.
5.1
Implementace
Práci lze rozdˇelit na 2 cˇ ásti: serverovou a klientskou cˇ ást. Serverová cˇ ást se stará o získání dat ze zdroju, ˚ zpracovává je a pˇredává ve velice zjednodušeném formátu. K tomuto úˇcelu bylo použito programovacího jazyku Ruby, konkrétnˇe ve spojení s frameworkem Rails – celek se nazývá Ruby on Rails1 a byly v nˇem vytvoˇreny nˇekteré známé aplikace vˇcetnˇe Twitteru. Klientská cˇ ást ukazuje možnosti, které nabízí serverová cˇ ást. Bylo by možné získat data z rozhraní a znovu je použít na stranˇe serveru, nicménˇe zvolená varianta používající technik Ajax lépe demonstruje výhody a sílu celého rˇ ešení a její návaznost na prostˇredí Webu 2.0. Celý systém tedy využívá 3 samostatné vrstvy: •
Systémy poskytující data – Aleph, SFX, obálky
•
Serverovou cˇ ást poskytující zjednodušený formát – Ruby on Rails
•
Klientskou cˇ ást prezentující data – Ajax (JavaScript, DOM, XHTML, CSS)
5.2
Serverová cˇ ást
Architektura navrženého systému vychází z architektury Model - View - Controller (MVC), používaného frameworkem Ruby on Rails. Pˇri tomto pˇrístupu je aplikace rozdˇelena do 3 cˇ ástí s odlišnou a oddˇelenou funkcí. 1.
40
ˇ 5.2. SERVEROVÁ CÁST •
Model reprezentuje objekty z domény (uživatel, firma, v našem pˇrípadˇe napˇríklad bibliografický záznam), definuje funkce pro práci s nimi
•
View (pohled) stará se o uživatelské rozhraní – generuje HTML, RSS, Javascript, nebo jiný druh výstupu
•
Controller (ˇradiˇc) rˇ ídí aplikaci – zpracovává vstupy od uživatelu, ˚ zajišt’uje komunikaci mezi modelem a pohledem
Navržený systém používá 5 modelu˚ (odpovídajících typum ˚ dat), 4 rˇ adiˇce (odpovídajících zdrojovým systémum) ˚ a 19 pohledu˚ (odpovídajících konkrétním funkcím poskytujícím data). Pokud napˇríklad chceme zjistit název titulu s ISBN 0-9776166-3-0 položíme serveru2 dotaz ve formˇe URL http://localhost:3000/aleph/title?isbn=0-9776166-3-0
odpovˇedí bude cˇ istý text: Agile web development with rails
V tomto pˇrípadˇe byl použit rˇ adiˇc (aleph), který dostal jako parametr jméno pohledu ˇ (title) a parametr ISBN. Radiˇ c pˇredal parametr modelu (AlephX) zavolal jeho funkci pro zjištˇení názvu. Model zpracoval data a vrátil rˇ adiˇci odpovˇed’, rˇ adiˇc ji pˇredal pohledu a ten ji zobrazil v požadované formˇe. 5.2.1
Formát zobrazování dat
Významnou cˇ ástí návrhu je i formát, ve kterém bude systém data zobrazovat. Protože se pˇredpokládá zpracování dat pˇredevším pomocí JavaScriptu, je tímto formátem JSON. JSON (JavaScript Object Notation) je odlehˇcený formát pro výmˇenu dat3 . Z JSONu lze pomocí JavaScriptu velice snadno vytvoˇrit objekt, jenž má v sobˇe uloženy hodnoty. U krátkých a nepˇríliš strukturovaných dat, je tento formát vhodnˇejší, než XML. Pˇríklad nejjednoduššího systémem používaného JSONu vypadá takto (pohled title): {"title":"Essentials of materials science and engineering "}
lze však použít i složitˇejší objekty (pohled basic): 2. 3.
Pˇredpokládejme, že server bˇeží na lokálním poˇcítaˇci.
41
ˇ 5.2. SERVEROVÁ CÁST {"title":"Essentials of materials science and engineering ", "author":"Askeland, Donald R.", "psh":["materiály", "materiálové inženýrství"], "sysno":"000660033", "isbn":"978-0-495-43850-2", "issn":"", "year":"c2010", "publisher":"Cengage Learning"}
Výhodou prezentování dat v tomto tvaru je jednoduchost, cˇ itelnost a snadné zpracování. K nˇemu se používá JavaScriptová knihovna json2.js ze stránek vˇenovaných tomuto formátu4 . K naˇctení dat z JSONu by bylo možné použít i JavaScriptovou funkci eval() , takové rˇ ešení ovšem pˇrináší vˇetší bezpeˇcnostní rizika, kterým se použitím knihovny json2.js alesponˇ cˇ ásteˇcnˇe vyhneme. 5.2.2
Použité modely
Modely hrají v aplikaci nejvýznamnˇejší roli – jsou prakticky jádrem celé aplikace. Proto následuje jejich bližší popis. 5.2.2.1 Model AlephX Model AlephX dokáže pracovat s bibliografickým záznamem, který stahuje z X-Serveru Alephu NTK. Pro tuto cˇ innost je nejduležitˇ ˚ ejší identifikátor záznamu. V pˇrípadˇe, že model dostane jako parametr systémové cˇ íslo, muže ˚ hned položit dotaz a získat odpovídající XML. Složitˇejší je situace pokud je jako identifikátor použito ISBN, nebo ISSN. V takovém pˇrípadˇe musí být položeny 2 dotazy navíc: první hledá dokument s daným identifikátorem, ovšem Aleph vytvoˇrí pouze seznam vyhledaných výsledku˚ a proto musí být položen další dotaz na získání prvního záznamu z tohoto seznamu. Funkce nabízené tímto modulem pracují se získaným XML souborem s bibliografickými daty, který byl popsán již dˇríve. Z nˇej extrahují odpovídající údaje a ty se pˇredávají k zobrazení. Model AlephX umožnuje ˇ získat data pro následující pohledy: •
sysno, isbn, issn Vrací pˇríslušný identifikátor (systémové cˇ íslo v Alephu NTK, ISBN, nebo ISSN)
•
author, title, publisher, year, lcc Vrací odpovídající údaj, je-li k dispozici (jméno autora, název, vydavatel, rok vydání a LCC v NTK)
•
psh Vrací záznamu pˇriˇrazená hesla z polytematického strukturovaného hesláˇre.
4.
42
ˇ 5.2. SERVEROVÁ CÁST •
basic Na rozdíl od výše popisovaných pohledu˚ vrací nˇekolik údaju˚ zároven. ˇ
5.2.2.2 Model AlephX_circ Model AlephX_circ pracuje s údaji o jednotkách, respektive s odpovídajícím XML souborem získaným z X-Serveru Alephu. Jako identifikátor vyžaduje systémové cˇ íslo, takže v pˇrípadˇe, že je k dispozici pouze ISBN, nebo ISSN, musí se k jeho získání použít model AlephX. Jediným pohledem pro který poskytuje model AlephX_circ data je pohled circ, pomocí nˇehož se získávají informace o jednotkách. 5.2.2.3 Model SFXX Model SFXX zpracovává XML odpovˇed’ SFX serveru. V tomto pˇrípadˇe nelze k niˇcemu použít systémové cˇ íslo, v parametru dotazu SFX serveru je nutné použít bud’ ISBN, nebo ISSN. Pohledy by optimálnˇe mˇely odpovídat typum ˚ služeb, jak jsou použity v systému SFX, praktické zkušenosti ale ukazují, že nˇekteré z nich jsou velmi málo využívané a proto byly vybrány pouze 4 z nich. Jde o služby získání plného textu (getFullTxt), abstraktu (getAbstract), obsahu (getTOC) a fyzického dokumentu (getHolding). Ty jsou, podobnˇe jako u modelu AlephX, doplnˇeny pohledem basic, obsahující data ze všech služeb. 5.2.2.4 Model Image Model Image reprezentuje obrázek obálky a jeho metadata. Obálky se vyhledávají mezi obálkami naskenovanými v NTK a v pˇrípadˇe neúspˇechu se pokraˇcuje na serveru obalkyknih.cz. Jako identifikátory se používají jak systémové cˇ íslo, tak ISBN5 . Každá obálka se hledá v poˇradí: 1. podle systémového cˇ ísla v NTK 2. podle ISBN pˇrevedeného na systémové cˇ íslo v NTK 3. podle ISBN na obalkyknih.cz Pokud se použije obálka z obalkyknih.cz, pˇredávají se všechny získané údaje vˇcetnˇe odkazu jaká stránka se má zobrazit po kliknutí na obrázek. Pokud je obálka nalezena v NTK, vytvoˇrí se podobná struktura – odkaz v tom pˇrípadˇe vede na záznam knihy v katalogu NTK. Na obálku zpracovanou modelem Image poskytuje systém 2 pohledy: big (pro zobrazení vˇetšího náhledu obálky) a small (pro zobrazení menšího náhledu obálky). Odpovˇed’ 5.
ISSN se nepoužívá, protože NTK ani obalkyknih.cz neskenují obálky cˇ asopisu. ˚
43
ˇ 5.2. SERVEROVÁ CÁST ve formátu JSON je v obou pˇrípadech stejná, obsahuje totiž odkaz na vˇetší i na menší náhled. Jinde nepoužitým formátem je redirect, který pˇresmˇerovává prohlížeˇc pˇrímo na cílový obrázek. 5.2.2.5 Model Feed_reader Model Feed_reader se od ostatních modelu˚ odlišuje, protože není urˇcen k zobrazení dat, ale k využití pro prezentaci na webové stránce. Zpracovává RSS kanál s Nové knihy v NTK, ze kterého získává systémová cˇ ísla nových knih. Pohled new_books pˇriˇrazený tomuto modelu potom zobrazuje náhledy obálek všech knih z tohoto kanálu. V tomto pohledu je navíc využita i klientská cˇ ást, která bude popsána níže – jde tedy o pˇríklad možného zpusobu ˚ propojení serverové a klientské cˇ ásti. 5.2.3
ˇ Radiˇ ce a pohledy
K položení dotazu systému (at’ už prostˇrednictvím prohlížeˇce, nebo JavaScriptového kódu) se využívá URL adresa ve tvaru: http://localhost:3000/[ˇ radiˇ c]/[pohled][parametry]
V systému jsou vytvoˇreny 4 rˇ adiˇce: aleph, sfx, cover a feed. Každému z nich jsou pˇriˇrazena skupina pohledu. ˚ ˇ Radiˇ c aleph
Parametry isbn, issn, sysno, call
Formát odpovˇedi JSON, HTML
isbn, issn, call
JSON, HTML
cover
Pohledy author, basic, circ, isbn,issn, lcc, psh, publisher, sysno, title, year basic, getAbstract, getFullTxt, getHolding, getTOC big, small
issn, id, type, call
feed
new_books
nejsou
JSON, HTML, http pˇresmˇerování HTML stránka
sfx
ˇ Tabulka 5.1: Radiˇ ce a pohledy Pokud chceme napˇríklad získat data z SFX, využijeme odpovídající rˇ adiˇc sfx, zvolíme pohled podle toho, jaký údaj nás zajímá a doplníme parametry: http://localhost:3000/sfx/getFullTxt?issn=0363-0277&call=json
Další dotazy se tvoˇrí obdobným zpusobem. ˚ 44
ˇ 5.3. KLIENTSKÁ CÁST
5.3
Klientská cˇ ást
Data poskytovaná serverovou cˇ ástí aplikace lze využít ruznými ˚ zpusoby. ˚ Pro názornˇejší demonstraci možného zpusobu ˚ využití muže ˚ posloužit vytvoˇrená JavaScriptová knihovna využívající techniky Ajax. Funkce v ní obsažené nahrávají data ze serverové cˇ ásti a vkládají je do pˇredem urˇcených míst v HTML kódu.
Obrázek 5.1: Klientská cˇ ást – ukázka. Pˇríklady ukazují na ruzných ˚ dokumentech postupnˇe využití rˇ adiˇcu˚ a pohledu: ˚ aleph/basic, sfx/basic, aleph/psh a aleph/circ. Data jsou získána a do výsledného tvaru naformátována pomocí JavaScriptu.
5.3.1
HTML struktura
Pro zmˇeny cˇ ástí stránky pomocí JavaScriptu se využívá DOM. Proto má duležitou ˚ roli vytvoˇrení správné HTML struktury, jejíž DOM bude možné snadno a spolehlivˇe využít. Navržený kód se skládá z do sebe zanoˇrených, pojmenovaných (využívá se parametr id) blokových elementu˚ div a p a inline elementu span. Do tˇechto elementu˚ se potom pomocí funkcí z knihovny vkládají cˇ ásti kódu, respektive zpracovaná data získaná ze serveru. Pro názornost uvedeme cˇ ást HTML struktury: <span id="ntk_pub">, <span id="ntk_year">
<span id="ntk_issn"><span id="ntk_isbn">
45
ˇ 5.4. P RÍKLADY VYUŽITÍ 5.3.2
Typy použitých funkcí
Použité funkce lze rozdˇelit do nˇekolika kategorií: •
generující funkce Vytváˇrejí potˇrebnou HTML strukturu vˇcetnˇe správnˇe pojmenovaných cˇ ástí. Pˇríkladem je funkce generateMain, která do specifikovaného prvku vloží kód základního okna, se kterým potom mohou další funkce pracovat.
•
rˇ ídící funkce ˇ Pˇredávají parametry konkrétním funkcím, které naˇcítají a zobrazují obsah. Rídící funkce pro hlavní okno tak postupnˇe zavolá funkci naˇcítající obálku a funkci nacˇ ítající základní informace o dokumentu.
•
funkce pro naˇcítání obsahu Naˇctou data ze serveru ve formátu JSON, a ten následnˇe zpracují pomocí knihovny json2.js. Poté je naformátují do vhodné podoby (muže ˚ jít napˇríklad o pˇridání ikon apod.) a vloží do stránky.
Vytvoˇrenou knihovnu je možné velmi jednoduše použít – staˇcí jen urˇcit div do kterého se má nagenerovat (napˇríklad pˇri naˇctení stránky, nebo i jiné události) potˇrebná struktura a potom volat funkce, které do ní budou zapisovat data. Tyto funkce pˇritom potˇrebují jako argument pouze typ a hodnotu identifikátoru.
5.4
Pˇríklady využití
Vytvoˇrené API muže ˚ najít využití pˇredevším v situacích, kdy máme k dispozici identifikátor dokumentu, ale nejsme jiným zpusobem ˚ schopni získat další potˇrebné údaje. Taková potˇreba cˇ asto vzniká tˇreba pˇri snahách o úpravy OPACu Alephu. K tomu, aby cˇ tenáˇr získal informace o exempláˇrích, musí kliknout nejménˇe tˇrikrát. To je velmi problematické, pokud jsou na stejném místˇe i uvedeny informace o fyzickém uložení jednotek, podle kterých je hledá ve volném výbˇeru. Možnost zobrazit údaje z bibliografického záznamu mohou ale pˇrijít vhod i jinde než v OPACu. Na webových stránkách knihovny by tˇreba mohly být využity pro lepší prezentaci dat z RSS kanálu o nových knihách; bylo by možné vytvoˇrit alternativu k OPACu pro mobilní zaˇrízení. V upozornˇení na novˇe koupené e-booky by se zase pˇeknˇe využila cˇ ást zpracovávající data z SFX. Možností je celá rˇ ada... Vznik samotného rozhraní ovšem v dobˇe Webu 2.0 nemusí být pˇredem podepˇreno nˇejakou konkrétní aplikací. Využití dat v mashupech mnohdy pˇrekvapí i jejich majitele. Byla by škoda, kdyby knihovna svá data v takovém prostˇredí nevyužila.
46
ˇ 5.4. P RÍKLADY VYUŽITÍ
Obrázek 5.2: Kombinace serverové a klientské cˇ ásti. Serverová cˇ ást zpracovává RSS kanál nových knih v NTK, po kliknutí na obálku se zobrazí bližší informace o knize pomocí klientské cˇ ásti.
47
Kapitola 6
Závˇer Význam fenoménu oznaˇcovaného jako Web 2.0 na svˇet webu nelze podcenovat. ˇ Mˇení se jak chování, tak uvažování uživatelu, ˚ což pˇresahuje hranice „virtuálního“ svˇeta a ovlivnuje ˇ i 1 svˇet reálný . Zmˇenil se zpusob ˚ vyhledávání informací – knihovny ztrácejí svou po tisíciletí budovanou pozici. Na tom v zásadˇe není nic špatného, pokud by bylo možné je plnohodnotnˇe nahradit. V tuto chvíli tomu tak ale ještˇe (?) není a proto je škoda, že ztrácejí i pozice tam, kde by je mohly udržet. Knihovny mohou být na webu pˇrítomny a mˇely by se snažit být tam pˇrítomny na maximální možnou míru. Nejde však o to opustit zavedené služby a pˇreorientovat se na cˇ istˇe virtuální prostˇredí, ale spíše vybudovat si v nˇem pozici novou, stávající služby podporující a doplnující. ˇ To byla i základní myšlenka této práce. V ní byl postupnˇe pˇredstaven Web 2.0 – jeho základní principy, aplikace a duležité ˚ technologie na nichž je postaven. Vzhledem k zamˇerˇ ení práce na knihovny byl dále rozebrán pˇríbuzný termín Library 2.0. Ten nastinuje ˇ cíle, ke kterým by se mˇel vývoj knihoven ubírat – z tohoto duvodu ˚ je pomˇernˇe nejasný, protože záleží na názoru konkrétního autora. Webu 2.0 proniká i do svˇeta knihoven. Zatímco u nás se používají spíše aplikace (jako blogy, RSS apod.), v zahraniˇcí se používají Web 2.0 rˇ ešení i v katalozích (OPAC) knihoven. Tomu u nás brání pomalé nasazování nových systému˚ a cena. Proto se spíše používá doplnování ˇ nových prvku˚ do starých systému, ˚ které se ovšem nemuže ˚ kvalitou integrovanému rˇ ešení rovnat. V praktické cˇ ásti byly zhodnoceny možnosti získání dat z knihovních systému˚ a jejich možný pˇrínos. Bylo navrženo rozhraní, které umožnuje ˇ pˇredávat data jednodušším zpuso˚ bem po malých cˇ ástech a to bylo využito k prezentaci tˇechto dat prostˇrednictvím aplikace založené na technikách Ajax.
1. I když pokud zvážíme možnost, že by Internet pˇrestal ze dne na den existovat, zjistíme jak moc už je v souˇcasnosti hranice mezi „reálným“ a „virtuálním“ tenká.
48
Literatura [1] O’Reilly, T.: What is Web 2.0, O’Reilly Media, 30.9.2005, Dostupné elektronicky (prosinec 2009): . 2.1, 1, 2.1.2, 2.1.8 [2] Graham, P.: Web 2.0, , 11 2005, Dostupné elektronicky (listopad 2009): . 2.1 [3] O’Reilly, T. a Battelle, J.: Web Squared: Web 2.0 Five Years On, O’Reilly Media, 2009, Dostupné elektronicky (listopad 2009): . 2.1 [4] Glotzbach, M.: Google Apps is out of beta (yes, really), Google Inc., 7.7.2009, Dostupné elektronicky (listopad 2009): . 3 [5] Nývlt, V.: Šéf Microsoftu: Výdrž MacBooku˚ je pˇríšerná, a navíc jsou ty poˇcítaˇce tˇežké, iDNES.cz, 26.10.2009, Dostupné elektronicky (listopad 2009): . 2.1.7 [6] Pichai, S. a Upson, L.: A fresh take on the browser, Google Inc., 1.9.2008, Dostupné elektronicky (listopad 2009): . 2.1.7 [7] Pichai, S. a Upson, L.: Introducing the Google Chrome OS, Google Inc., 8.7.2009, Dostupné elektronicky (listopad 2009): . 2.1.7 [8] O’Reilly, T.: Web 2.0 Compact Definition: Trying Again, O’Reilly Media, 12.10.2006, Dostupné elektronicky (listopad 2009): . 2.1.8, 2.2.1 [9] Laningham, S.: developerWorks Interviews: Tim Berners-Lee, IBM, 22.8.2006, Pˇrepis rozhovoru dostupný elektronicky (listopad 2009): . 2.2.1 [10] Dvorak, J.: Web 2.0 Baloney, Ziff Davis Media International, 1.3.2006, Dostupné elektronicky (listopad 2009): . 2.2.2 [11] Winter, D.: RSS 2.0 Specification, Harward Law, 15. 7. 2003, , Dostupné elektronicky (listopad 2009): . 2.3.3 [12] Garrett, J.: Ajax: A New Approach to Web Applications, Adaptive Path, 1.3.2006, Dostupné elektronicky (listopad 2009): . 2.4.2, 2.3 49
[13] Stocky, T.: Introducing Labs for Google Code, Google Inc., 3.3.2009, Dostupné elektronicky (listopad 2009): . 2.4.3.3 [14] Casey, M. a Savastinuk, L.: Library 2.0, Library Journal. 2006, vol 131, is. 14, s. 40-42., 2006, <> . 3.2.1 [15] Chad, K. a Miller, P.: Do Libraries Matter? The Rise of Library 2.0, Talis, 2005, listopad 2005, Dostupné elektronicky (listopad 2009): . 3.2.2 [16] Crawford, W.: Library 2.0 and "Library 2.0", Cites and Insights. 2006, vol. 6. is. 2, Midwinter 2006, Dostupné elektronicky (prosinec 2009): . 3.2.3, 3.3 [17] Xu, C. a Ouyang, F. a Chu, H.: The Academic Library Meets Web 2.0: Applications and Implications, The Journal of Academic Librarianship. 2009, vol. 35, is. 4, s. 323-331. , 18. 6. 2009, . 3.4 [18] Ressler, M.: Informaˇcní vˇeda a knihovnictví : Výkladový slovník cˇ eské terminologie z oblasti informaˇcní vˇedy a knihovnictví. Výbˇer z hesel v databázi TDKIV., VŠCHT / NK Praha, 2006, 80-7080-599-4, Dostupné elektronicky (prosinec 2009): . 4.2.1 [19] Courtney, N.: Library 2.0 and Beyond, Libraries Unlimited, 2007, 978-1-59158.
50
Rejstˇrík Ajax, 7, 14 Aleph, 31, 35 X-Server, 35 API, 19, 21, 31 klíˇc, 21 Atom, 11, 20 betaverze, 6 blog, 5, 10, 27
REST, 11, 20 RSS, 6, 11, 27 SFX, 32, 36 znalostní báze, 32 SOAP, 19 sociální sít’, 26 sociální sítˇe, 12
CGI, 14, 34 CSS, 18
tagování, 11 oblak tagu, ˚ 11 tag, 5, 11
DOM, 16
uživatelské hodnocení, 27
folksonomie, 5
Web 2.0, 8, 9, 13, 26, 27 konference, 3 webová aplikace, 6, 7, 15 Wiki, 9, 10, 27 Wikipedia, 5, 9
HTML, 14, 16 ILS, 25, 28 Instant Messaging, 27 Internetová bublina, 3, 8 JavaScript, 7, 15 callback, 39 ECMAScript, 15 JScript, 15 kritická masa, 13, 27, 28
XHTML, 17 XML, 16, 35 XMLHttpRequest, 16 XSL, 18 XPath, 18 XSL-FO, 18 XSLT, 18
Library 2.0, 23, 25, 26 long tail, 5 mashup, 7, 25 obalkyknih.cz, 35, 38 OPAC, 28 AquaBrowser, 28 OPAC, 29 Primo, 28 VuFind, 29 Open Source, 35 Open Source Software, 9 podcast, 10 51
Pˇríloha A
Obsah pˇriloženého CD Na CD, které je souˇcástí práce, se nachází zdrojové kódy vytvoˇreného systému a to jak serverové, tak klientské cˇ ásti. Dále pak CD obsahuje tuto práci v elektronické podobˇe a to jak zdrojový kód dokumentu, tak výsledný soubor ve formátu PDF.
52