Využití principů Webu 2.0 pro web knihovny

Podobné dokumenty
DATA ARTICLE. AiP Beroun s.r.o.

Microsoft Office 2003 Souhrnný technický dokument white paper

CZ.1.07/1.5.00/

Identifikátor materiálu: ICT-3-55

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací.

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče.

Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web,

3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY

INFORMAČNÍ SYSTÉMY NA WEBU

InternetovéTechnologie

SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL

Část 1 Moderní JavaScript

CTUGuide (XXX-KOS) D1


Systém elektronického rádce v životních situacích portálu

PORTÁL ELEKTRONICKÝCH STUDIJNÍCH TEXTŮ

KAPITOLA 1 SOCIÁLNÍ SÍTĚ A PHP...17

Využití webových kapacit v cestovním ruchu

Obecné. Výzva k účasti v e-aukci Město Počátky Oprava komunikací v Počátkách a okolí

Vedení a technologie: Výhody videokomunikace pro středně velké podniky

Nové přístupy tvorby web site. Doc. Ing. Zdeněk Havlíček, CSc. KIT PEF CZU - 13/11/2001

Databázový systém Matylda

Nástroj WebMaker TXV první vydání Únor 2009 změny vyhrazeny

Úložiště archivů databází elektronických časopisů a knih. (e-da, ROAD)

Výzva k účasti v e-aukci pro Město Počátky Zpracování projektové dokumentace na ZTV lokalita Z2 Počátky

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz

InTouch 8.0 Subsystém distribuovaných alarmů

Projekt Konsolidace IT a nové služby TC ORP Litomyšl

Web 2.0 vs. sémantický web

ÚVOD 3 SEZNÁMENÍ SE SYSTÉMEM 4

Miroslav PIZUR INVENTARIZACE STARÝCH OVOCNÝCH SADŮ NA ÚZEMÍ CHKO BÍLÉ KARPATY

Malý průvodce Internetem

Výzvy využívání otevřených dat v ČR

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

umět definovat pojem autor, uživatel, dílo; schopni aplikovat autorský zákon a další legislativu v internetové praxi.

MATURITNÍ PRÁCE dokumentace

Internet 2 css, skriptování, dynamické prvky

Tvorba jednoduchých WWW stránek. VŠB - Technická univerzita Ostrava Katedra informatiky

- 1 - Smlouva o dílo. uzavřená podle 536 a násl. obchodního zákoníku v účinném znění

hledání na internetu, užitečné stránky, pokročilé vyhledávání, bezpečné vyhledávání

5.1 Vyhledávací portál uživatelské rozhraní

Technická specifikace předmětu veřejné zakázky Zhotovení interaktivního webového portálu a mobilních aplikací

Mobilní aplikace Novell Filr Stručný úvod

Navigace na webových stránkách

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Podnikatelská informatika obor šitý na míru

Web 2.0, Search 2.0 jak se to rýmuje?

Web a očekávání budoucího

IDENTITY MANAGEMENT Bc. Tomáš PRŮCHA

Výzva k účasti v elektronické aukci pro Město Počátky Oprava fasády věže kostela Sv. Jana Křtitele v Počátkác

VAR-NET INTEGRAL Manuál správce VNI 5.1 VAR-NET INTEGRAL. verze 0.2. Manuál správce VNI 5.1

Outlook David Procházka. Vydala Grada Publishing, a.s. U Průhonu 22, Praha 7 jako svou publikaci

Metodická příručka pro učitele. InspIS SET modul školní testování

1. Přihlášení do elektronické žákovské knížky: Na webových stránkách školy klikněte na odkaz v levém panelu Elektronická ŽK

1 Obsah. Obsah Scénář č. 3 nalezení kalendáře akcí... 13

O nás. To vše a mnohem více Vám je schopna nabídnout již základní verze publikačního systému bravaweb.

Sociální sítě v prostředí univerzitní knihovny

Dovolujeme si Vás pozvat k účasti ve výběrovém řízení, které se uskuteční formou on-line elektronické nákupní aukce dne v 09:00.

OBSAH. Předmluva 13 Poděkování Přehled dnešního vývoje webů Design pro minulost, přítomnost i budoucnost 33

Integrované vyhledávání v informačních zdrojích Národní lékařské knihovny - výzva 21. století

POLOPROVOZ ZNALOSTNÍ DATABÁZE INTERPI DOKUMENTACE

Redakční systém pro skautské weby Poptávka

Dovolujeme si Vás pozvat k účasti ve výběrovém řízení, které se uskuteční formou on-line elektronické nákupní aukce dne v 09:00.

ROZVOJ ICT A PDA ZAŘÍZENÍ THE DEVELOPMENT OF ICT AND PDA DEVICES Jiří Vaněk

Inovace výuky prostřednictvím šablon pro SŠ

Google Apps. dokumenty 5. verze 2012

Manuál k užívání aplikace Monitoringrejstriku.cz

Manuál pro administrátory. Manuál. Verze pro administrátory

Analýza a návrh webového rozhraní pro uživatele služeb typu Document delivery jako součást Analýzy implementace DDS do AKS NPKK

Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl

TECHNICKÉ POŽADAVKY PORTÁLU

Budování zpětných odkazů

IT Fitness 2015 získané výsledky testování

Příspěvek do sborníku. Kamrádková, Kateřina Pospíšilíková, Věra

Rozdílová dokumentace k ovládání IS KARAT.net

Karta mého srdce - portál pojištěnců Zaměstnanecké pojišťovny Škoda

Manuál pro používání Google Apps

SUTOL Symposium 2014

WWW stránky pro obce a města

VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL

GIS a nemapové služby

Právní novinky. Právní novinky. březen Deloitte Česká republika. Jaké změny nás čekají v právní úpravě pro oblast kybernetické bezpečnosti

1.1. Používání Předplatitelé nesmí bez předchozí dohody s One.com umísťovat na server velké objemy dat k volnému stahování nebo čtení.

Výzva k účasti v on-line výběrovém řízení pro United Energy a.s. Materiál pro výměnu separátorů a jízkových plechů kotle K7

Příloha č. 18. Specifikace bloku PŘÍPRAVA. Příloha k zadávací dokumentaci veřejné zakázky Integrační nástroje, vstupní a výstupní subsystém

Úvod do tvorby internetových aplikací

Moderní techniky vývoje webových aplikací

Metodika využití národního rámce kvality při inspekční činnosti ve školách a školských zařízeních

Testování mobilního telefonu Apple iphone 4

Mgr. Vlastislav Kučera přednáška č. 1

Modul ročních zpráv o výsledcích finančních kontrol

M I S Y S - W E B. Intranet řešení systému MISYS. Verze Příručka uživatele

Informace o činnosti úseku Nových médií pro Radu České televize

Odstíny a nuance Open Access

ZÁVAZNÉ POKYNY PRO VYPRACOVÁNÍ BAKALÁŘSKÉ, DIPLOMOVÉ A DISERTAČNÍ PRÁCE

Závěrečná zpráva. Účast: 77 posluchačů (bez zástupců partnerských firem) Vyhodnocení dotazníků:

Zásady ochrany osobních údajů

Závěrečná zpráva o výsledcích řešení projektu v rámci rozvojových program MŠMT na rok 2006

INTERNET. Vypracoval: Mgr. Marek Nývlt

Základní informace o šetření

Transkript:

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE FAKULTA INFORMATIKY A STATISTIKY Využití principů Webu 2.0 pro web knihovny DIPLOMOVÁ PRÁCE Milan Janíček Obor: Znalostní technologie, KIZI FIS VŠE. Praha 2009

Prohlášení Prohlašuji, že tato diplomová práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Vedoucí práce: Ing. Vilém Sklenák, CSc. ii

Poděkování Děkuji Ing. Vilému Sklenákovi, CSc. za poskytnuté cenné rady a připomínky a své rodině za morální podporu a trpělivost. iii

Shrnutí V práci byl popsán fenomén zvaný Web 2.0, jeho vznik i následná kritika. Změny, které přinesl byly naznačeny na základě popisu jeho aplikací a používaných technologií. Byl představen koncept Library 2.0 a zhodnoceny jeho nedostatky, z nichž nejzásadnějším je, oproti Webu 2.0, menší množství potencionálních uživatelů. Dále byl popsán současný stav využití technologií Webu 2.0 v knihovnách a jejich katalozích. Byla zdůrazněna příležitost využít dat knihovny a posouzeny možnosti jejich získání. Bylo vytvořeno odlehčené jednotné rozhraní a předvedeno jeho praktické využití. iv

Klíčová slova Web 2.0, Library 2.0, API, Ruby on Rails, Ajax, SFX, Aleph, X-Server, Národní technická knihovna v

Obsah 1 Úvod............................................. 1 2 Web 2.0............................................ 3 2.1 Co rozumíme pod pojmem Web 2.0......................... 3 2.1.1 Web jako platforma.............................. 4 2.1.2 Využití kolektivních znalostí........................ 5 2.1.3 Data jsou dalším Intel Inside....................... 5 2.1.4 Konec cyklu vydávání softwaru...................... 6 2.1.5 Odlehčený model programování...................... 6 2.1.6 Software nad rámec jediného zařízení................... 7 2.1.7 Obohacení uživatelského zážitku...................... 7 2.1.8 Definice 2.0.................................. 8 2.2 Kritika pojmu Web 2.0................................ 8 2.2.1 Tim Berners-Lee................................ 8 2.2.2 John C. Dvorak................................ 8 2.2.3 Reálný jev, nebo marketingová bublina?.................. 9 2.3 Aplikace Webu 2.0.................................. 9 2.3.1 Wiki...................................... 9 2.3.2 Blog...................................... 10 2.3.3 RSS a Atom.................................. 11 2.3.4 Tagování.................................... 11 2.3.5 Sociální sítě.................................. 12 2.3.6 Kooperace uživatelů............................. 13 2.4 Technologie Webu 2.0................................. 13 2.4.1 Nové technologie?.............................. 13 2.4.2 Ajax...................................... 14 2.4.2.1 Aplikace využívající Ajax..................... 15 2.4.2.2 Technologie, na nichž je Ajax založen.............. 15 2.4.3 Webová rozhraní API........................... 18 2.4.3.1 SOAP................................ 19 2.4.3.2 REST................................. 20 2.4.3.3 Srovnání SOAP a REST...................... 21 2.4.3.4 Zásady používání API....................... 21 2.4.4 Shrnutí Ajax a rozhraní.......................... 22 3 Library 2.0.......................................... 23 3.1 Proč vznikl pojem Library 2.0............................ 23 3.2 Definice Library 2.0.................................. 23 3.2.1 Casey & Savastinuk............................. 23 3.2.2 Chad & Miller................................. 24 3.2.3 Walter Crawford Library 2.0 a Library 2.0.............. 25 3.3 Problémy konceptu Library 2.0........................... 26 vi

3.4 Web 2.0 v knihovnách................................ 27 3.4.1 OPAC..................................... 28 4 Data knihovny a rozhraní pro přístup k nim...................... 31 4.1 Potřeba rozhraní pro přístup k datům....................... 31 4.2 Zdroje dat....................................... 31 4.2.1 Aleph...................................... 31 4.2.2 SFX....................................... 32 4.2.3 Obálky knih.................................. 34 4.2.3.1 Obálky v NTK........................... 34 4.2.3.2 Obalkyknih.cz........................... 35 4.3 Rozhraní pro přístup k datům............................ 35 4.3.1 Aleph X-Server................................ 35 4.3.2 SFX XML.................................... 36 4.3.3 Obálky..................................... 38 5 Vytvořené rozhraní..................................... 40 5.1 Implementace..................................... 40 5.2 Serverová část..................................... 40 5.2.1 Formát zobrazování dat........................... 41 5.2.2 Použité modely................................ 42 5.2.2.1 Model AlephX........................... 42 5.2.2.2 Model AlephX_circ....................... 43 5.2.2.3 Model SFXX............................ 43 5.2.2.4 Model Image............................ 43 5.2.2.5 Model Feed_reader....................... 44 5.2.3 Řadiče a pohledy............................... 44 5.3 Klientská část..................................... 45 5.3.1 HTML struktura............................... 45 5.3.2 Typy použitých funkcí............................ 46 5.4 Příklady využití.................................... 46 6 Závěr............................................. 48 Literatura............................................. 50 Rejstřík.............................................. 51 A Obsah přiloženého CD.................................. 52 vii

Kapitola 1 Úvod O fenoménu zvaném Web 2.0 se hovoří ř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ě prázdný marketingový termín. At už se náš náhled na tuto problematiku přibližuje prvnímu, nebo druhému názoru, nemůžeme popřít, že svět webu, a s ním i svět počítačů prochází velkými změnami. Webové aplikace nabývají na významu. Zatímco ve světě PC vládl Microsoft, ve světě Webu 2.0 vyrostl nový gigant Google. Připojení k Internetu je pořád dostupnější a rychlejší, je možné jeho služeb využívat i z přenosných zařízení, jako jsou mobilní telefony a PDA. Svět se internetizuje : nejvýznamnější encyklopedií už není Britannica, ale Wikipedia, komunikace probíhá stále častěji prostřednictvím sociálních sítí; k vyhledávání informací se používá zejména Google.com; zábava se posouvá směrem k interaktivitě. Mění se očekávání uživatelů. Na významu nabývají data. Vývoj softwaru přechází k architektuře 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řes Internet. Nejvýznamnější hráč na tomto poli, Google, dokonce plánuje uvedení operačního systému určeného především pro použití s webovými službami. O změnách ve světě webu (či Webu 2.0) není pochyb, at už je označíme jakkoli. Jeho rozvoj má ovšem dopad i na další odvětví ta si po vzoru Webu 2.0 vytvářejí své vlastní 2.0 definice. Jedním z takových odvětví je i knihovnictví. V jeho případě komplikuje situaci i to, že Google mění pohled na jeho hlavní náplň činnosti, tedy vyhledávání informací. Se změnami uvažování i požadavky uživatelů a vývojem webu se snaží knihovny vypořádat prostřednictvím Library 2.0. Oproti Webu 2.0 jde o definici ještě nejasnější zatímco se Tim O Reilly, popularizátor termínu Web 2.0, snažil popsat nové jevy, které už se objevily, autoři konceptu Library 2.0 spíše navrhují cestu, jíž by se mělo odvětví ubírat. O tom, že by se knihovny měly snažit držet krok s dobou není pochyb. Většinou se tak děje adaptováním aplikací světa Webu 2.0 pro svět 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ětší pozornost i data, která knihovna vytváří. Jde o data související s organizováním fondu, tedy s činností jež je knihovnám vlastní. Prezentace fondů by se mohla stát jádrem přítomnosti knihoven na webu a to at už jde o fondy fyzické či elektronické jde koneckonců o základ každé knihovny. Web 2.0 ovšem přináší na služby nové nároky, jímž se knihovny jen těžko přizpůsobují. Jen výjimečně mají k dispozici dostatečné technické zázemí; přestože přes knihovny často procházejí poměrně velké finanční částky, jsou určeny především pro jiné činnosti, než je jeho rozvoj. 1

1. ÚVOD Při své práci ve Státní technické (nyní Národní technické) knihovně 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ě přizpůsobují novým podmínkám. Pomalý vývojový cyklus způsobuje, že ne zcela stačí tempu doby. Knihovny působí oproti normálnímu Internetu zkostnatěle. Cílem této práce je navržení systému, který by alespoň částečně umožnil vyplnit mezeru mezi moderním webem a webem knihoven. Prostředky budou technologie Webu 2.0, které poslouží k vytvoření odlehčeného, snadno použitelného rozhraní k důležitým datům knihovny a to především u systémů, kde takové rozhraní doposud neexistuje, nebo je příliš těžkopádné. Výhody vytvořené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řelomu století odrazil ve velkém boomu firem, postavených na moderních technologiích. Nadšení investorů ovšem překonalo 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řetelný i dnes rozvoj technologií může přinášet velké množství uživatelů, nicméně se nesmí zapomínat ani na realistický obchodní model. Konec řady dot-comových firem nicméně neznamenal konec Internetu, dokonce ani to, že by investoři ztratili o toto nové odvětví zájem. V roce 2004 pořádala firma O Reilly Media konferenci nazvanou Web 2.0 1. V době konání konference termín Web 2.0 víceméně znamenal web jako platforma [2]. Firmy, které přežily splasknutí Internetové bubliny měly společné některé znaky a právě na ně se chtěli organizátoři konference zaměřit. Jejich cílem bylo oživit sebevědomí odvětví poškozeného předchozím vývojem [3] a dát mu nový impulz. To se jim podařilo. Po konferenci se nový termín uchytil [1], nicméně nebylo zřejmé co by vlastně tato nová etapa vývoje webu měla znamenat. Tim O Reilly proto v roce 2005 formuloval ve svém článku What is Web 2.0 7 bodů 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čený model programování 6. software nad rámec jediného zařízení 7. obohacení uživatelského zážitku 1. Samotný termín vznikl, když organizátoři hledali název a vlastně i zaměř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řena v průběhu konference Web 2.0 a vizualizuje důležité prvky nového fenoménu. Obrázek je převzat z [1] Nejde o tvrdou definici spíše o zdůraznění principů, jejichž uplatňování v praxi je umožněno rozvojem informačních technologií. Tim O Reilly na konci svého článku doporučuje firmám, které chtějí 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 může převážit význam malých kroků směrem k Webu 2.0 ve všech 7 krocích. Těchto 7 kroků bude přiblíženo v následující části. 2.1.1 Web jako platforma Web jako platforma znamená přesun od aplikací instalovaných na uživatelův počítač, k aplikacím které jsou spíše služby. Například Netscape vyráběl webový prohlížeč, snažil se ovládnout standardy a vybudovat prostředí 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ředil se pouze na poskytování služeb, za které si nechal zaplatit. Když Google ovládl trh se službami, odsoudil prohlížečům mnohem menší roli, než jakou hrály v předchozích letech. Vývoj softwaru ve firmách jako je Google také opustil dříve běžné postupy vydávání nových verzí a zaměřuje se na neustálý vývoj za současného poskytování služeb tak kvalitních, jak je to v daný okamžik možné. Jejich výhodou je také často schopnost dosáhnout k uživatelům, kteří by jinak byli jinými službami opomíjeni. Jde o takzvaný long tail. Firmy spojené s fenoménem Webu 2.0 jsou často schopné prodávat i produkty o které je malý zájem. Takových produktů je ale velmi velké množství a v součtu je to velká oblast trhu. Pokud se firmám podaří omezit náklady na prodej na jeden takový produkt, mohou na této části trhu velmi dobře profitovat. Typickým příkladem je elektronický obchod Amazon.com, který i díky dobré práci s daty (používá doporučovací 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živatelů a využít je novým způsobem. Nejlepším a zřejmě i nejznámějším příkladem efektu který může takový přístup přinést je kolektivně vytvářená encyklopedie Wikipedia. Podobným způsobem sdílení znalostí jsou i blogy, umožňující široké mase uživatelů vstupovat do veřejného prostoru novým způsobem. Informace ovšem nemusí být sdíleny pří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í důležitosti webových stránek PageRank firmy Google jeden z nejdůležitějších stavebních prvků jejich vyhledávače. Podobný efekt tedy efekt zpracování rozsáhlých, původně nesouvisejících dat využívá i Amazon ve svém systému doporučování podobných produktů. Technologie spojené s Webem 2.0 tak přinášejí možnosti nejen snadno sdílet znalosti v klasické podobě, ale také vytváření nových na základě chování široké masy uživatelů. Také popisování dat pro jejich snazší vyhledání a rozdělení doznalo s příchodem Webu 2.0 změn. Jde zejména o používání tzv. folksonomií popisu pomocí volně zvolených slov [1] nazývaných tagy. Vzniklých efektů dobře využívají pro organizování obsahu například stránky pro správu záložek Delicious 2, 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ěnám ve využití informačních technologií získávají na důležitosti samotná data. Webové aplikace jsou obvykle založeny na rozsáhlých databázích, jejich správě a zpracování. Podle O Reillyho budou v budoucnu právě tato data jedním z nejpodstatnějších faktorů v konkurenčním boji mezi firmami očekává dokonce vznik hnutí za svobodná data, analogického k hnutí za svobodný software. 2. Služba se původně jmenovala del.icio.us, ale přejmenovala 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é éře je kladen větší důraz na funkčnost, kterou software poskytuje, než na něj samotný. Ze softwaru se stává pouze prostředník rozvoj Internetu umožňuje dodávat pří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žadavků, vývoj, testování a nasazení finálního produktu. Webové aplikace je snazší průběžně inovovat a distribuovat. Funkcionalita je pro koncového zákazníka přístupná neustále, k novým funkcím se navíc dostává průběžně a velice rychle bez toho aby musel čekat na čas vydání konečné nové verze, která by jich přinesla více naráz. Ztrácí se význam data vydání softwaru, je možné reagovat na nové požadavky a potřeby. S tímto efektem souvisí termín věčná betaverze 3, velice populární v původní vlně Webu 2.0. Uživatelé pracující s online aplikacemi také poskytují mnohem lépe zpětnou vazbu, at už v podobě přímých komentářů a požadavků, nebo nepřímo prostřednictvím statistik o užívání, které může autor softwaru sbírat a analyzovat. Konec cyklu vydávání softwaru usnadňuje opravování chyb a nedostatků drobné chyby mohou být opraveny velice rychle, aniž by si to uživatel, používající software jako službu, uvědomil. 2.1.5 Odlehčený model programování Ve světě Webu 2.0 často vítězí snazší řešení nad složitými standardy. Příkladem je prosazení RSS 4, jednoho z jeho nejdůležitějších stavebních kamenů. Podobnou výhodu přináší i poskytování snadno implementovatelných rozhraní pro vlastní produkty. Jednoduché standardy jsou snadněji implementovatelné a využitelné dalšími vývojáři v jejich produktech. To nakonec přináší výhodu firmě, která rozhraní nabízí, protože její služba je více využívána a vzniká tak téměř nový de facto standard. Jako pří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ěží 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 zdrojů nabídnout. Spojení systému prostřednictvím rozhraní jsou budována také poměrně novým způsobem. Google jako poskytovatel obsahu a rozhraní neví kdo přesně a k čemu je bude používat. Vztah mezi nimi je definován na základě jednoduché licence a využití rozhraní je tak pro další vývojáře velmi jednoduché. Používání odlehčeného modelu programování také umožňuje snadnou změnu dat do formy, kterou požaduje vývojář finální aplikace. Pokud tvůrce rozhraní poskytuje data ve 3. Betaverze je první verze programu, která je zpřístupněna širšímu okruhu uživatelů měla by už být v podstatě funkční, nicméně mohou nastat problémy se stabilitou či některými funkcemi; cílem vydávaní betaverzí je nalezení a odladění posledních takových chyb před vydáním finálního produktu; webové aplikace firmy Google byly dlouho označovány jako betaverze, nicméně i ony nakonec toto označení ztratily [4]. 4. RSS Really Simple Syndication je standard vytvořený primárně 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žňuje je prezentovat v zcela novém kontextu je tak mnohem snazší vytvořit ze stávajících dat něco neočekávaného a originálního. Pro tento postup se používá termín mashup, volně přeložitelný jako míchanice. Jednoduchý nástroj pro jejich vytváření nabízí například firma Yahoo 5. 2.1.6 Software nad rámec jediného zařízení S rostoucími technickými možnostmi i vývojem mobilních technologií se důležitou částí webu stávají i jiná zařízení než osobní počítače. I tento posun se odráží ve fenoménu Webu 2.0. Kombinace více fyzických zařízení, která jsou obsluhována jinou částí stejné aplikace umožňují tato zařízení efektivněji a elegantněji využít. Typickým příkladem je aplikace itunes od firmy Apple. Multiplatformní přehrávač postupem č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ětů světa Internetu, i světa mobilních technologií. 2.1.7 Obohacení uživatelského zážitku V posledních letech se začíná odhalovat potenciál webu poskytovat více, než jenom textové informace. Významným zástupcem je například technologie Flash, nicméně nejdůležitější současnou platformou pro vytváření aplikací na webu se stal JavaScript. Skutečnou 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ření složitých aplikací. Tyto technologie začaly být souhrnně nazvány Ajax (Asynchronous JavaScript + XML). Došlo k posunu náhledu na internetový prohlížeč díky Ajaxu se na něj dá nahlížet jako na operační systém (tedy prostředí ke spouštění aplikací) [5]. Rychlost interpretace kódu v JavaScriptu se stává jedním z nových faktorů konkurenčního boje mezi prohlížeči je to například jeden z důvodů proč na trh vstoupila firma Google s vlastním prohlížečem Chrome [6]. Navíc později oznámila [7] vývoj nového operačního systému Chrome OS, prakticky závislého na webových aplikacích (a tedy i na připojení k Internetu). První stabilní verze by měla být vydána v druhé polovině roku 2010. Je nutné si uvědomit, že s tím, jak rostou možnosti a rozšíření webových aplikací, rostou také očekávání jejich uživatelů. Web 2.0 nejenže nabízí nové přístupy, ale zároveň zvyšuje nároky i na již dlouho provozované systémy. To co kdysi pohodlně stačilo, už požadavky nových uživatelů splňovat nemusí. Ke zlepšení pocitu z prohlížení webu ovšem není a priori nutné vytvářet rozsáhlé aplikace jako jsou Google Maps, či Facebook. Tento trend je ale potřeba zaznamenat a snažit se stávající služby zlepšovat, což č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 způsobem. 5. <http://pipes.yahoo.com/> 7

2.2. KRITIKA POJMU WEB 2.0 2.1.8 Definice 2.0 Tim O Reilly se ve svém článku [1] nesnažil Web 2.0 ani tak definovat, jako spíš popsat určitý vývojový trend. Stručnou definici se pokusil vytvořit o rok později ve svém blogu O Reilly Radar [8]: Web 2.0 je obchodní revoluce v počítačovém průmyslu způsobená přechodem k Internetu jako platformě a snahou pochopit pravidla úspěchu na této nové platformě. Nejdůležitějším z těchto pravidel je: Vytvářejte aplikace, které využívají sít ové efekty a stávají tím užitečnějšími, čím více lidí je používá. V tomto příspěvku O Reilly také přibližuje svou motivaci proč se zabývá Webem 2.0. Snaží se popsat pravidla chování v nové éře. Předchozí éru osobních počítačů podle něj ovládl Microsoft proto, že včas rozeznal její příchod a pochopil a aplikoval její pravidla. O Reilly tedy podle měl podle svých slov za cíl identifikovat a objasnit pravidla éry Webu 2.0 tak, aby odvětví nebylo zaskočeno. 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ěco, co ve skutečnosti neexistuje. K tomuto tématu se vyjádřil v rozhovoru se Scottem Laninghamem [9]. Na otázku, zda souhlasí s tím, že Web (1.0) zajišt oval spojení mezi počítači, zatímco Web 2.0 zajišt uje spojení mezi lidmi a nové způsoby komunikace, odpověděl: Zcela jistě ne. Web 1.0 byl o spojování lidí. Byl to interaktivní prostor, a myslím, že Web 2.0 je část žargonu, o které nikdo nikdy nevěděl co vlastně znamená. Pokud je Web 2.0 blogy a Wiki, potom jde o spojení lidí s lidmi. Nicméně to je právě to co jsme od Webu očeká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émů, které existují kompletně využívá sílu uživatelského zapojení, společné inteligence a sít ových efektů. Byl to Web 1.5, dot-com bublina, ve které se lidé pokusili udělat z webu něco jiného, co bojovalo s Internetem, a prohráli. 2.2.2 John C. Dvorak John C. Dvorak je známý sloupkař amerického počítačového časopisu PC Magazine. Ve svém sloupku [10] rovněž 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ři zaměňují evoluci za revoluci. Hlavním motorem změn na Internetu je podle něj snaha udělat si věci sám. Technologie, které to umožňují jsou k dispozici také nějakou dobu a byly tu již před vznikem termínu Web 2.0. 2.2.3 Reálný jev, nebo marketingová bublina? Kritika Webu 2.0 se vztahuje především k vymezení tohoto termínu, který je ze své podstaty poněkud vágní. K vývoji, který se snaží zachytit podle mého názoru ovšem nezpochybnitelně 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, či nebylo jedním z původních cílů Tima O Reillyho. Přílišné používání termínu pro reklamu, takovým způsobem, ze kterého není vůbec zřejmé co znamená může mnoho lidí odradit. Někdy se projevuje přesycení všemi 2.0 termíny, ovšem jevy, které Web 2.0 popisuje na vágnosti nebo přesnosti jeho vymezení nezávisí. 2.3 Aplikace Webu 2.0 Pojem Web 2.0 byl de facto odvozen od jevů, které se začaly objevovat na Internetu s jeho postupným technologickým rozvojem. Důležitou čá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ě trendy, zavedené do světa Internetu Wiki systémy, blogy, RSS kanály a dalšími zapříčinily vznik jasněji definovaného (a marketingově využívanému) fenoménu Webu 2.0. 2.3.1 Wiki Wiki 6 je webová stránka umožňující sdílení a upravování obsahu. Nejznámějším příkladem tohoto systému je zcela určitě Wikipedia všeobecná encyklopedie existující v celé řadě jazyků. Přes počáteční nedůvěru, způsobenou principem přispívání, kdy může článek upravovat kdokoli, si získala velkou důvěru a v současnosti je jedním z nejlepších univerzálních informačních zdrojů na Internetu 7. Wikipedia je nejznámější ukázkou využívání kolektivních znalostí. Wikipedia funguje na Open Source 8 softwaru MediaWiki. Existují i další, byt o něco méně známé projekty využívající stejný software. Jenom charitativní společnost Wikimedia 6. Slovo wiki pochází z havajštiny a znamená rychlý. 7. Samozřejmě je nutné počítat s možností, že některá hesla jsou zmanipulována, ale významnější hesla jsou pod větší kontrolou přispěvatelů; chybám se nevyhnou ani klasické papírové encyklopedie určitý stupeň skepticismu je koneckonců zdravý u každého zdroje. 8. Software s otevřený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 řadu kromě zmiňované Wikipedie jsou to například ještě slovník Wikitionary, archiv citátů Wikiquote, kolekce volných knih Wikibooks, repositář volného obsahu Wikimedia Commons a další. K dispozici jsou i desítky dalších obdobných softwarových řešení uzpůsobených jiným účelům, jako je třeba DokuWiki určená pro udržování dokumentace v malých firmách, nebo PmWiki pro tvorbu a správu webových stránek. Vzhledem ke způsobu práce s Wiki systémy nabízejí většinou funkce jako: řízení přístupu uživatelů (autentizovaný/neautentizovaný zápis) správa a porovnání verzí formátování obsahu stránek pomocí HTML, nebo vlastních značek nahrávaní obrázků a multimédií 2.3.2 Blog Relativně příbuzné s Wiki systémy jsou blogy 10. Nabídly nový publikační model, kdy může každý uživatel publikovat cokoli a kdykoli. Formát příspěvků do blogu může být velice různorodý od odkazů, přes krátké články až po video soubory. Příspěvky je často možné komentovat, takže může vzniknout diskuze, která má sama o sobě další přínos jak pro autora tak pro čtenáře blogu. Podobně jako Wiki by se blogy daly považovat za využívání kolektivních znalostí, i když v jejich případě jde o trošku jiný způsob. Zatímco Wiki je založena na postupném kolaborativním vylepšování obsahu, blogy umožňují autorům snadno publikovat svoje myšlenky, názory a postřehy. Kolem blogu se může vytvořit komunita čtenářů se zájmem o stejné téma, či obdobnými názory a vzniká tak sociální interakce neomezená fyzickým prostorem. Prosadit se mohou i blogy zaměřené na specifické úzké téma, protože počet potenciálních čtenářů je velice velký. Postupem času vznikly rozmanité typy blogů. Mikroblogy jsou velice krátké a více než článkům se blíží SMS zprávám známým z mobilních telefonů. Jejich význam roste s množstvím uživatelů připojených na Internet prostřednictvím mobilních zařízení, pro něž je tento formát optimální. Prosazují se i multimediální formy blogů jako jsou audio a video blogy. K blogům mají blízko podcasty audio záznamy poskytované prostřednictvím Internetu. Může jít jak o alternativní distribuční kanál pro klasická rádia, tak o relace, které vznikají přímo za tímto účelem a jiným způsobem nejsou dostupné. Výhodou je, podobně jak bylo zmíněno u klasických blogů, potenciálně velmi široká posluchačská základna i pro specializovaná témata. Video blogy jsou z doposud zmiňovaných typů technicky nejnáročnější, nicméně postupem času bude zřejmě jejich popularita narůstat. V principu se podobají podcastům. V 9. <http://www.wikimediafoundation.org> 10. Termín blog vznikl zkrácením slova weblog v češtině webový zápisník. 10

2.3. APLIKACE WEBU 2.0 poslední době roste obliba jejich využití například k politické propagaci při své kampani ho využíval například tehdejší kandidát na amerického prezidenta Barack Obama, svůj videoblog má i ruský prezident Dmitrij Medveděv. 2.3.3 RSS a Atom Technologií velice těsně svázanou s blogy je technologie RSS (Really Simple Syndication, někdy 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 může být uživatel informován o nových článcích, případně příspěvcích v blogu, aniž by musel stránky navštěvovat a prohledávat. Soubor obsahuje typicky URL adresu článku, jeho název a shrnutí obsahu. RSS soubor je průběžně vytvářen na serveru a umístěn na konkrétní URL adrese. Odtud si ho mohou stáhnout čtečky, at už jsou samy součástí nějaké stránky, samostatným programem, nebo součástí webového prohlížeče. Výhodou je možnost data dále zpracovat lišit se může způsob zobrazení, může se použít více zdrojů naráz apod. Tento formát najde optimální využití tam, kde se často mění obsah a zároveň záleží na aktuálnosti, nebo při sledování většího množství zdrojů (například blogů), kdy odpadá jejich zdlouhavé procházení. RSS je zmrazený formát, který se úmyslně dále nevyvíjí aby byla zachována kompatibilita s existujícími řešeními. Další specifikace jsou sice možné, ale pouze jako doladění stávajících vlastností, nikoli za účelem přidání nové funkcionality [11] Alternativou k RSS je formát Atom. Jeho specifikace má 2 části: syndikační formát a publikační protokol 11. Rozdílů mezi syndikační částí Atomu a RSS je několik: lépe specifikovaný obsah je jasně definováno o jaký typ obsahu se jedná lepší práce s datem změny používá se časové razítko podle normy ISO 8601 jazyková podpora je možné identifikovat jazyk u jednotlivých položek (RSS to umožňuje pouze na úrovni celého souboru) modularita v Atomu je možné lépe použít elementy z jiných jmenných prostorů Atom je oproti RSS pokročilejší, nicméně se nadále používají oba formáty. 2.3.4 Tagování Tagování (česky někdy označované jako štítkování) je typem klasifikace obsahu. Tuto klasifikaci provádějí uživatelé tak, že zvolí libovolné slovo a přiřadí ho obsahu (článku, skladbě, obrázku apod.). To se v zásadě podobá přiřazování klíčových slov dokumentům v knihovnám. Nejdůležitější (tzn. nejčastěji používané) tagy se někdy zobrazují v takzvaném oblaku tagů (orig. tag cloud), což je způsob vizualizace, kde se častěji použitá slova zobrazují větším písmem než slova použitá méně často. 11. Tento protokol je klasickým pří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řit metadatový popis automaticky, tedy například u obrázků, videí, či hudby. Pro některé služby je proto optimální vyžadovat už při ukládání obsahu přidání alespoň několika tagů, protože jinak by mohl být velmi těžko vyhledatelný. Tagování má proto velký význam například pro systém na sdílení obrázků Flickr, kde lze díky němu zobrazit podobné obrázky, nebo rádio Last.fm, které umožňuje přehrávat hudbu právě podle přiřazených tagů. Systémy pro sdílení záložek jako je Delicious využívají tagování pro jednoduchý, nicméně na uživatelské činnosti založený, popis webových stránek (respektive odkazů na ně). Obrázek 2.2: Oblak tagů. Na ukázce části oblaku tagů ze stránek LibraryThing můžeme vidět alternativní možnost popisu fondu pomocí jedné z technologií Webu 2.0 2.3.5 Sociální sítě Ze všech služeb těžících z efektů popisovaných jako Web 2.0 zažívají v poslední době největší web sociální sítě. Jde o využití webu jako platformy pro komunikaci mezi lidmi kteří se znají i v reálném životě, nebo mají nějaké společné zájmy. Ke komunikaci se využívají jak online (kdy jsou obě strany současně připojené k Internetu), tak offline (kdy je připojena jen 12

2.4. TECHNOLOGIE WEBU 2.0 jedna strana) komunikační kanály. Existuje široké spektrum typů sociálních sítí od profesionálních (např. LinkedIn), po sítě určené především pro zábavu jako je Facebook. Facebook funguje na podobném principu jako RSS čtečky uživatel si vybírá jaký obsah ho zajímá. Nemusí jít už pouze o přátele, svoji stránku může mít třeba i libovolná instituce, sportovní tým, nebo třeba televizní pořad. Nový obsah ze zvolených zdrojů se mu potom průběžně zobrazuje na hlavní stránce. Důležitou výhodou Facebooku je i možnost využívat v jeho prostředí různé webové aplikace, čímž vzniká svým způsobem samostatné virtuální prostředí, které je ovšem zároveň úzce spjato s reálným životem. 2.3.6 Kooperace uživatelů Existuje i řada dalších principů, které se začaly objevovat až s Web 2.0 službami, respektive masovějším rozšířením Internetu. Například hodnocení umožňuje lépe rozlišit kvalitu, at už jde o zboží v internetovém obchodě Amazon.com, nebo uživatele dražící na portálu ebay.com. Data jsou velice důležitá, ta získaná jako zpětná vazba od uživatelů přinášejí hodnotu navíc, kterou není možné získat jinak. Aktivní účast uživatelů ovšem není samozřejmostí, což může odsoudit projekt k neúspěchu. Je velice těžké vstupovat na obsazený trh a vlastně nutit uživatele aby hodnotili obsah vícekrát v rámci různých problémů. V takovém případě mají šanci na úspěch například projekty lokalizační, vzniká ale nový problém s dostatečnou velikostí uživatelské základny v daném jazyce 12. Získání kritické masy uživatelů, tzn. takového množství, kdy systém začíná získávat novou přidanou hodnotu tím že je dostatečně využívaný, je možná tím nejdůležitějším okamžikem. Na dostatečně velkou uživatelskou základnu se nabalují další a další uživatelé a pro stávající je obtížnější službu opustit a přejít k jiné, i kdyby jim přinášela větší možnosti. Sebelepší řešení nebude úspěšné bez aktivních uživatelů a vyvstává otázka jestli existuje dostatečná cílová skupina, pro níž je služba určena. 2.4 Technologie Webu 2.0 2.4.1 Nové technologie? Web 2.0 bývá označován za prázdný termín také proto, že je postaven na aplikacích a standardech, které byly k dispozici už v předchozích obdobích vývoje webu. Řada aplikací Webu 2.0 by mohla vystačit s použitím dynamických webových stránek. Ty bývají kódovány v některém ze starších jazyků jako jsou PHP, ASP, JSP, Perl, Python, nebo Ruby. Tyto jazyky umožňují vytvořit na serveru stránku na základě dotazu klienta (nebo nějakých jiných hodnot) a poslat mu ji zpět. Komunikace mezi webovým serverem a programem, který 12. Příkladem projektu, který má silnější obdobu v zahraničí je Česko-Slovenská filmová databáze <http: //www.csfd.cz>; ta uspěla i přesto, že existuje starší a větší Internet Movie Database <http://www.imdb. com>, patřící firmě Amazon.com. 13

2.4. TECHNOLOGIE WEBU 2.0 stránku vytváří probíhá většinou prostřednictvím rozhraní CGI 13 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řístup k němu zajišt uje právě program. S nástupem technik Ajax se začaly jazyky generující zejména HTML dokumenty na straně serveru používat také k tvorbě dalších formátů dat. Takové soubory jsou potom prostřednictvím Ajaxové vrstvy nahrány do prohlížeče, zpracovány JavaScriptem a vloženy do stránky. Prováděné operace jsou tedy podobné, ale k určitému posunu došlo: V prvním případě byla nahrána data z databáze, poté zpracována na straně serveru a odeslána v konečné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či, poté zpracována na straně klienta a zobrazena. Na serveru probíhá téměř identický proces (tudíž není zásadní důvod pro tvorbu nových technologií), pouze s tím rozdílem, že množství dat odesílaných Ajaxu bývají menší. Stejným způsobem je tedy možné generovat jak celé stránky, tak pouze jejich části. 2.4.2 Ajax Pravděpodobně nejdůležitější novou technikou je Ajax (Asynchronous JavaScript + XML), i když i v tomto případě platí, že technologie existovaly už před vznikem termínu Web 2.0. Název Ajax poprvé použil v roce 2005 Jesse James Garrett [12] pojmenoval tak způsob, jakým používají JavaScript služby jako Google Suggest a Google Maps. Ajax podle něj spojuje: prezentaci založenou na standardech, používající XHTML a CSS dynamické zobrazování výsledků a interakci používající Document Object Model výměnu dat a manipulaci s nimi využívající XML a XSLT asynchronní příjem dat používající XMLHttpRequest JavaScript, který spojí všechny výše uvedené části dohromady Ajax umožňuje změnit způsob, jakým se webové stránky nahrávají. Pomocí jazyka HTML (HyperText Markup Language), používaný už od počátků webu jsou zobrazovány stránky v celku. Způsob, 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řiblížit i na webu, přičemž jsou zachovány i výhody předchozího přístupu. Ajax umožňuje na základě uživatelova chování měnit stránku po částech na základě akce uživatele se aplikace dotáže serveru, jeho odpověd zpracuje a výsledek zobrazí, přičemž mění pouze malou část stránky a nenahrává 13. CGI Common Gateway Interface je protokol popisující, jakým způsobem server spustí externí program a předá mu příslušné argumenty. 14

2.4. TECHNOLOGIE WEBU 2.0 ji znovu celou, jak tomu bylo při použití předchozího přístupu. Změna není úplně revoluční, protože se pořá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říkladem mapové aplikace, na které je velmi dobře vidět jak se liší stránky využívající technik Ajax od stránek starších. Na mapách se můžeme pohybovat, respektive je přibližovat a oddalovat, aniž bychom museli čekat až se nahraje nová stránka. Části mapy a popisky se objevují průběžně, podle toho jak se nahrávají. Oproti tomu se nemění nejen statická část stránky, ale ani ovládací prvky mapy. Při různých úrovních přiblížení se zobrazuje různá úroveň detailů, režim mapy lze přepínat. Taková aplikace se vzhledem téměř neliší od aplikace desktopové, přičemž k jejímu používání stačí obyčejný prohlížeč se schopností pracovat JavaScriptem a dalšími potřebnými standardy. Firma Google byla schopna vyvinout celou řadu aplikací založených na technikách Ajax. Snaží se tím změnit pohled na software jako takový, protože oproti starším aplikacím může využít webových základů. Možnostem, jako jsou využití části ohromného množství dat (jako například mapy v Google Maps), přístup ke službám aplikace odkudkoli (v zásadě všechny takové aplikace), sdílení dat mezi uživateli (Google Docs, Google Calendar), nebo multiplatformnost (více záleží na prohlížeči, než na operačním systému) mohou těžko desktopové aplikace konkurovat. Na druhou stranu lze pochopit určitou nedůvěru, protože webové aplikace jsou závislé na připojení k serveru a nejsou pod takovou, byt někdy 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ěno, techniky Ajax jsou založeny na technologiích, které už byly známy před tím, než se Tim O Reilly pokusil popsat fenomén Web 2.0. Jejich vývoj šel většinou vlastní cestou už po nějakou dobu, ale v Ajaxu se skloubily v celek a umožnily tak vznik nových aplikací přibližujících se svými možnostmi aplikacím desktopovým. JavaScript je objektově orientovaný skriptovací jazyk, který byl vytvořen Brendanem Eichem z firmy Netscape pro webový prohlížeč Netscape Navigator. Zdrojový kód se zpracovává na straně klienta, v okamžiku spuštění. Zpracování JavaScriptu je tedy závislé na prohlížeči, nikoli na platformě na níž je provozován. V současné době vedou změny v podobě webu k novému souboji prohlížečů v rychlosti interpretování (zpracování) JavaScriptu a byl to i jeden z důvodů vstupu firmy Google na trh s prohlížeči. Svoji, z velké části kompatibilní, obdobu tohoto jazyka (JScript) vytvořil následně i Microsoft pro Internet Explorer. Od JavaScriptu byl odvozen standard ECMAScript 14, na němž 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čátků umožňoval provádění dynamických změn na stránce, bylo možné například lépe pracovat s aktivitou uživatele (reakce na stisknutí kláves, kontrola vstupu apod.). Na druhou stranu se na něj nedá plně spolehnout. Řada uživatelů může mít zpracování JavaScriptu vypnuté, používat zastaralé prohlížeče, nebo prohlížeče, které interpretují kód jiným způsobem, než jaký jeho autor očekával. Na zřetel by se také měla brát bezpečnost, protože nikdy není zcela bezpečné stahovat a spouštět neznámý kód. Vytváření rozsáhlejších aplikací bylo možné už dříve, ale využití těchto možností se rozšířilo až s příchodem Ajaxu, a tedy asynchronního zpracování. DOM (Document Object Model) vznikl jako způsob, jak přistupovat pomocí JavaScriptu k částem HTML stránky. U prvních verzí nebylo možné přistupovat ke všem elementům a navíc se lišila implementace v Netscape Navigatoru a Internet Exploreru. Později se přístup sjednotil a vzniklo W3C doporučení 15. Byl vytvořen model umožňující přístup ke všem částem XML (ale i HTML) dokumentu. XMLHttpRequest je další z W3C doporučení 16. Definuje rozhraní umožňující JavaScriptovým aplikacím zadávat dotazy pomocí HTTP. Tímto způsobem může aplikace posílat dotazy přímo webovému serveru a následně zpracovávat přijaté výsledky. To přináší ř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řenos, tzn. prohlížeč nečeká na data, ale pokračuje ve zpracování. Data se přenášejí průběžně na pozadí a zobrazí se jakmile jsou přenesena 17. Data jsou tedy na stránce zobrazována průběžně, ne nutně v pořadí v jakém o ně bylo požádáno. XML je množina pravidel popisujících způsob elektronického kódování dokumentů. Je odvozen od komplexního ISO standardu SGML (Standard Generalized Markup Language). XML klade na dokument striktnější omezení 18 a tudíž je možné jej zpracovávat jednodušeji. XML je specifikován doporučením W3C 19. O cílech designu XML se v něm uvádí mimo jiné: XML by mělo být snadno použitelné na Internetu XML by mělo podporovat rozmanité aplikace mělo by být snadné psát programy, které zpracovávají XML 15. <http://www.w3.org/dom/domtr> 16. <http://www.w3.org/tr/xmlhttprequest> 17. Při synchronním přenosu je tomu naopak: vyšle se požadavek, potom se čeká na odpověd v této chvíli není klient aktivní a jakmile se odpověd obdrží, pokračuje se ve zpracování. 18. <http://www.w3.org/tr/note-sgml-xml-971215> 19. <http://www.w3c.org/tr/rec-xml/> 16

2.4. TECHNOLOGIE WEBU 2.0 Obrázek 2.3: Zpracování dotazu. Horní část obrázku znázorňuje synchronní (po každém požadavku se čeká se na odpověd serveru) a dolní asynchronní (na odpověd serveru se nečeká, zpracuje se až když přijde) zpracování. Obrázek je převzat z [12]. XML by mělo být čitelné a přiměřeně srozumitelné pro lidi XML dokumenty by mělo být snadné vytvářet Výhodou XML je i možnost specifikovat vlastní jazyky těch v současné době existují už stovky 20. Formátování informací pomocí některého z jazyků odvozených od XML umožňuje relativně 21 snadnou výměnu informací mezi systémy. Komplexnější popis jazyka XML, jeho syntaxe a možnosti použití přesahuje rámec této práce. 20. Seznam (byt jistě neúplný) je k dispozici na <xml.coverpages.org/xmlapplications.html>. 21. Při přenosu jednoduchých informací může režie spojená s přenosem dat ve formátu XML výrazně přesahovat délku jich samých. 17

2.4. TECHNOLOGIE WEBU 2.0 XHTML (Extensible Hypertext Markup Language) je převedením HTML do syntaxe XML. Oproti jiným verzím HTML se liší zejména přísnějšími požadavky na formální stránku dokumentu. Například HTML verze 4.01 se od XHTML verze 1.0 liší pouze minimálně. Vytvoření validního 22 dokumentu v XHTML je náročnější, ovšem výsledný dokument pak umožňuje lepší provázání na další standardy (XSLT, DOM) a je i větší pravděpodobnost, že bude stejně zobrazen v různých webových prohlížečích. CSS (Cascading Style Sheets) je W3C doporučení 23, jazyk určený pro popis způsobu zobrazení stránek napsaných v jazycích HTML, či XML. CSS byl vytvořen, aby bylo možné oddělit prezentační část kódu stránky od jeho obsahu. XSL je skupina W3C doporučení 24 popisující stylový jazyk pro XML. Obsahuje 3 části XSTL, XSL-FO a XPath: XSLT (XSL Transformation) popisuje jazyk pro transformace mezi různými druhy XML dokumentů je proto důležitým prostředkem pro práci s daty ve formátu XML. Umožňuje také transformaci XML dokumentů do HTML, takže mohou být zobrazeny jako webová stránka. XSLT procesor 25 je součástí většiny webových prohlížečů (Internet Explorer, Mozilla Firefox, Opera, Safari, Google Chrome a další). XSL-FO (XSL Formatting Object) je jazyk popisující vizuální formátování dokumentů, většinou se používá pří generování PDF souborů. XPath je dotazovací jazyk umožňující práci s částmi XML dokumentu. XPath sám není XML jazykem. Využívá se (nejen) při převodu XML dokumentů pomocí XSLT. 2.4.3 Webová rozhraní API Webové stránky obsahují informace ve formě určené pro čtení lidskými uživateli. Ani když ze stránky odstraníme grafické formátování, nezískáme informace ve formě zpracovatelné strojově. Jedinou, relativně alespoň trošku přijatelnou, možností je zpracování informací na stránce pokud známe jejich pevnou šablonu. Pokud například u stránek elektronického obchodu víme na kterém místě kódu je zapsána cena prodávaného výrobku, můžeme ji ze stránek mechanickou cestou získat. Narazíme ale na problémy musíme znát přesně strukturu stránky, ta se nesmí změnit, nemůže se přesunout jinam. Řešení je nepřenositelné, pro různé 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ěl jenom několik bajtů. Zpracování dat z HTML stránek není nemožné, nebo nepoužívané (koneckonců tímto způsobem fungují indexující roboti), nicméně pokud provozovatel předpokládá zájem o strojově zpracovatelná data, může nabídnout lepší řešení. Je možné například data popsat 22. Validní znamená odpovídající standardu. 23. <http://www.w3.org/tr/css2/> 24. <http://www.w3.org/tr/rec-xml/> 25. Program umožňující provádění XSLT transformací. 18

2.4. TECHNOLOGIE WEBU 2.0 pomocí nějakého dalšího jasně definovaného jazyka, tzn. přidat k nim metadata (data o datech). To by objasnilo sémantický význam jednotlivých částí stránek, tedy umožnilo data lépe strojově zpracovávat, nicméně stránky by se pořád přenášely jako celek a tudíž bychom se zajímavým údajem dostali i mnoho zbytečného. Přístupy jako je Ajax by tedy vyžadovaly nikoli HTML stránky ve formě čitelné pro lidi 26, ale spíše jasně strukturovaná čistá data. S větším rozšířením webových aplikací tedy vznikla poptávka po rozhraních pro přístup k datům. API, Application Programming Interface, je rozhraní pro interakci mezi programy. Určuje, jakým způsobem může být program volán ostatními programy. API mají například operační systémy, aplikace či knihovny programů, nicméně v této práci budou popisována pouze rozhraní webová. Pro rozhraní webových aplikací hrají velice důležitou roli standardy. Pokud by se nedodržovaly, respektive vznikaly by jako v dřívějších dobách především firemní mutace, bylo by nesmírně obtížné a tudíž drahé vytvářet aplikace, které by byly schopny pracovat s webovými rozhraními. Dodržování standardů umožňuje snadněji využít jeden kód pro více aplikací a také spolehlivé zobrazení v různých prohlížečích. V současnosti převažují 2 pří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čený pro výměnu strukturovaných informací, popsaný v doporučení W3C 27. Patří do aplikační vrstvy rodiny protokolů TCP/IP a obvykle využívá dalších protokolů z této vrstvy (HTTP a RPC). Zprávy protokolu SOAP jsou naformátovány pomocí XML. Je přesně specifikováno jakou formu má mít dotaz klienta i odpověd serveru. Jde o takzvanou SOAP envelope (SOAP obálku). Obálka obsahuje nepovinnou hlavičku (header) a tělo zprávy (body). V hlavičce jsou zapsány informace o SOAP zprávě ty se liší v závislosti na použité aplikaci. V těle je potom obsažena samotná zpráva. Elementy v těle mohou patřit do nějakého jiného jmenného prostoru, pro vlastní syntaxi zprávy je tudíž možné použít různá schémata. Obecné schéma SOAP obálky: <soap:envelope> <soap:header>... </soap:header> <soap:body>... <soap:fault>... </soap:fault> 26. I když i s nimi by si zřejmě byly schopné v konkrétních případech lépe či méně poradit. 27. <http://www.w3.org/tr/soap/> 19

2.4. TECHNOLOGIE WEBU 2.0 </soap:body> </soap:envelope> Konkrétní příklad SOAP obálky odpovědi na dotaz: <?xml version="1.0"?> <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</m:price> </m:getpriceresponse> </soap:body> </soap:envelope> Jak je vidět, při práci s protokolem SOAP je nutné pracovat s relativně složitým XML a dodržovat předem stanovený základní formát zpráv a to jak při odesílání dotazu, tak zpracovávání odpovědi. I v případě, že chceme získat pouze jednoduchý údaj, musíme odeslat a přijmout poměrně velké množství dat. V případě komplexnějších údajů náročnost zpracování i množství přenášených dat dále narůstá. 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ční práci Roy Fielding, který se dříve podílel na tvorbě 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čují RESTful jejich příkladem může být například publikační standard Atom, který plně využívá právě zmiňovaných 4 metod protokolu HTTP. REST pohlíží na každou URL jako na zdroj (resource). API nám na základě dotazu vrátí nějakou reprezentaci (representation) tohoto zdroje. Reprezentace může být v libovolném MIME typu 28 formátu není tedy omezena na XML, jako je tomu u protokolu SOAP. Komunikace je bezstavová, odpověd tedy záleží čistě na právě zadaném dotazu, a je zcela nezávislá na libovolném předchozím. Příklad dotazu a odpovědi(http) 29 : REQUEST: GET /hotel/656bcee2-28d2-404b-891b/classification HTTP/1.1 28. MIME původně Multipurpose Internet Mail Extension, popisuje typ a subtyp obsahu. Původně byly tyto typy navrženy pro poštovní protokol SMTP, nicméně později se začaly používat i v dalších protokolech. 29. <http://www.infoq.com/articles/designing-restful-http-apps-roth> 20