Diplomamunka
Total Page:16
File Type:pdf, Size:1020Kb
DIPLOMAMUNKA LUKÁCS ATTILA DEBRECEN 2008 Debreceni Egyetem Informatikai Kar XML-alapú információmegosztás RSS és Atom formátumokkal Témavezet˝o: Készítette: Jeszenszky Péter Lukács Attila egyetemi adjunktus programtervez˝omatematikus hallgató Debrecen 2008 Kivonat Dolgozatom két formátumról, az RSS-r˝ol és az Atomról, valamint a hozzájuk kapcsolódó protokollokról szól. Látni fogjuk majd, hogy egyszer˝uségük ellenére milyen jól és mennyire hatékonyan használhatóak, amikor webes együttm˝ukö- désr˝ol, információmegosztásról van szó. Bemutatok néhány, weben alkalmazott API-t és módszert, végül az általam választott ROME keretrendszer segítségével általam készített egyszer˝u,Apache Tomcaten futó webes szolgáltatást ismerte- tem. Tartalomjegyzék Ábrák jegyzéke iii Köszönetnyilvánítás 1 1. Bevezetés 2 2. Együttm ˝uködés a web-en 5 2.1. Akezdetek................................. 5 2.2. Pushvs.pull................................ 6 2.3. Feedésaggregátor ............................ 7 2.4. Sokoldalúfeed............................... 8 2.4.1. Webesújdonságok ........................ 8 2.4.2. Speciálisfeedek. 10 3. Szindikációs formátumok 12 3.1. RSS ..................................... 12 3.1.1. RSS0.90 .............................. 12 3.1.2. RSS0.91 .............................. 14 3.1.3. RSS1.0............................... 16 3.1.4. RSS 0.92-0.94 . 18 3.1.5. RSS1.1............................... 18 3.1.6. RSS2.0............................... 18 3.2. Atom .................................... 19 3.2.1. Atom1.0.............................. 20 3.2.2. Példa egy Atom feedre . 23 3.3. Az RSS és az Atom összehasonlítása . 24 3.4. Konklúzió ................................. 25 i 4. Atom Publishing Protocol 27 4.1. REST .................................... 27 4.2. AzAPPleírása............................... 29 4.2.1. Protokoll-dokumentumok . 31 4.2.2. Az APP kiterjesztései a szindikációs formátumhoz . 32 4.2.3. Az APP kiterjesztései és megjegyzései a HTTP-hez . 32 4.3. Példák ................................... 34 4.4. GDataAPI ................................. 38 4.4.1. Authentikáció........................... 39 4.4.2. Szolgáltatások........................... 41 5. Atomizer: Atom-feed weboldalból 46 5.1. Motiváció ................................. 46 5.2. Felhasznált elemek és környezet . 46 5.2.1. ApacheTomcat .......................... 47 5.2.2. ROME ............................... 47 5.2.3. JDOM ............................... 48 5.2.4. JTidy ................................ 49 5.2.5. Fejleszt˝oi környezet: Eclipse . 49 5.3. Akonstrukció ............................... 49 5.4. Azeredmények .............................. 51 6. Összefoglalás 53 Irodalomjegyzék 54 ii Ábrák jegyzéke 2.1. A Netvibes feedolvasója a webböngész˝oben . 10 3.1. A szindikációs formátumok fejl˝odése . 20 5.1. Amarok:afeedértelmezve. 47 5.2. AVorbisaudiokodekzeneioldala . 48 5.3. A podcast nézete Mozilla Firefoxban . 50 5.4. Amarok: az els˝ofeedelem lejátszása . 52 iii Köszönetnyilvánítás Ezúton fejezem ki köszönetemet témavezet˝omnek, Jeszenszky Péternek, aki észrevételeivel és hasznos tanácsaival segítette munkámat. 1 1. fejezet Bevezetés Manapság nincs az a kezd˝ointernetez˝o, aki ne hallott volna webnaplókról, másnéven a blogokról: a blogírás hihetetlenül népszer˝utevékenység lett, hihetet- lenül rövid id˝oalatt. A blogok ma már nem csak a netez˝ok életét befolyásolják, ott vannak mindenhol, gyakran a legnagyobb híroldak, újságok, televíziók is egy blogról értesülnek valamilyen fontosabb történésr˝ol. Némelyik blog látogatott- sága olyan nagy, hogy írója pusztán a blog írásából (illetve az azon elhelyezett reklámokból) képes megélni. Ezek egyben formálják is olvasóik szemléletét, te- hát közvetetten, valamilyen formában az egész világot. Blogot pedig ma már nem csak az írhat, aki felületesebb vagy mélyebb informatikai ismeretekkel rendelke- zik, hanem szinte bárki, aki az internethez hozzáfér. Hosszú ideje nincs az az informatikus, aki nem látja be, milyen nagy hatást gyakorolt az XML megjelenése az informatikára. Az XML segítségével gyakor- latilag bármilyen információhalmazt le lehet írni strukturáltan. Az XML ember és gép által egyaránt egyszer˝uen olvasható, önmagát dokumentálja, támogatja a Unicode-ot, szabványos, platformfüggetlen, szigorú s ezért könnyen ellen˝oriz- het˝onyelvtana van, végül pedig teljesen elfogadott, licenszekt˝ol és jogdíjaktól mentesen használható. Az internetes szakemberek körében gyakran lehet hallani ezt a kifejezést: Web 2.0. Furcsának t˝unhet, hiszen úgy néz ki, mint egy szoftver verziószáma, holott szó sincs arról, hogy a Webnek (vagy inkább csak kisbet˝uvel: webnek) újabb vagy régebbi verziója lenne – ez egy felkapott megjelölése annak az újfajta szemléletnek, amelyben szinte az összes ma sikeres weboldal osztozik. Ennek a története az év- tized elejére nyúlik vissza: a nevezetes dotkom-buborék kidurranásakor renge- teg informatikai céget (f˝oleg kis cégeket, de jónéhány igen nagyot is), weboldalt rántott magával a semmibe. Volt azonban néhány, amely megmaradt, mert ki- 2 emelkedett népszer˝uségében, újfajta, izgalmas alkalmazásával. Ezek az oldak bi- zonyos hasonlóságot is mutattak, közös tulajdonságokkal rendelkeztek. A szak- ért˝ok egyetértettek abban, hogy ez fordulópontot jelent a web történetében. Pél- dákon keresztül megjelölték, melyek tartoznak az 1.0-hoz, melyek a 2.0-hoz, és hogy ezeket mi különbözteti meg. El˝oször is, ezek az oldalak bizonyos szolgáltatást nyújtanak felhasználóiknak. Minden esetben igaz, hogy minél többen használják a szolgáltatást, az annál jobb. (Ter- mészetesen, minél többen használják az oldalt, annál több hirdetés értékesíthet˝o rajta.) Ez úgy érhet˝oel, hogy maguk a felhasználók adják hozzá az értéket a szolgálta- táshoz azzal, hogy használják: adatokkal látják el. Az igazi „webkettes” szolgálta- tások a felhasználók közrem˝uködéséb˝ol származó hálózati hatásokat használják ki: blogok publikálás helyett részvétel, a felhasználók két irányban kommunikál- nak, kommenteket is írhatnak egy másik felhasználó naplóbejegyzéséhez Wikipédia radikális bizalom, az a képtelen ötlet, hogy bárki írhat bármir˝ol, an- nak reményében, hogy a „több szem többet lát” elven min˝oségi tartalom állhat el˝o(wisdom of crowds: a tömegek bölcsessége) BitTorrent radikális decentralizáltság, paradox módon annál gyorsabb a letöltés, minél többen töltenek le – mivel minden letölt˝ofél egyben feltölt˝ois1 Flickr, del.icio.us címkék használata, nem el˝ore meghatározott taxonómiák rá- kényszerítése a felhasználókra eBay, Amazon felhaszálói észrevételek egy-egy termékhez A Web 2.0-s alkalmazásoknak emelett gyakran közös jellemz˝ojük a felület fo- kozott felhasználói élménye (az AJAX technika segítségével), a felhasználók általi „bütykölhet˝oség” (hackability), az örök-béta állapot, az adatok szemcsézett elérhe- t˝osége, és számos más közös tulajdonság. Összefoglalva, a Web 2.0-s szolgáltatások azért lettek sikeresek, mert lehet˝ové tették felhasználóik számára, hogy saját adataikat kezeljék a rendszeren belül, egy- részt egy könnyen kezelhet˝ofelülettel az átlagos felhasználók számára, másrészt valamilyen egyszer˝uAPI-val az informatikusoknak, amely lehet˝ové tette, hogy a szolgáltatást ne csak egy meghatározott módon lehessen igénybe venni. Az RSS (és természetesen az Atom is) jó példa egy ilyen – igen egyszer˝u – API-ra. 1A BitTorrent valójában nem webes szolgáltatás, jellege miatt azonban mégis a Web 2.0-hoz sorolják 3 Az RSS- vagy Atom-feed ma már egyetlen komoly weboldalról sem hiányzik. És nem is csak egyféleképpen használhatók fel. Nagy részben ezeknek a formá- tumoknak köszönhet˝oa webkett˝o sikere. Dolgozatom tehát két formátumról, az RSS-r˝ol és az Atomról, valamint a hoz- zájuk kapcsolódó protokollokról szól. Látni fogjuk majd, hogy egyszer˝uségük el- lenére milyen jól és mennyire hatékonyan használhatóak, amikor webes együtt- m˝uködésr˝ol, információmegosztásról van szó (bizonyos kés˝obb részletezett ok- okból els˝osorban az Atomra koncentrál majd a dolgozat). Bemutatok néhány, weben alkalmazott API-t és módszert, végül az általam választott ROME keret- rendszer segítségével általam készített egyszer˝u,Apache Tomcaten futó webes szolgáltatást ismertetem. 4 2. fejezet Együttm ˝uködés a web-en Mit tehet az internetez˝o, ha kíváncsi, milyen újdonságok vannak kedvenc ol- dalain? Legáltalánosabban, végigjárja az ˝ot érdekl˝oweblapokat, újdonságok után kutatva. Ugyanígy, ha egy weboldal tulajdonosa saját oldalán akar megjelentetni a témához illeszked˝oweblapok híreit, cikkeit, folyamatosan az érdekesnek ítélt weblapokat kell böngésznie. Hamar felmerült az ötlet, mi lenne, ha az újdonsá- gok, friss tartalmak automatikusan érkeznének meg. 2.1. A kezdetek Az els˝opróbálkozások között említést érdemel a PointCast. A PointCast vál- lalat 1992 óta egy olyan szoftvert készített, amely friss híreket jelenített meg a felhasználó képerny˝ojén, mégpedig egy képerny˝okímél˝oben elhelyezve. A Po- intCast szerverei folyamatosan küldték a híreket és reklámokat; komoly média- figyelmet is kapott a termék, amikor 1996-ban elindult. Történetesen a Windows 98-ban is integráltan jelen volt. Újdonságnak számított ez akkortájt, de a népsze- r˝usége elég alacsony maradt, leginkább azért, mert a sávszélességigénye megha- ladta az akkoriban elérhet˝omodemes internet kapacitását, és a tartalomhoz ké- pest túl sok reklámot jelenített meg. A felhasználók nem is mindig találták hasz- nosnak az információkat. Egy másik jelent˝os fejlesztés Ramanathan V. Guha, indiai informatikus ne- véhez f˝uz˝odik: 1995 és 1997 között az Apple-nél kidolgozták