Artikulu honetan web aplikazioaren ezaugarri nagusiak aztertzen ahaleginduko gara, hasi bere jatorriarekin, aplikazioaren osagai desberdinak deskribatuz segitu eta bere egitekoak gauzatu nahi dituztenek erabili behar dituzten baliabideak (protokoloak eta lengoaiak) azalduz amaitzeko.
Historia pixka bat
1989an aurkeztu zen CERN izeneko zentroan ( Centre Europée pour la Recherche Nucleare ) informazioa lortzeko eta konpartitzeko aplikazio baten lehen proposamena. Esan daiteke, beraz, web oso betebehar zehatzak gauzatzeko sortu zela: Europako ikerketa-guneetan ikertzaileen arteko informazioa eskuratzeko erraztasunik handiena eskaintzea. Gero, askotan gertatzen den bezala, erabilpen zehatz horretarako baliatu zen irtenbidea beste arazo askoren konponbide egokia ere badela ikusi da.
Asmo hori aurkeztu eta 18 hilabetera lehen prototipoa egina zegoen eta 1993ko otsailean gaur egun jadanik zaharkiturik dagoen Mosaic nabigatzailea aurkeztu zuten, kasu honetan bai, EEBBetan egina, NCSAn, hain zuzen ere ( National Center for Supercomputing Applications erakundean). Lehen produktu honek ezarri zituen geroko arrakastaren oinarri sendoak bi ezaugarri nagusi zirela medio: batetik, interneten ohiturari segituz, dohan banatu zen interfazea eta, bestetik, erabiltzailearentzat izugarri erraza zen.
Edozeinek erabil zezakeen, informatikari aditua izan ala ez izan, horrekin sarearen gaineko misterio-laino hori ezabatuz. Mosaic-en arrakasta ikusirik, bere sortzaileak, Marc Andresseenek berehala utzi zuen NCSA eta bere enpresa propioa sortu zuen, Netscape izenekoa, weberako softwarea garatzea helburu duena. 1995. urtean Netscape burtsan agertu zen eta kotizazio-errekorrak hautsi zituen, nahiz eta epe laburrean etekinik ez zuela espero onartu. Askok uste zuten Netscape Microsoft berri bat izango zela, hau da, inperio bat sortuko zuen beste konpainia erraldoia. Hala ere, gaur egun Microsoft eta Netscape borroka latzean dabiltza, bakoitzak bere produktua inposatu nahiean. Oraingoz erabiltzailea da garailea; gero gerokoak.
1994. urtean weberekin erlazionatutako estandarrak sortzeko EEBBetako MIT-ek ( Massachussets Institute of Technologies erankundeak) eta Europako CERN-ek World Wide Web Consortium izeneko erakundea sortu zuten. Bere web orria http://www.w3.org helbidean duzue.
Bezeroak eta zerbitzariak
Beste edozein aplikazio banatu bezala, web ere bi zatitan banatzen da: zerbitzaria, hau da, makina batean bere kabuz egikaritzen dena, eta bezeroa, beste makina batean eta inoren aginduak jasotzerakoan egikaritzen dena. Azken honek izen desberdinak har ditzake aplikazioen arabera. Browser erabiltzen da ingelesez, navegador gaztelaniaz eta euskaraz arakatzailea edo nabigatzailea ditugu.
Sarean —beraz munduan— informazioa zabaldu nahi duenak zerbitzari bat behar du, hau da, ordenadore bat, web-zerbitzarirako programak (badaude, gainera, ordaindu behar direnak eta doan eskura daitezkeenak ere) eta interneterako konexioa hornitzaileren batekin. Hori guztia egiteko, ordea, normalean inberti daitekeena baino askoz diru gehiago jarri behar da. Beraz, askoz normalago izaten da azpiegitura hori duenari edo kudeatzen duenari bere zerbitzariaren zatitxo bat alokatzea. Era horretan, bakoitzak bere informazioa prestatzen du etxean, hots, ordenadore propioan, eta gero bere hornitzaileari bidaltzen dio honek argitara eman dezan. Prestakuntza hori gero azaletik aztertuko dugun HTML formatuan jartzean datza.
Informazioa jaso nahi duenak, bestalde, nabigatzailea behar du bere ordenadorean eta, noski, interneterako konexioa. Orain arte ez dugu esan, baina kontuan izan behar da zerbitzariaren eta nabigatzailearen ordenadorean, bietan, TCP/IP protokoloak behar direla.
Nabigatzailearen betebeharrak bi dira: batetik, sarean zehar dauden zerbitzariekin harremanetan jartzea, bertan dagoen informazioa bereganatzeko, eta, bestetik, erabiltzaileari sarean jasotako dokumentuak aurkeztea, bilaketan laguntzea eta zuzentzea. Web dokumentu bakoitzari “orri” esaten zaio. Orri guztiak ezin daitezke zuzenean ikus, testua baino zerbait gehiago izaten dutelako askotan: irudiak, soinua, bideoa edo hirurak batera, adibidez. Badira edozein motako informazioa islatzeko gauza diren nabigatzaileak, baina normalean beste aplikazio bat, kanpo begiratzaile ( external viewer ) edo aplikazio laguntzaile bati lan hori egin dezan eskatzen zaio.
Begiratzaile hori zure ordenadorean ez baduzu, ezingo duzu informazio hori bertaratu. Hauxe da multimedia, web are liluragarriagoa egiten duen beste ezaugarri bat. Izan ere, nabigatzaileak beste aplikazioekin lan egiteko gaitasuna izateak aukera asko ekarri dizkigu: edozein gauza erabili daiteke webekin batera. Horregatik, esan dugu lehen ere web baino ez duela ikusten erabiltzaileak nahiz eta aplikazio asko erabiltzen aritu. Azken urrats erraldoia lengoaia interpretatzaileak aplikazio laguntzaile gisa hartzea izan da, Java lengoaia, batez ere. Geroxeago hitz egingo dugu horretaz ere.
Helbideak: URL
Orri bat jasotzeko hiru kontzeptu definitu behar dira: zein zerbitzarik duen orri hori, zein fitxategitan dagoen eta zerbitzariari nola eskatu behar zaion.
Eta hori guztia URL ( Universal Resource Locator ) izeneko helbideetan kodeturik dator; URL bera osatzen duten hiru zatietan, zehatzago esanda. Ikus 1. irudian adibide bat.Hirugarren zatia adierazten ez bada, beti aurkezten da orri berezi bat aurkezpen gisa. Bigarren zatiak bere sintaxi propioa du, DNS edo interneteko izenari dagokiona. Eskatzeko moduari dagokionez, HTTP ( HiperTex Transfer Protocol ) da nabigatzailea, web-zerbitzariarekin harremanetan jartzeko protokoloa, baina —eta hementxe datza weberen beste gako bat— webeko nabigatzaile bat beste aplikazioen zerbitzariekin ere jar daiteke harremanetan. Horrek posible egiten du web agertu baino lehen interneten erabiltzen ziren beste baliabideak (FTP, gopher, news... ) erabili ahal izatea webekin batera eta horrekin, lehenagotik sarean zegoen informazio guztia jende gehiagoren esku egotea. Berriro ikusten dugu honetan erabiltzailea aplikazio desberdinez baliatzen dela, nahiz eta, arestian esan legez, web besterik ez ikusi. Irudian ikus ditzakegu URL desberdinen adibideak.
Egia esan, normalean nabigatzaileak ez ditu erabiltzen irudi horretan ageri diren protokolo guztiak, konplikatuegia izango litzateke eta. Zailtasuna beti beste aldean jarri behar da, zerbitzariarenean. Horrela, nabigatzailearen eta zerbitzariaren artean beste bitarteko bat jartzen da, anitz protokolorako balio duena, sasi-zerbitzariarena egiten duena. Honi proxy izena ematen zaio. Normalean zerbitzariaren ordenadorean bertan ezartzen da edo bestela, honekin zuzenean konektatuta dagoen beste makinaren batean. Proxy bakoitza zerbitzari askoren tartekoa izaten da, web, ftp, gopher eta news-ena, adibidez. Kasu batzuetan aplikazio horiek guztiak zerbitzariaren ordenadorean bertan egoten dira, baina beste batzuetan ez.
Hitz egiteko arauak: HTTP
Behar diren dokumentu gehienak HTML formatuan daude eta, beraz, weberen protokolo propioa erabiltzen da atzitzeko, HTTP ( HyperText Transfer Protocol ) izenekoa. HTTP aldatzen ari da etengabe. Bertsio desberdinak erabil daitezke gaur egun eta asko sortzen ari dira une honetan, WWW Consortium -en kontrolpean nagusiki. Hemen aipatuko ditugun ezaugarriak oinarrizkoenak dira eta zehaztasun batzuk etorkizuneko bertsioetan alda badaitezke ere, kontzeptuek bere horretan iraungo dute.
Oso protokolo sinplea da, aplikazio-mailako protokolo gehienak bezalaxe. Bi zatitan banatzen da: nabigatzaileak zerbitzariari egin diezaizkiokeen eskaeren zatia eta kontrako norabidean datozen erantzunena. Bertsio berriek bi motako eskaerak dituzte: sinpleak eta osoak; biak ASCII kodean idatzita daude. Sinplea GET hitza eta fitxategia adierazten dituen URLren zatia da. Adibidez:
GET/publiko/laguntzaileak/itoiz.html
Erantzuna eskatutako orria da, gordin-gordinik; nabigatzaileak jakin behar du nola prestatu jasotako informazioa erabiltzaileari aurkezteko. Eskaera-mota hau zuzenean proba dezakegu, nabigatzailearena egiten gure makinan telnet aplikazioa baldin badugu. Egin ezazu konexioa 80 portura ( telnet zerbitzariaren izena 80 ) eta idatzi lehen aipatutako lerroa, baina aldatu fitxategiaren kokapena, eman dizuguna guk asmatua baita.
Eskaera osoak, ordea, lerro askotakoak izan daitezke, baina beti azken lerroa hutsa da. Lehen lerroak agindua (aukeretako bat GET da), orria eta protokoloaren bertsioa adierazten ditu. Beste lerroek posta elektronikoaren RFC 822 arauak jarraitzen dituzte eta alda daitezke aginduaren arabera. HTTP objektuei orientatutako aplikazioetarako diseinatu zen eta horregatik aginduei “metodoa” izena ematen zaie.
Eskaera osoei emandako erantzuna egoera-lerro batek eta beharbada erantsitako informazioak osatzen dute. Egoera-lerroa OK kodea izan daiteke (200 zenbakia) edota errore-kode bat. Informazioa, normalean, web orria bera izaten da.
Informazioa aurkezteko arauak: HTML
Web orriak HTML ( HyperText Markup Language ) formatuan daude. HTML delakoari lengoaia esatea nahasgarria izan daiteke, berez ez duelako ezer egikaritzen eta, hain justu, lengoaia algoritmoak egikaritzen dituen kodeari ematen zaio. Zehatzagoa da, beraz, formatua esatea, informazioa nola agertu behar den besterik ez duelako adierazten, TeX-k eta gainerako formatuek bezala. Adibidez, B jartzeak testua beltzez agertu behar duela adierazten digu eta B/ jarrita, ordea, agindua bertan behera utzi behar dela esaten zaigu. Nabigatzaileak, beraz, ezagutu beharko du testuan agertzen diren marka horien esanahia.
Horrela, informazioa gorde egiten da (non agertuko den kezkarik gabe): makina edo sistema bakoitzaren nabigatzaileak jakingo du nola aurkeztu behar duen testua beltzez agertzeko; jakingo du zein formatu-bihurketa egin behar duen HTML aginduak betetzeko, etab. Oso garrantzitsua da hori, orria 1024 x 768ko pantailan eta 24 biteko koloretan dago, adibidez, 640x480ko pantailan eta 8 biteko koloretan aurkeztu behar delako sarritan.
HTTP bezala, HTML etengabe aldatzen ari da. Mosaic nabigatzaile bakarra zenean, HTML 1.0 “de facto” estandarra zen; nabigatzaile berriak agertu zirenean, ordea, estandar ofiziala behar zela eta, HTML 2.0 sortu zen. Hortik aurrera beste arau batzuk agertu dira; WWW Consortium -ek onartutako ofizialak, batetik, eta ekoizle bakoitzak sortutakoak, bestetik. Normalean ofizialak hartzen dira oinarritzat eta berrikuntzaren bat eransten zaie soilik. Merkatuan arrakasta lortzen badu berrikuntza horrek, ondorengo estandar ofizialean ere jasoko da. Ekoizlearen alde jokatzen du horrek, bere nabigatzaileak ezaugarri hori erabiltzen duelako besteak baino lehen. Lehiakideek denbora eta dirua inbertitu beharko dute hori lortu ahal izateko.
Tarte honetan luzeegi joko luke HTML xehe-xehe deskribatzeak, baina irakurle, zein den bere itxura “gordina” eta nola aurkeztuko litzatekeen orri bat.
... are gehiago: ekintzak. CGI eta Java
HTML 1.0 norabide bakarrekoa zen: erabiltzaileak informazioa jaso zezakeen zerbitzaritik, baina ezin zion ezer bidali. Erakunde komertzialak sarera sartu orduko, norabide bikoitzaren beharra areagotu egin da. Esate erraz baterako, enpresa batzuek, eskariak jasotzeaz gain, bezeroaren kreditu-txartelaren zenbakia ere jaso nahi izaten dute. Horregatik, HTML 2.0 bertsioan hasi ziren hori egiteko aukera ere ematen. Are gehiago: CGI ( Common Gateway Interface ) estandarrarekin posible da programak egikaritzea zerbitzarian erabiltzaileak bere nabigatzailearen bidez eskatzen badu. Adibidez, demagun zerbitzariak oso datu-base interesgarria duela eta erabiltzaileak kontsultatu nahi duela.
Horretarako, zerbitzariaren orrira joango da eta bertan galderak egiteko formularioa aurkituko du; bete ondoren, bere nabigatzaileak zerbitzariari bidaliko dizkio galderen datuak, besteak beste, datu-base hori erabiltzeko pasahitza eta bilaketa egiteko gako-hitzak. Zerbitzariak eragiketa onartzen badu, nabigatzaileak esango dio bere orrian erreferentziatzen den programa bat egikaritzeko. Programa hauek widget edo script izena dute eta beste edozein dokumentu bezala URL batekin adierazten dira HTML dokumentuaren barruan.
Dena den, nabigatzailearen eta zerbitzariaren arteko lan hori ez da nahikoa aplikazio batzuetan, animazioetan batez ere. Horretarako sortu zen beste tresna bat: Java lengoaia. Ideia ondokoa da: HTML orri bati dagozkion ekintzak egikaritzen dituen programak nabigatzailean kargatzen ditu orriarekin batera eta berak egikaritzen ditu. Erraza dirudi oso, baina ez da horren sinplea. Edozein ordenadoretan egikaritzen den lengoairik ez dago eta, gainera, oso arriskutsua litzateke hori, birusak sartzeko modurik errazena horixe baita. Oztopo horiek gaindituz, ordea, helburua erdietsi da.
Lengoaia Java da, C++ tankerakoa eta ez omen du segurtasun-arazorik ematen. Javaz idatzitako programak txikiak dira eta applet izena ematen zaie, ingelesez, gutxi gora-behera “aplikazio txikia” esan nahi duena. Appletak byte moduko kodean konpilatu eta gordetzen dira; horrek ziurtatzen du applet guztiek itxura bera dutela, edozein delarik egilea edo sortzeko erabili den prozedura. Byte moduko kode hori da HTMLtik atzitzen dena eta nabigatzailearen ordenadorean egikaritzen da. Egikaritzeko interpretaria behar da. Beraz, Java sistemaren osagaiak hiru dira (informazio gehiago nahi izanez gero, ikus Luis Elizondoren Java kafe hutsa ala informatikaren etorkizuna? artikulua 107. zenbakian, 1996ko maiatza):
Web eta bere osagaiak deskribatu ditugu hemen, ez oso sakonki, egia da, baina horrela eginez gero, liburukote bat idatzi beharko genuke eta, gainera, argitaratzerako zaharkiturik egongo lirateke xehetasun asko eta asko; horrelakoxea da informatika. Hemen azaldu dugunak, ordea, egia izaten segituko du urte batzuetan. Ez askoz gehiago, ziur aski.