Mokomoji knyga WEB PROGRAMAVIMAS GEOGRAFINS INFORMACIJOS INFRASTRUKTRAI GII-09

Size: px
Start display at page:

Download "Mokomoji knyga WEB PROGRAMAVIMAS GEOGRAFINS INFORMACIJOS INFRASTRUKTRAI GII-09"

Transcription

1 Mokomoji knyga WEB PROGRAMAVIMAS GEOGRAFINS INFORMACIJOS INFRASTRUKTRAI GII-09

2 Mokomoji knyga WEB programavimas geografins informacijos infrastruktrai (GII-09) Autoriai 1 skyrius - Frank Fucile 2 skyrius - Michael O'Neal Campbell 3, 4, 5 skyriai - Michael Govorov ir dr. Gennady Gienko Recenzavo ir redagavo prof. Romualdas Baušys (Vilniaus Gedimino technikos universitetas) Recenzavo prof. habil. dr. Genadijus Kulvietis (Vilniaus Gedimino technikos universitetas) Iš angl kalbos vert ir redagavo UAB Astraneta Valstybs tarnautoj nuotolinio mokymo programos Geografins informacijos infrastruktros nuotolinis mokymas, patvirtintos Valstybs tarnybos departamento prie LR Vidaus reikal ministerijos direktoriaus sakymu Dl valstybs tarnautoj mokymo program tvirtinimo Nr. 27V-72 ( ), mokymo kurs medžiaga parengta vykdant iš dalies Europos Sjungos lšomis finansuojam projekt Lietuvos geografins informacijos valdytoj kvalifikacijos klimas (Nr. BPD2004-ESF /0143) Projekto vykdytojas Nacionalin žems tarnyba prie Žems kio ministerijos. Projekto rangovas UAB HNIT-BALTIC, Vilniaus Gedimino technikos universitetas Autoriaus išimtins turtins teiss priklauso Nacionalinei žems tarnybai prie Žems kio ministerijos Autoriaus neturtins teiss priklauso Malaspina University-College Nacionalin žems tarnyba prie Žems kio ministerijos,

3 Turinys 1. Interneto technologija, HTML ir CSS Kaip veikia internetas? HTML žymos Nuorodos Paveikslai Lentels Rmeliai HTML padalijimai CSS Formos Interneto kalbos vartotojo ssajos, ryšio, duomen ir schem aprašams DHTML, W3C standartai, HTML dokumento objekt modelis Skript rašymo pagrindai XML kodavimo pagrindai Išvados Interneto žemlapiai ir susijusios technologijos Daugiapakop architektra AJAX technologija Interneto žemlapi programins rangos architektra WMS paslaugos WFS paslaugos Interneto aprpties paslauga Filtro kodavimas Sluoksnio stiliaus deskriptorius ir simbolikos kodavimas Išvados XML tipo kalbos žemlapiams ir SOA XML kalbos GML kalba ESRI ArcXML kalba KML kalba SVG kalba Interneto žemlapi paslaugos ir paslaugas orientuota architektra (SOA) Išvados ESRI interneto program architektra Kas yra ESRI ArcIMS ir ArcGIS Server? ESRI interneto komponentai: serverio pus ESRI ArcIMS vartotojo ssajos komponentai: serverio pus ESRI ArcIMS komponentai: kliento pus ESRI ArcIMS ryšio srautas ESRI ArcIMS diegimas ESRI ArcIMS ir ArcGIS Server adaptavimo galimybs ESRI ArcIMS papildomos savybs Išvados Nacionalin žems tarnyba prie Žems kio ministerijos,

4 žanga Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga Interneto taikomoji programa leidžia turin iš serverio perduoti klientui naudojant vaizdin vartotojo ssaj, dažnai interneto naršyklje. Didžioji dalis verslo logikos, duomen ir kit proces yra valdomi serverio pusje naudojant ne tik turting programavimo aplink (C#, Visual Basic.NET, Java ir k. t.), bet ir skript kalbas PHP, Python, JavaScript, VBScript. Kadangi naudotojas interneto taikomj program mato interneto naršyklje, kliento puss programa yra kuriama naudojant interneto standartus, užtikrinanius vartotojo ssaj, pavyzdžiui, HTML, CSS ir skript kalbas (pvz., JavaScript ). Ryšiui tarp kliento ir serverio bei duomen kodavimui naudojami kiti interneto standartai, pavyzdžiui, XML arba SOAP. Be to, interneto taikomosios programos gali bti realizuojamos vairiose aplinkose (daugiapakopje architektroje, SOA) ir naudojant vairias technologijas (.NET, J2EE arba AJAX). Šiame mokymo kurse apžvelgiamos interneto technologijos ir programavimo aplinkos, skirtos interneto žemlapi programoms kurti, o kai kurios ši technologij aptariamos išsamiau. Pirmoje paskaitoje supažindinama su interneto ištakomis ir jo funkcijomis, susijusiomis su tinklalapi krimu ir programavimu. Studijuojantieji susipažins su pagrindiniais interneto struktriniais elementais, susijusiais su HTML kodais, tiksliau kaip naudoti lenteles, nuorodas, rmelius, paveikslus ir HTML formas. Jie taip pat išmoks sudtingesnio programavimo pasitelkdami pakopinio stiliaus lapus (CSS), kurie padeda formuoti tinklalapi išvaizd, kuriam nuotaik ir išdstym. Šias žinias galima pritaikyti kuriant interneto žemlapi taikomsias programas, kuriems reikalingi HTML ir CSS gdžiai. Antroje paskaitoje aptariamos skript kalbos ir susijusios technologijos DHTML, HTML dokumento objekt modeliai (DOM) ir JavaScript. Nemažai interneto žemlapi taikomj program naudoja JavaScript vairioms kliento puss funkcijoms atlikti, pavyzdžiui, žemlapio spragteljimo sveikai ir duomen atsisiuntimui iš serverio per atgalin kreipin (angl. callback). Be to, paskaitoje analizuojamos XML ir XSL kalbos, kurios yra labai svarbios interneto užklaus ir atsakym protokolams, erdvini duomen ir taikomj schem kodavimui bei duomen atvaizdavimui. Šioje paskaitoje supažindinama su šiomis interneto taikomj program technologijomis prapleiant temas, kurios buvo nagrinjamos 1 paskaitoje, ir apibdinant, kaip naujausi interneto taikomj program technologijos laimjimai prisidjo prie interneto technologij veiksmingumo didinimo. Treioje paskaitoje pristatomos interneto žemlapi ir kitos susijusios technologijos bei specifikacijos. Pirmojoje temoje bus aptariama daugiapakop architektra, sudaranti interneto žemlapi paslaug aplink. Taip pat apžvelgiama ir interneto technologija AJAX, kuri dažnai naudojama kliento pakopos interneto žemlapi taikomosiose programose. Toliau analizuojama tripakop architektra, naudojama interneto žemlapi paslaugoms, ir sistemos, esanios WMS (Web Mapping Server) ir storajame WFS (Feature Server), taip pat pristatomi interneto žemlapi klientai. Toliau smulkiai aptariamos OGC standart realizacijos specifikacijos, apibržianios Web Mapping Server, Web Feature Server ir Web Coverage Server funkcines galimybes. Šiomis specifikacijomis reikia naudotis kuriant suderintas paskirstytas interneto žemlapi sistemas. Šioje paskaitoje pritaikomos ankstesnse paskaitose gytos student žinios apie HTTP, XML, XSL, DTD, XSD ir k. t., ir mokomasi, kaip kurti interneto žemlapi architektras. Nacionalin žems tarnyba prie Žems kio ministerijos,

5 Ketvirtoje paskaitoje nagrinjamos geoerdviniams duomenims skirtos kalbos, kurias galima realizuoti XML. Joms priskiriamos GML (Geographic Markup Language), ArcXML (ESRI Arc Extensible Markup Language), KLM (Google Keyhole Markup Language), SVG (Scalable Vector Graphics), GeoRSS (Geographic Really Simple Syndication) ir daugelis kit kalb. Be to, XML kartais naudojama kaip ši taikomj program kalb specifikacij kalba. Šioje paskaitoje aptariamos kelios XML taikomj program gramatikos, naudojamos erdvini duomen main kodavimui, interneto žemlapi paslaugos ryšio ir žemlapio apibržtis, interneto paslaug naudojimas ir hibridinimas (angl. mashuping) paslaugas orientuotoje architektroje ir vektorins grafikos atvaizdavimas kliente. Šios XML taikomj program schemos gali bti naudojamos duomen modeliavimui ir mainams vairiose viešosiose ir komercinse srityse kadastro ir žemtvarkos, eismo ir transporto, telekomunikacij, aplinkosaugos ir kitose. Taip pat aptariamos temos, susijusios su paslaugas orientuota architektra, interneto žemlapi paslaugomis bei susijusiomis technologijomis. Ankstesnse paskaitose buvo aptarta interneto žemlapi architektra, jos komponentai ir vartotojo ssajai, ryšiui, duomenims skirtos interneto kalbos bei schem aprašai. Paskutinje paskaitoje anksiau nagrintos temos pristatomos pasitelkiant praktinio gyvendinimo pavyzdžius ESRI ArcIMS ir ArcGIS Server programin rang. ESRI buvo interneto žemlapi programins rangos krimo lyder. Bendrovs produktus klientai rinkosi analizei atlikti, kadangi produkt dokumentacij lengva naudoti. Viso pasaulio miest tarybos, savivaldos institucijos, mons ir kitos organizacijos publikuoja, randa ir dalijasi geoerdvine informacija naudodamos ArcIMS. Nacionalin žems tarnyba prie Žems kio ministerijos,

6 1. Interneto technologija, HTML ir CSS Šioje paskaitoje susipažinsite su interneto ištakomis ir jo funkcijomis, susijusiomis su tinklalapi krimu ir programavimu. Susipažinsite su pagrindiniais interneto struktriniais elementais, susijusiais su HTML kodu, tiksliau kaip naudoti lenteles, nuorodas, rmelius, paveikslus ir HTML formas. Taip pat išmoksite sudtingesnio programavimo pasitelkdami pakopinio stiliaus lapus, kurie padeda formuoti tinklalapi išvaizd, kuriam nuotaik ir išdstym. 1 paskaitoje bus aptariamos šios temos: Paskaitos planas Kaip veikia internetas? HTML žymos Saitai Paveikslai Lentels Rmeliai Padalijimai CSS (pakopinio stiliaus lapai) Formos Nacionalin žems tarnyba prie Žems kio ministerijos,

7 1.1. Kaip veikia internetas? Kas yra internetas? Internetas tai technologija, sujungianti viso pasaulio kompiuteri tinklus. Interneto ryšys pasiekia net Antarktid ir Tarptautin kosmin stot. Internet, kuriam naudojamas TCP/IP (perdavimo valdymo protokolas/interneto protokolas), ARPANET tinklo pagrindu prajusio amžiaus aštuntojo dešimtmeio pradžioje sukr JAV vyriausyb. TCP/IP protokolas leidžia sisti ir priimti vis rši skaitmenin informacij Interneto sluoksniai Septyni atvirj sistem jungties (OSI) modelio duomen perdavimo lygmenys (šaltinis 1. Fizinis (10Base-T, ISDN, RS-232) Fizinis sluoksnis apibržia elektrines ir fizines rengini specifikacijas. 2. Ryšio (kanalinis) (Ethernet, Wi-Fi, PPP, Token Ring ) Ryšio (kanalinis) sluoksnis sudaro funkcines ir procesines galimybes perduoti duomenis iš vieno tinklo mazgo kit, taip pat aptikti ir galbt ištaisyti klaidas, kurios gali atsirasti fiziniu lygmeniu. 3. Tinklo (IPV4, IPV6, ICMP, IGMP, ARP ) Tinklo sluoksnis sudaro funkcines ir procesines galimybes viename arba keliuose tinkluose perduoti kintamojo ilgio duomen sekas iš šaltinio paskirties viet išlaikant paslaugos kokyb, nurodyt transporto sluoksnyje. Transporto (TCP, UDP ) Transporto sluoksnyje duomenys skaidriai perduodami tarp galutini vartotoj teikiant patikimas duomen perdavimo paslaugas aukštesniems sluoksniams. 5. Sesijos (RPC) Sesijos sluoksnis valdo kompiuteri dialogus ir sujungimus (sesijas). 6. Duomen pateikimo (prezentacijos) (XDR) Duomen pateikimo (prezentacijos) sluoksnyje sukuriamas kontekstas taikomojo sluoksnio subjektams, kuriame aukštesnio sluoksnio subjektai gali naudoti vairi sintaks ir semantik, jeigu tik jas supranta Duomen pateikimo paslauga, ir j atvaizdavim (angl. mapping). 7. Taikomasis (NFS) Taikomajame sluoksnyje vyksta tiesiogin sveika su taikomj program procesais ir jiems teikiamos bendros taikomj program paslaugos; jis taip pat teikia užklausas duomen pateikimo (prezentacijos) sluoksniui. Siuniama informacija yra suskaidoma ir performatuojama daugel TCP/IP paket. Skirtingos ršies informacijai ir (arba) skirtingoms programoms naudojami skirting rši paketai. Nacionalin žems tarnyba prie Žems kio ministerijos,

8 FTP (fail perdavimo protokolas) FTP, arba fail perdavimo protokolas, naudojamas duomenims perduoti iš vieno kompiuterio kit internetu arba tinkle. FTP dažniausiai naudojamas keitimosi failais protokolas visuose tinkluose, kurie palaiko TCP/IP protokol (pavyzdžiui, internete ar intranete). Perduodant failus dalyvauja du kompiuteriai serveris ir klientas. FTP serveris, kuriame diegta FTP serverio programin ranga, tinkle laukia ryšio užklaus iš kit kompiuteri. Kliento kompiuteris, kuriame diegta FTP kliento programin ranga, pradeda jungtis prie serverio. Prisijungs, klientas gali atlikti vairius manipuliavimo failais veiksmus, pavyzdžiui, kelti juos server, atsisisti failus iš serverio, pakeisti fail vardus arba juos ištrinti iš serverio ir pan. Bet kuri programins rangos bendrov arba programuotojas gali sukurti FTP serverio arba kliento programin rang, nes protokolas yra atviro standarto. Praktiškai kiekviena kompiuterin platforma palaiko FTP protokol. Todl bet kuris kompiuteris, jungtas TCP/IP pagrindu veikiant tinkl, gali manipuliuoti failais kitame t tinkl jungtame kompiuteryje, kad ir kokios operacins sistemos bt naudojamos (jeigu kompiuteriai leidžia FTP prieig). Yra sukurta daug FTP kliento ir serverio program. FTP serverius galima pateikti visuose žaidim serveriuose, balso perdavimo serveriuose, interneto paslaug tiekjo mazguose ir kituose fiziniuose serveriuose. HTTP (hiperteksto perdavimo protokolas) Hiperteksto perdavimo protokolas (HTTP) yra ryši protokolas, naudojamas informacijai perduoti arba teikti intranete ir pasauliniame internete. Jis buvo sukurtas siekiant sudaryti galimybes hiperteksto puslapiams skelbti ir ieškoti. HTTP krim koordinavo W3C (Pasaulinio interneto konsorciumas) ir IETF (Interneto inžinieri darbo grup), o darb vainikavo paskelbti RFC standartai, vis pirma RFC 2616 (1999 m. birželio mn.), apibržiantis HTTP/1.1 plaiai naudojam HTTP versij. HTTP tai užklaus ir atsakym protokolas tarp kliento ir serverio. Klientas, teikiantis HTTP užklaus (interneto naršykl, paieškos serveris (angl. spider) arba kita galutinio vartotojo priemon), vadinamas vartotojo programa (angl. user agent). Atsakantis serveris, kuriame saugomi arba kuriami tokie ištekliai, kaip HTML failai ir paveikslai, vadinamas siunianiuoju serveriu (angl. origin server). Tarp vartotojo programos ir siunianiojo serverio gali bti keletas tarpinink tarpini serveri, tinklo sietuv ar tuneli (angl. tunnels). HTTP naudoja ne tik TCP/IP ir jo pagalbinius sluoksnius, nors tai yra populiariausias protokolo naudojimo bdas internete. Iš ties HTTP galima naudoti kartu su bet kuriuo kitu protokolu internete arba kituose tinkluose. HTTP tiesiog laikomas patikimu perdavimo bdu; gali bti naudojamas bet kuris protokolas, kuris teikia tokias pai garantij. Paprastai HTTP klientas teikia užklaus prisijungdamas perdavimo valdymo protokolo (TCP) ryšiu prie konkretaus pagrindinio kompiuterio prievado (numatytasis yra 80 prievadas; žr. TCP ir UDP prievad numeri sraš). HTTP serveris, kuris klausosi šio prievado, laukia, kol klientas išsis užklausos pranešim. Gavs užklaus, serveris išsiunia bsenos eilut, pavyzdžiui, HTTP/ OK, ir savo pranešim, kurio pagrindin dal tikriausiai sudaro prašomas failas, klaidos pranešimas arba kita informacija. Nacionalin žems tarnyba prie Žems kio ministerijos,

9 Ištekliai, kuriais galima naudotis pasitelkiant HTTP, yra identifikuojami naudojant universaliuosius ištekli identifikatorius (URI) (arba, tiksliau, universaliuosius adresus (URL)) naudojant http: arba https URI schemas. Telnetas (terminalo emuliavimo protokolas) Terminalo emuliatorius, terminalo taikomoji programa, terminalas, arba sutrumpintai tty, yra programa, kuri pamgdžioja nebyl (angl. dumb ) vaizdo terminal kitoje vaizdavimo architektroje. Nors svoka terminalas paprastai yra sinonimiška komandins eiluts apvalkalui (angl. command line shell) arba tekstiniam terminalui, ji apima visus nutolusius terminalus, skaitant ir grafines ssajas. Terminalo emuliatorius grafinje vartotojo ssajoje dažnai vadinamas terminalo langu. Terminalo langas leidžia vartotojui pasiekti tekstin terminal ir naudotis visomis jo taikomosiomis programomis komandins eiluts ssajomis (CLI) bei tekstinmis vartotojo ssajos taikomosiomis programos, kurios gali veikti tame paiame arba kitame kompiuteryje per telnet, ssh protokol arba skambinant. Unix tipo operacinse sistemose dažnai vienas arba keli terminalo langai yra sujungti su vietiniu kompiuteriu. Terminalai paprastai palaiko kaitos sek grup, kuria nustatoma spalva, žymeklio padtis ir pan., pavyzdžiui, terminalo valdymo sek standartus ECMA-48, ANSI X3.64 arba ISO/IEC xterm, populiarus terminalo emuliatorius, sukurtas X11. Bankuose, draudimo bendrovse ir valdžios staigose vienuose pirmj kompiuterini technologij naudotoj terminalo emuliatoriai dažnai naudojami ir dabar. J didžiuosiuose kompiuteriuose paprastai veikia dešimtmei senumo taikomosios programos. Senieji nebyls vaizdo terminalai, kurie buvo naudojami prisijungti prie didžiojo kompiuterio, jau seniai atgyveno, taiau taikomosios programos didžiuosiuose kompiuteriuose vis dar naudojamos. Dažnai terminalo emuliatoriai yra vienintel galimyb vartotojui pasiekti taikomsias programas, veikianias šiuose senesniuose kompiuteriuose. SMTP (paprastasis pašto perdavimo protokolas) SMTP tai gana paprastas tekstinis protokolas, kuriame vienas ar keli el. laiško gavjai yra nurodomi (ir daugeliu atveju patvirtinama, kad jie egzistuoja) kartu su el. laiško tekstu ir galimai kitais užkoduotais objektais. Tada kliento ir serveri užklaus ir atsakym bdu el. laiškas perduodamas nuotoliniam serveriui. SMTP kliento funkcijas gali atlikti galutinio vartotojo el. pašto klientas (pašto skaitymo programa) (angl. MUA (Mail User Agent)) arba persiuntimo serverio pašto siuntimo programa (angl. MTA (Mail Transport Agent)). El. pašto klientas išsiuniamo pašto SMTP server atpažsta pagal jo srank. Persiuntimo serveris paprastai nustato, prie kurio SMTP serverio prisijungti, patikrindamas kiekvieno gavjo domeno vardo (el. pašto adreso dalis, esanti dešin nuo MX ( Mail Exchange ) DNS raš. Jeigu MX rašo nra, reikalavimus atitinkanios (ne visos) pašto skaitymo programos gržta prie paprasto A rašo. Kai kurios dabartins pašto persiuntimo programos taip pat naudoja SRV rašus (bendresnio tipo MX), taiau šie nra labai paplit. (Persiuntimo serverius taip pat galima konfigruoti taip, kad bt naudojamas išmanusis serveris (angl. smart host.) Nacionalin žems tarnyba prie Žems kio ministerijos,

10 SMTP klientas pradeda TCP jungimsi prie serverio 25 prievado (nebent kitaip nurodyta srankoje). Naudojant telneto program yra gana paprasta patikrinti SMTP server (žr. toliau). SMTP yra stmimo protokolas, neleidžiantis pagal pareikalavim ištraukti laišk iš nuotolinio serverio. Tam pašto klientas turi naudoti POP3 arba IMAP. Kitas SMTP gali nurodyti pristatyti pašt SMTP protokolu naudojant ETRN. Bittorrent (duomen protokolas, naudojamas filmams) BitTorrent tai lygiaveri tinklo kompiuteri (angl. peer-to-peer) (P2P) dalijimosi failais ryšio protokolas. Šis protokolas naudojamas plaiai dalytis dideliais duomen kiekiais, o fail pradjusiam platinti renginiui tenka tik dalis aparatins rangos, prieglobos (angl. hosting) ir juostos ploio (angl. bandwidth) snaud. Iš ties, kai duomenys yra platinami naudojantis BitTorrent protokolu, kiekvienas gavjas duomen dalis siunia naujesniems gavjams, taip sumažindamas kiekvienam individualiam šaltiniui tenkanias snaudas ir našt, užtikrindamas didesnius sistemos išteklius ir sumažindamas priklausomyb nuo fail pradjusio platinti renginio. Š protokol 2001 m. balandžio mn. sukr ir 2001 m. liepos 2 d. jo pirmj versij išleido programuotojas Bram Cohen. Dabar protokolo priežir atlieka jo kurta bendrov BitTorrent, Inc.. Nors protokolas naudojamas perduoti duomenims, kurie sudaro nemaž interneto sraut, tiksl jo dyd nustatyti nra lengva. Yra daugyb derani BitTorrent klient, parašyt paiomis vairiausiomis programavimo kalbomis ir veikiani su paiomis vairiausiomis kompiuterijos platformomis Struktrinis elementas TCP/IP TCP/IP modelis, arba interneto pamatinis modelis, kartais vadinamas DoD modeliu (angl. DoD, Department of Defence JAV gynybos ministerija) arba ARPANET pamatiniu modeliu, yra keli sluoksni abstraktusis ryšio ir kompiuterini tinkl protokol krimo aprašas. J prajusio amžiaus aštuntajame dešimtmetyje sukr DARPA interneto protokolams rengti. TCP/IP modelis ir dabar labai artimai atspindi interneto struktr. Pirmin TCP/IP pamatin model sudaro keturi sluoksniai, taiau kai kurie autoriai teigia, kad dabar modelis jau turi penkis sluoksnius, o jo žemiausiasis sluoksnis (tinklo prieigos sluoksnis) yra padalytas fizin ir ryšio (kanalin) sluoksnius. Taiau nra tokio IETF standart dokumento (angl. standards-track document), kuriame bt patvirtintas penkeri sluoksni modelis. Taip yra tikriausiai dl to, kad IETF nra standartizavusi fizinio ir ryšio (kanalinio) sluoksni protokol. IETF dokumentuose nepritariama griežtam sluoksni atskyrimui. Kadangi institucija, atsakinga už protokol rinkinio technini charakteristik tvirtinim, nra pripažinusi penki sluoksni modelio, nra netikslinga penki sluoksni pristatymus laikyti mokomosiomis priemonmis, sudarant galimybes kalbti apie ne IETF protokolus fiziniame sluoksnyje. Šis modelis buvo sukurtas anksiau nei OSI pamatinis modelis, tad Interneto inžinieri darbo grup (IETF), kuri yra atsakinga už model ir jam kuriamus protokolus, niekuomet Nacionalin žems tarnyba prie Žems kio ministerijos,

11 nejaut sipareigojimo laikytis OSI reikalavim. Nors bazinis OSI modelis dažnai naudojamas mokymams, septyneri sluoksni OSI modelis neatspindi realaus pasaulio protokolo architektros (RFC 1122), kuri naudojama vyraujanioje interneto aplinkoje. Atnaujintame IETF architektros dokumente [1] netgi yra dalis, pavadinta Sluoksniavimas laikomas žalingu. Sluoksniavimas, kaip pagrindin architektros savyb, akcentuojamas ne TCP/IP, o OSI modelyje. Daug painiavos atsiranda tada, kai OSI tipo sluoksniavim bandoma primesti architektrai, kuri minimizuoja sluoksni naudojim. Išsamesnis TCP/IP modelio paaiškinimas pateiktas šiame tinklalapyje: (angl kalba) Interneto pltra Galima drsiai teigti, kad per pastaruosius kelet met interneto pltra vyko geometrine progresija. Naujausi statistiniai duomenys rodo, kad 20 proc. pasaulio gyventoj naudojasi internetu. Dar svarbiau yra tai, kad lik 80 proc. pamažu silieja interneto bendruomen, kadangi vis daugiau šali sukuria infrastruktr, btin interneto prieigai užtikrinti. Ypa svarbu paminti, kad internetas iš lto pradedamas pltoti ir besivystaniose šalyse, kadangi vis akivaizdžiau, kad stipri ekonomika yra neatsiejama nuo interneto prieigos, reikalingos verslui, švietimui, pramogoms ir valdžios institucijoms, masto ir kokybs. Nordami išsamiau susipažinti su interneto statistika, apsilankykite šiame tinklalapyje: (angl kalba) Populiariausias interneto naudojimas Internetas tai pasaulin, viešai prieinama tarpusavyje sujungt kompiuteri tinkl visuma, kurioje duomenys perduodami paketinio duomen siuntimo bdu standartiniu interneto protokolu (IP). Tai tinkl tinklas, sudarytas iš milijon mažesni buitini, akademini, verslo ir valdžios institucij tinkl, kurie kartu teikia vairiausios informacijos ir paslaug elektronin pašt, interneto pokalbius, perduoda failus, taip pat tarpusavyje susietus tinklalapius ir kitus pasaulinio interneto išteklius. Pastaruosius kelet met internetas vis dažniau naudojamas pramogoms ir bendradarbiavimui. Tai liudija toki interneto socialini tinkl (angl. social networking websites), kaip My Space" ir Facebook populiarumas. Naujausi IBM paskelbti statistiniai duomenys rodo, kad žmons daugiau laiko skiria internetui nei televizijai žirti: (angl kalba). Nacionalin žems tarnyba prie Žems kio ministerijos,

12 1.2. HTML žymos Pagrindins žymos Pagrindins HTML žymos yra gana nesudtingos. Vis pirma svarbu suprasti, kaip veikia žymtojo hiperteksto kalbos (HTML) sintaks ir kaip ji tvarko tekst. HTML žym iš abiej pusi supa kampiniai skliaustai (simboliai mažiau nei < ir daugiau nei > ). Tipišk žym <title> sudaro trys dalys: 1. < = pradžios kampinis skliaustas 2. title = žymos pavadinimas 3. > = pabaigos kampinis skliaustas Daugelis žym naudojamos poromis, kurios supa j žymim tekst. Pirmoji žyma pradeda, o antroji pabaigia žymjim. <title>tinklalapio pavadinimas</title> Antroji žyma, kuri mes pavadinsime išjungikliu, pradedama dešininiu brkšniu / ir žymi veiksmo pabaig. Pavyzdžiui, paryškinimo žyma atrodo taip: <b>paryškina š tekst</b>. Kaip ir visose programavimo kalbose, yra šios taisykls išimi. Pavyzdžiui, žyma <br> sukuria eiluts lž, bet neturi išjungiklio. Žyma <br> tiesiog tekst terpia eiluts lž. Be HTML žym reikia atsižvelgti ir požymius. Požymiai žym nurodymams gali taikyti vertes. Pavyzdžiui, žyma <p> pradeda nauj pastraip. Pridjus lygiuots požym, pakeiiama naujos pastraipos padtis. Šiame pavyzdyje tekst centruojame: <p align= center >Centre lygiuojamos pastraipos pavyzdys</p> Viskas bus daug aiškiau, kai patys pradsite rašyti kod. Tam vis pirma turite atverti teksto rengykl. Šioje paskaitoje naudosime kompiuteryje diegt Windows teksto rengykl Notepad. Program Notepad rasite meniu Programos/Reikmenys. Darbalaukyje atlikite šiuos veiksmus: 1. Spragtelkite mygtuk Start (Pradti) 2. Pasirinkite Reikmenys 3. Spragtelkite ant Notepad Turtumte pamatyti atvert Notepad lang. Ši rengykl naudosite HTML kodui rinkti nagrinjant kit tem HTML išdstymas Kadangi rengykl Notepad jau atidaryta, laikykits šios temos nurodym ir rinkite toliau pateikiam HTML kod. Nacionalin žems tarnyba prie Žems kio ministerijos,

13 Visi tinklalapiai turi prasidti dokumento tipo apibržties (DTD) kodu, esaniu paiame tinklalapio viršuje. Kiekviename tinklalapyje, kur kuriate, turite nurodyti jo DTD, kaip parodyta toliau: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> Kitoje kodo eilutje naršykl ieškos žymos <html>. Naršykl prads skaityti tinklalap po to, kai ras toki žym <html> <html> Dokumento pabaigoje turite užbaigti HTML kod surinkdami pabaigos žym </html> 1 žingsnis Notepad dokumente pradkite rinkti kod, kuris turt atrodyti taip <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> </html> HTML dokument sudaro dvi dalys: 1. antrašt 2. pagrindin dalis Antrašt naudojama konkreiai informacijai, susijusiai su interneto tinklalapiu, rodyti, o pagrindinje dalyje nurodomas turinys, kur norite pateikti skaitytojams. 2 žingsnis Iškart po pradžios žymos <html> terpkime antrašts sekcij, kaip parodyta toliau: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> </html> 3 žingsnis <head> Dabar suteikime tinklalapiui pavadinim kaip parodyta toliau: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> </html> 4 žingsnis <head><title>lietuvos technologijos institutas</title> Dabar baikite antrašts sekcij ir pradkite pagrindins dalies sekcij: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> Nacionalin žems tarnyba prie Žems kio ministerijos,

14 </html> 5 žingsnis <body> Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga Surinkite pirmj tinklalapio pastraip: <head><title>lietuvos technologijos institutas</title></head> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><title>lietuvos technologijos institutas</title></head> <body> Lietuvos technologijos institutas yra geriausia GIS mokykla šalyje. </html> 6 žingsnis Nordami užbaigti tinklalap, pagrindins dalies sekcij turime baigti žyma </body>: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <body> <head><title>lietuvos technologijos institutas</title></head> Lietuvos technologijos institutas yra geriausia GIS mokykla šalyje. </body> </html> Atlikus visus šešis žingsnius, js HTML kodas dabar turt atrodyti taip: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <body> <head><title>lietuvos technologijos institutas</title></head> Lietuvos technologijos institutas yra geriausia GIS mokykla šalyje. </body> </html> Atkreipkite dmes: Tekstas buvo paryškintas, tarpai tarp eilui ir protarpiai buvo terpti pirmiau nurodyt kod tik tam, kad j bt patogiau perskaityti HTML dokumento rašymas ir peržirjimas Js k tik sukrte savo pirmj paprast tinklalap, taiau procesui užbaigti btina rašyti fail. Rengyklje Notepad turjote surinkti tok kod: Nacionalin žems tarnyba prie Žems kio ministerijos,

15 Nordami rašyti fail, laikykits ši nurodym: Viršutinje parankinje spragtelkite parinkt File (Failas) ir pasirinkite Save As (rašyti kaip). Fail rašykite kaip tekstin dokument ir suteikite jam vard: firstpage.html rašykite j Windows darbalauk. Atverkite naršykl ( Internet Explorer, Netscape, Mozilla ar bet kuri kit turim naršykl). Šiame pavyzdyje mano interneto naršykl bus Firefox. Viršutinje parankinje spragtelkite parinkt File (Failas) ir pažymkite Open File (Atverti fail). Kitame ekrane pasirinkite fail firstpage.html darbalaukyje: Dabar turtumte pamatyti, kad js tinklalapis naršyklje atrodo taip: Panagrinkime kelet js pirmojo paprasto tinklalapio aspekt: Naršykls pavadinimo juostoje pavadinimas yra per aukštai tinklalapio viršuje Lietuvos technologijos institutas Vienintelis dalykas, esantis svetains pagrindinje dalyje, yra vienas sakinys, kur surinkote Lietuvos technologijos institutas yra geriausia GIS mokykla šalyje. Vietos juostoje rodomas js kompiuterio, kuris yra vietinis pagrindinis kompiuteris, adresas, kadangi failas yra js kompiuterio darbalaukyje Kitos žymos Tsdami pradt darb, tinklalap papildykite kitomis žymomis, kurios j padarys domesn ir lengviau skaitom. Antrašts žyma Antrašts žyma nurodo naršyklei padidinti ir paryškinti šrift. Dauguma naršykli gali suprasti 1 6 antrašts žymas. Po žymos <body> ir prieš sakinio pradži Nacionalin žems tarnyba prie Žems kio ministerijos,

16 terpkite šias antrašts žymas: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><title>lietuvos technologijos institutas</title></head> <body> <h1>1 antrašt</h1> <h2>2 antrašt</h2> <h3>3 antrašt</h3> <h4>4 antrašt</h4> <h5>5 antrašt</h5> <h6>6 antrašt</h6> Lietuvos technologijos institutas yra geriausia GIS mokykla šalyje. </body> </html> Nordami peržirti naujas antrašts žymas, rašykite fail firstpage.html. Gržkite naršykl ir spragtelkite mygtuk Refresh (Atnaujinti) arba Reload (kelti iš naujo) ekrano viršuje, kaip parodyta paveiksle. Dabar turtumte matyti tok tinklalap. Atkreipkite dmes santykin antrašts žym dyd antrašt H1 yra didžiausia, o antrašt H6 mažiausia. Paryškinimo ir kursyvo žymos Atskirus žodžius arba frazes galite akcentuoti apgaubdami juos žymomis <b> arba <i>. Pamginkite šias žymas rašyti iš abiej kai kuri pastraipos žodži pusi: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><title>lietuvos technologijos institutas</title></head> <body> <h1>1 antrašt</h1> <h2>2 antrašt</h2> <h3>3 antrašt</h3> <h4>4 antrašt</h4> <h5>5 antrašt</h5> <h6>6 antrašt</h6> Nacionalin žems tarnyba prie Žems kio ministerijos,

17 <b>lietuvos technologijos institutas</b> yra <i>geriausia</i> GIS <i>mokykla</i> šalyje. </body> </html> Pastraipos ir horizontaliosios juostos žymos Tinklalap apaioje papildykime horizontalija juosta. Vis pirma abiejose sakinio pusse rašykite pastraipos žymas <p>, taip atsiras daugiau vietos aplink sakin. Pabaigoje rašykite horizontaliosios juostos žym <hr>. Horizontaliosios juostos žymai nereikia naudoti pradžios ir pabaigos žym. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head><title>lietuvos technologijos institutas</title></head> <body> <h1>1 antrašt</h1> <h2>2 antrašt</h2> <h3>3 antrašt</h3> <h4>4 antrašt</h4> <h5>5 antrašt</h5> <h6>6 antrašt</h6> <p><b>lietuvos technologijos institutas</b> yra <i>geriausia</i> GIS <i>mokykla</i> šalyje.</p> <hr> </body> </html> Nordami peržirti naujas žymas, rašykite fail firstpage.html. Gržkite naršykl ir spragtelkite mygtuk Refresh (Atnaujinti) arba Reload (kelti iš naujo) ekrano viršuje, kaip parodyta paveiksle. Nacionalin žems tarnyba prie Žems kio ministerijos,

18 1.2.5 Sudtingesns žymos Ankstesniuose pavyzdžiuose susipažinote su keliomis pagrindinmis žymomis ir j naudojimu. Yra daugyb kit HTML žym, kurias galite naudoti kurdami tinklalapius ir svetaines. Visai nebtina atsiminti arba mintinai išmokti visas žymas, kurias galite naudoti. Galite tiesiog pasinaudoti žym rodykle, kuri sudar W3C (angl kalba). Pasaulinio interneto konsorciumas (W3C) kuria sveikias technologijas (specifikacijas, gaires, programin rang ir priemones), kurios leidžia išnaudoti vis interneto potencial. W3C tai informacijos, bendravimo, ryši ir kolektyvini žini forumas. Toliau pateikta nuoroda visas W3 organizacijos HTML žymas, kurias galite naudoti kurdami tinklalapius Žym požymiai Norint išplsti žym galimybes, joms galima priskirti tam tikrus požymius. Žym požymiai rašomi skliaustuose ir nustatoma konkreti j reikšm; požymiai rašomi kabutse. Lygiavimo požymiai Lygiavimo požymiai nurodo teksto padt konkreioje tinklalapio vietoje. Pavyzdžiui: <p align="center"> pastraipa lygiuojama tinklalapio centre. <p align="right"> pastraipa lygiuojama ekrano dešinje. Atkreipkite dmes požymi format: 1. Pirma rašomas požymio pavadinimas: <p align="center"> 2. Antra dedamas lygybs ženklas: <p align="center"> 3. Treia kabutse rašoma norima reikšm: <p align="center"> Atkreipkite dmes, kad NRA joki tarpeli: align="center". Taiau tarpelis paliekamas tarp žymos ir požymio: <p align="center"> Plo io ir dydžio požymiai Tam tikroms žymoms galima priskirti ploio ir dydžio požymius. Pavyzdžiui, horizontaliosios juostos dyd galite pakeisti priskirdami ploio ir dydžio Nacionalin žems tarnyba prie Žems kio ministerijos,

19 požymius. Atkreipkite dmes, kad visos požymi reikšms rašomos kabutse: <hr align="center" width="400" size="5"> Šiuo atveju ekrane eilut bus 400 vaizdo tašk ploio (15 coli ekranas yra maždaug 700 vaizdo tašk ploio) ir 5 vaizdo tašk storio. vairs požymiai gali bti priskiriami žymoms bet kuria tvarka: <hr align="center" width="500" size="20"> arba <hr width="500" align="center" size="20"> Pabandykime priskirti požymius. Atverkite teksto rengykl ir faile firstpage.html išbandykite vairius derinius. Pamginkite nurodyti skirtingus horizontaliosios juostos dydžius ir lygiuotes: <p><b>lietuvos technologijos institutas</b> yra <i>geriausia</i> GIS <i>mokykla</i> šalyje.</p> </body> </html> <hr align="center" width="400" size="20"> Atsiminkite, kad nordami pamatyti, kaip pasikeit tinklalapis pakeitus kod, turite: 1. rašyti fail firstpage.html. 2. Atverti naršykl ( Explorer, Netscape, Mozilla ) ir atverti fail firstpage.html Nacionalin žems tarnyba prie Žems kio ministerijos,

20 Spalvos požymiai Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga Naudodami požymius taip pat galite parinkti tinklalapio spalvas. Vis pirma turite susirasti specialius kodus, vadinamuosius šešioliktainius kodus, kurie žymi atitinkamas spalvas. Šioje svetainje išvardyti visi šešioliktainiai spalv kodai: Turdami vis kod sraš, galite tiesiog nukopijuoti ir dti t kod, kur norite naudoti. Fono spalva Tinklalapio fonui reikia naudoti neryški šviesi spalv, kad tekstas bt aiškiai matomas ir lengvai skaitomas. Pavyzdžiui, #CCFF66 yra neryški šviesiai geltona spalva, ant kurios aiškiai matomas tamsus tekstas. <body bgcolor="#ccff66"> Atkreipkite dmes, kad tarp požymio bgcolor, lygybs ženklo ir reikšms nepaliekami tarpeliai. Kaip visuomet, reikšm nurodoma kabutse. Jeigu terpiamas spalvos požymis, jo reikšm visuomet prasideda skaiiaus simboliu (#). Pamginkite atitinkamai pakeisti žym <body>. rašykite tinklalap ir kelkite j iš naujo naršykl. Patikrinkite, ar jums patinka fono spalva. Nacionalin žems tarnyba prie Žems kio ministerijos,

21 Teksto spalva Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga Naudodami tuos paius kodus galite keisti ir teksto spalvas: <body bgcolor=#00ff00 text="#ffffff"> Vl pasikeis fono spalva, taip pat pasikeis ir viso teksto spalva. Nordami pamatyti šiuos pakeitimus, rašykite fail ir j kelkite iš naujo. Nuorodos spalva Taip pat galite keisti hiperteksto nuorod spalv, o vis ši informacij nurodyti toje paioje žymoje <body>, kaip parodyta toliau: <body bgcolor="#ffcccc" text="#000000" link="#990000" alink="#009900" vlink="#330033"> K nurodo žymos <body> požymiai? text = pagrindinio teksto spalva tinklalapyje link = nuorodos teksto spalva tinklalapyje vlink = aplankytos nuorodos spalva alink = kol vyksta aktyvinimas, nuorodos tekstas mirksi kita spalva. Pagal pateikto pavyzdžio kod: bus parinkta juoda teksto spalva nuorodos bus šviesiai raudoni aktyvinta nuoroda bus tamsiai žalia aplankyta nuoroda bus tamsiai violetin. Kadangi šiuo metu tinklalapyje nra n vienos nuorodos, ši nuorod spalv pasikeitim nepamatysite. Su nuorodomis išsamiau susipažinsime 3 temoje. Be to, visai nesvarbu, ar spalvos reikšmes nurodysite DIDŽIOSIOMIS ar mažosiomis raidmis; svarbiausia nepamišti simbolio # ir kabui iš abiej pusi. Pavyzdžiui: bgcolor="#ffcccc" yra tas pats, kas ir bgcolor="#ffcccc" Nacionalin žems tarnyba prie Žems kio ministerijos,

22 O k daryti, jeigu nenorite keisti viso teksto spalvos? Js norite pakeisti tik pirmosios antrašts spalv galbt pasirinkti ryškiai raudon. Vis pirma, pakeiskite žymos <body> spalv neryški ir ištrinkite teksto požym: <body bgcolor="#ffff66"> Šrifto požymiai Norint pakeisti teksto dyd, reikia naudoti šrifto požymius. Naujausiose HTML versijose (HTML 4 ir XHTML) atsisakoma pirminio bdo šrifto dyd nustatyti naudojant šrifto žym. HTML element išdstymo ir rodymo savybms apibržti bus naudojami stiliaus lapai (CSS), su kuriais išsamiau susipažinsite 8 temoje. <font size="1">1 punktas</font> <font size="1">2 punktai</font> <font size="1">3 punktai</font> <font size="1">4 punktai</font> <font size="1">5 punktai</font> <font size="1">6 punktai</font> <font size="1">7 punktai</font> Failo firstpage.html kod papildykite šrifto dydžio požymiais ir pažirkite, kaip tai atrodo. Pamatysite, koks yra santykinis šrifto dydis Sudarykime sraš Žmons tinklalapius skaito kitaip nei laikrašio ar žurnalo straipsnius. Interneto skaitytojai greitai akimis permeta tinklalap ir nesigilina informacij. Akys pastebi didesnes paryškintas antraštes ir punktais suskirstytus tem srašus. Taip pat svarbu paminti, kad dauguma žmoni kompiuterio ekrane skaito proc. liau nei skaityt popieriaus lap. Jie perskaito išsiskiriant tekst, kadangi jiems taip lengviau. Tai paaiškina, kodl yra tiek daug skirting bd srašams programuoti. Yra suženklint sraš kaip šis. Kiekvienas punktas pradedamas nedideliu simboliu. Nacionalin žems tarnyba prie Žems kio ministerijos,

23 Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga Tai yra neršiuotas srašas = <ul> 1. Yra sunumeruot sraš kaip šis. 2. Kiekvienas punktas pradedamas skaitmeniu arba raide. 3. Tai yra ršiuotas srašas = <ol> Taip pat yra apibržti srašai kaip šis. Kiekvienas punktas yra atitrauktas, taiau nežymimas jokiu simboliu ar skaiiumi. Neršiuotas srašas Tai yra apibržtas srašas = <dl> Neršiuoto srašo kode punktai išdstomi iš eils ir vliau ženklelio paveikslui galite priskirti vairius tipo požymius. HTML kodas <ul> <li>pirmas punktas.</li> <li>antras punktas.</li> </ul> Naršykl Pirmas punktas Antras punktas Atkreipkite dmes, kad vis pirma atveriama žyma <ul>, paskui žyma <li>, o pabaigoje užveriama žyma </li>, paskui žyma </ul>. Tvarka visada yra tokia pati pirmas sistem padtas elementas paimamas paskutinis (angl. first in, last out). Šios žymos vadinamos dtinmis žymomis. Juod apval ženklel galite pakeisti kvadrat arba tušiavidur apskritim srašo žym papildydami tipo požymiu: HTML kodas <ul type="circle"> <li>pirmas punktas</li> <li>antras punktas</li> </ul> HTML kodas <ul type="square"> <li>pirmas punktas</li> <li>antras punktas</li> </ul> Naršykl o Pirmas punktas o Antras punktas Naršykl Pirmas punktas Antras punktas Nacionalin žems tarnyba prie Žems kio ministerijos,

24 Neršiuoto srašo kod surinkite faile firstpage.html ir peržirkite j naršyklje. Jis turt atrodyti taip: Ršiuotas srašas Ršiuoto srašo kode punktai išdstomi tam tikra seka, taip pat naudojami skirting rši ženkleliai. Pavyzdžiui: HTML kodas <ol> <li>miltus suberkite duben</li> <li> duben su miltais pilkite vandens</li> <li>išmaišykite laikydamiesi nurodym</li> </ol> Naršykl 1. Miltus suberkite duben 2. duben su miltais pilkite vandens 3. Išmaišykite laikydamiesi nurodym Skaii galite pakeisti raidmis srašo žym papild tipo požymiu: HTML kodas <ol type="a"> <li>miltus suberkite duben</li> <li> duben su miltais pilkite vandens</li> <li>išmaišykite laikydamiesi nurodym</li> </ol> HTML kodas <ol type="i"> <li>miltus suberkite duben</li> <li> duben su miltais pilkite vandens</li> <li>išmaišykite laikydamiesi nurodym</li> </ol> Naršykl A. Miltus suberkite duben B. duben su miltais pilkite vandens C. Išmaišykite laikydamiesi nurodym Naršykl i. Miltus suberkite duben ii. duben su miltais pilkite vandens iii. Išmaišykite laikydamiesi nurodym Jeigu norite sraš pertraukti ir terpti pastabas arba nurodymus, sraš galite pradti nuo pasirinkto skaiiaus arba raids. Tam naudojamas pradžios požymis. Atkreipkite dmes, kad nordami nurodyti trei abcls raid turite rašyti skaii 3. Nacionalin žems tarnyba prie Žems kio ministerijos,

25 HTML kodas <ol type="a" start="3"> <li>miltus suberkite duben</li> <li> duben su miltais pilkite vandens</li> <li>išmaišykite laikydamiesi nurodym</li> </ol> Naršykl C. Miltus suberkite duben D. duben su miltais pilkite vandens E. Išmaišykite laikydamiesi nurodym Apibržtas srašas Apibržto srašo kodas atrodo taip: HTML kodas <dl> <dt>miltus suberkite duben: <dd> duben su miltais pilkite vandens</dd> <dd>išmaišykite laikydamiesi nurodym</dd> </dl> Naršykl Miltus suberkite duben: duben su miltais pilkite vandens Išmaišykite laikydamiesi nurodym Š srašo kod surinkite faile firstpage.html ir pažirkite, kaip jis atrodo naršyklje. Jis turt atrodyti taip: Kodl naudojami srašai 1. Srašus lengviau naudoti, nei kurti sraš imitacijas patiems rašant skaiius, kadangi js bet kuriuo metu sraš galite papildyti dar vienu punktu, o naršykl automatiškai iš naujo sunumeruos visus punktus. 2. Jeigu yra srašas, tai reiškia, kad kiekvieno srašo punkto tekstas yra atitrauktas nuo parašts. Jeigu srašas sudaromas ne automatiškai, ilgi sakiniai arba pastraipos apgaubia skaii ir neišlieka atitraukti nuo parašts. 3. Kai pradžios požymis naudojamas su ršiuotais srašas, galite bet kurioje vietoje pertraukti sraš j sustabdydami, terpdami komentarus ir vl pradedami sraš nuo atitinkamo skaiiaus arba raids. 4. Sraše galite naudoti kitas HTML žymas pastraipos žymas nordami atskirti srašo punktus arba paryškinimo ir kursyvo žymas nordami akcentuoti tekst. Nacionalin žems tarnyba prie Žems kio ministerijos,

26 1.3. Nuorodos Nuorod formatas Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga Internetas yra toks populiarus dl to, kad yra naudojamos nuorodos, sukurianios hiperteksto pasaul. Jie didina interneto efektyvum ir palengvina naudojimsi juo. Nuorodoms naudojamos pririšimo žymos. Nordami sukurti nuorod svetain, iš abiej nuorodos teksto pusi terpkite pririšimo žymas. Taikykite toki formul: Pradkite ir baikite pagrindine pririšimo žyma: <a>... </a> Pradžios žym papildykite požymiu href hipersaito nuoroda. Kabutse rašyta reikšm nurodys URL, prie kurio norite jungtis <a href=" </a> Tarp pradžios ir pabaigos žym surinkite žodžius, kurie bus rodomi kaip hipersaitas. Pavyzdžiui: <a href=" Atkreipkite dmes, kad tarp požymio href ir paskutinio pabaigos žymos </a> skliausto nra palikta joki tarpeli. Be to, URL nurodomas kabutse kaip ir visi kiti požymiai. Tinklalapyje firstpage.html surinkite nuorodos kod. Sukursite nuorod puslapyje, kuris atrodys taip: Paprastai tekstas bus mlynos spalvos (jeigu nebuvo pakeista nuorodos spalva) ir pabrauktas. Pels mygtuku spragteljus ant nuorodos, naršykl eis pradin puslap. Nacionalin žems tarnyba prie Žems kio ministerijos,

27 1.3.2 Nuorod srašai Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga Kaip parodyta toliau, srašo punktus galite papildyti nuorodomis iš abiej srašo punkt pusi rašydami pririšimo žymas <a>. Pateikiame kelet pavyzdži: Neršiuotas nuorod srašas HTML kodas <p>štai keletas mano mgstamiausi svetaini: <ul> <li><a href=" <li> <a href=" </ul> </p> Naršykl Štai keletas mano mgstamiausi svetaini: Google Wikipedia Ršiuotas nuorod srašas HTML kodas <p>štai keletas mano mgstamiausi svetaini: <ol> <li><a href=" <li> <a href=" </ol> </p> Naršykl Štai keletas mano mgstamiausi svetaini: Google Wikipedia Š kod surinkite faile firstpage.html, rašykite fail ir iš naujo kelkite naršykl. Turtumte matyti tok nuorod sraš: Paskirtys Dar vienas požymis, kur galite priskirti žymoms <a>, yra target="_blank" Šiuo atveju naršykl atvers nauj puslap naujame lange. Pirminis puslapis liks atidarytas pirmajame lange. Visas kodas yra toks: <a href=" target="_blank">google</a> Vienas tarpelis paliktas tarp URL pabaigos kabuts ir žodžio target. Nacionalin žems tarnyba prie Žems kio ministerijos,

28 Nurodyt kod surinkite faile firstpage.html, rašykite fail ir iš naujo kelkite naršykl. Dabar turtumte matyti nuorod Google, o spragteljus ant nuorodos Google, puslapis turt bti atvertas kitame lange Prieraišai Nuorodas taip pat galima susieti su konkreiomis svetains arba tinklalapio vietomis. Jeigu puslapiai yra labai ilgi, tokios nuorodos skaitytojui padeda patogiau judti po puslap. 1. Prieraišai perkelia kit to paties puslapio viet, 2. nuorodos perkelia viet už puslapio rib, 3. taiau jiems abiems naudojama žyma <a>. Prieraišui sukurti reikalingi du žingsniai: vienas nuorodai su konkreia vieta sukurti kitas tai vietai dokumente pažymti. Vienas iš populiariausi pririšimo nuorod sukurtas tam, kad galtumte greitai peršokti puslapio virš. Vis pirma j reikia pažymti skaiiaus simboliu, kaip parodyta toliau pateiktame kode. Š kod terpkite prieš pagrindins dalies pabaigos žym: <a href="#top">gržti virš</a> </body> Tada žym <a name="top"> naudokite tai vietai pažymti. Žym </a> užverkite iškart po to, kai j atvrte, kadangi nenorite susieti joki žodži. Taip pažymima tik ta vieta, kuri turi vesti nuoroda. Š kod terpkite iškart po žymos <body>: <body> <a name="top"></a> Š kod surinkite faile firstpage.html, rašykite fail ir iš naujo kelkite naršykl. Turtumte matyti tok vaizd. Slinkite žemyn iki puslapio apaios ir pamatysite nuorod Gržti virš : Santykiniai ir absoliutieji nuorodos Kai kuriate nuorodas puslapius, esanius kitoje svetainje, visuomet naudojate absoliuij nuorod ir nurodote vis kito puslapio URL arba interneto adres. Taiau nuorodas kit tos paios svetains puslap galite kurti dvejopai. Nacionalin žems tarnyba prie Žems kio ministerijos,

29 Pavyzdžiui, nuorod kontakt puslap tiesiog nurodoma kaip contactus.html. Kodas užrašomas taip: <a href="firstpage.html">pirmasis puslapis</a> Tai nra visas URL arba interneto adresas ir nuoroda veikia tik iš js kompiuterio, kadangi šiuo metu tinklalapis yra js kompiuterio darbalaukyje. Naršykl j supranta kaip komand surasti dokument, pavadint firstpage.html, kuris yra tame paiame kataloge kaip ir ta vieta, kurioje dabar esate. Tokia nuoroda vadinama santykine. Nordami nurodyti absoliutj sait, turtumte rašyti vis tinklalapio adres, kaip parodyta toliau: <a href=" puslapis</a> Toks saitas bt vadinamas absoliu ija nuoroda, kadangi ji nurodo absoliui, išsami ir vis URL arba interneto adres. Naršykl j supranta kaip komand surasti interneto adres, pavadint yourwebsite.com, o šioje svetainje rasti dokument firstpage.html. Ši mintis jums bus aiškesn, kai atliksite vis 1 paskaitos užduot Elektroninis paštas Nuoroda gali nukreipti ne tik kitas svetaines, bet ir el. pašto form, kurios adresato eilutje jau rašytas gavjo el. pašto adresas. Kodas atrodo taip pat, tik: vietoje rašoma mailto: (be dešinini brkšni), o vietoje URL rašomas el. pašto adresas. Štai kaip tai atrodo: <a href="mailto:anyone@somecompany.com">sisti man el. laišk</a> Jeigu tokia eilut bt rašyta dokumente, žodžiai Sisti man el. laišk bt paryškinti ir susieti su el. pašto forma, kurios eilutje bt nurodytas atitinkamas adresas. Prašome naudoti tikr el. pašto adres. Nurodytas el. pašto adresas yra išgalvotas ir pateikiamas tik kaip pavyzdys. Spragteljus ant nuorodos Sisti man el. laišk, bus atverta skaitytojo el. pašto programa, o programos adresato eilutje bus rašytas el. pašto adresas, kaip parodyta paveiksllyje. Nacionalin žems tarnyba prie Žems kio ministerijos,

30 1.4. Paveikslai Sakoma, kad vaizdai iškalbingesni už žodžius, taiau vaizdus tinklalapiui reikia rinktis atidžiai. Vaizdams kelti reikia daug daugiau laiko nei žodžiams, o tyrimai parod, kad tais atvejais, kai tenka laukti ilgiau nei 10 sekundži, žmons link rinktis kit svetain. Žinodami ši informacij, puslap papildykite vaizdais. Vis pirma jums reikalingas pats vaizdas. Internete yra keletas paveiksl galerij, silani nemokamus paveikslus ir grafik. Pradžioje keletas nauding svetaini: Atlikdami greit paiešk Google sistemoje visada rasite daugiau paveiksl svetaini Paveiksl atsisiuntimas Tam, kad paveiksl galtumte dti tinklalap, turite j vis pirma atsisisti savo kompiuter. Prieš atsisisdami paveikslus, turite susikurti aplank, kuriame laikysite visus HTML dokumentus ir paveiksl failus. Darbalaukyje sukurkite nauj aplank (išskleiskite parinkt File (Failas) viršutinje horizontaliojoje meniu juostoje ir pasirinkite New Folder (Naujas aplankas). Aplank pavadinkite mywebpage. š aplank dkite dokument firstpage.html. Pasinaudokime Google Images galimybmis ir susiraskime paveiksl, kur atsisisime. Naršyklje surinkite tok svetains adres: Šiam pavyzdžiui ieškosiu paveikslo su litu. Paieškos teksto langelyje surinkite litas ir spragtelkite ant mygtuko Search Images (Ieškoti paveiksl): Pamatysite ilg sraš paveiksl, kurie buvo surasti duomen bazje. Atsisisiu antrj iš toliau parodyt paveiksl. Nacionalin žems tarnyba prie Žems kio ministerijos,

31 Nordami atsisisti paveiksl, atlikite šiuos veiksmus: Dešiniu pels mygtuku spragtelkite ant paveikslo. Pasirinkite vien iš parinki Save Picture As (Išsaugoti vaizd kaip) arba Save Image As (Išsaugoti paveiksl kaip). Iškilusiame dialogo lange pasirinkite nauj aplank mywebsite failui rašyti. Paveiksl, kur rašote, pavadinkite taip, kad lengvai atsimintumte jo vard. Kai kuri atsisist paveiksl vardai bus panašs AHt.gif, todl juos geriau pervadinti lion.jpg arba pasirinkti kit žod, susijus su paveikslu Fail vardai ir formatai Vis paveiksl fail vardai turt baigtis.jpg arba.gif. Šiuos du formatus supranta naršykls. Jeigu js failai yra kito formato, paleiskite juos grafinje programoje, pavyzdžiui, Photoshop ir pakeiskite format Paveikslo dydžio požymiai Vienas svarbiausi paveikslo požymi yra jo dydis, kur nusako paveikslo aukštis ir plotis. Ši informacij galite nesunkiai sužinoti atverdami paveiksl naršyklje. Naršyklje spragtelkite parinkt File (Failas) viršutinje parankinje ir pažymkite Open File (Atverti fail). Tada pasirinkite norimo paveikslo fail. Šiame pavyzdyje atversiu lito paveiksl, kur minjau ankstesniame pavyzdyje. Nacionalin žems tarnyba prie Žems kio ministerijos,

32 Pats paveikslas pasirodys naršyklje, o pavadinimo juostoje bus rodomas paveikslo vardas bei jo matmenys Paveikslo lygiuots požymiai Kadangi paveiksl jau atsisiuntme, j dkite fail firstpage.html naudodamiesi toliau nurodytu kodu. Kod terpkite po pagrindins dalies pradžios žymos <body>. Nordami palikti vietos, po paveikslo rašykite kelet žym <p>. <img alt="lion" border="1" src="lion.jpg" width="135" height="118"> <p> <p> Puslapis atrodys taip: Žymai galite priskirti dešinins lygiuots požym litas atsiras dešinje pusje: <img alt="lion" border="1" src="lion.jpg" width="135" height="118" align="right"> Puslapis atrodys taip. Atkreipkite dmes, kad paveiksl lygiuojant dešinje, po juo buvs tekstas atsiranda šalia paveikslo kairje. Kaip matote iš pateikto pavyzdžio, lygiuots požymis nra labai patikimas ir itin apsunkina puslapio išdstymo tvarkym. Supažindindami jus su lentelmis parodysime daug veiksmingesn metod, kaip lygiuoti paveikslus tinklalapyje Paveiksl susiejimas Paveikslus galima naudoti ir kaip nuorodas. Viskas, k reikia padaryti, tai abiejose paveikslo žymos pusse rašyti pririšimo žymas <a>. Tam pademonstruoti pasitelksime GIS-Centro logotip. Š paveiksl naudosime kaip nuorod svetain. Nacionalin žems tarnyba prie Žems kio ministerijos,

33 Vis pirma apsilankykime svetainje kurios viršutiniame kairiajame kampe yra logotipas. Atsisiskite logotipo paveiksl aplak mywebsite laikydamiesi punkto nurodym. Logotipo paveikslas turt atsirasti ia: GIS-Centro logotipo kodas atrodo taip: <img border="1" src="logo.gif" alt="gis- Centras Logo" width="165" height="70"> Norint sukurti nuorod, reikia terpti pririšimo žymas <a>: Dabar logotipas yra nuoroda, gržinanti GIS- Centro pradin puslap. Aplink daugum susiet paveiksl yra kraštins, kurias automatiškai sukuria naršykl, atpažinusi žymas <a>. Jeigu js paveikslas toks, kaip lito paveikslas žemiau, jums gali nepatikti šios kraštins, nes pradingsta slankumo pojtis. <a href=" target="_blank"> <img border="1" src="logo.gif" alt="gis- Centras Logo" width="165" height="70"> </a> Jeigu norite, kad paveikslas atrodyt slankus, reikia kraštini požymiui priskirti reikšm 0. <a href=" target="_blank"> <img border="0" src="logo.gif" alt="gis- Centras Logo" width="165" height="70"> </a> Lito paveikslo kraštins reikšm vis dar yra 1. Išsamiau su paveiksl kraštinmis susipažinsime kitoje potemje Paveikslo kraštins Jeigu nenurodysite kraštins požymio, dauguma naršykli paveikslus, kurie yra nuorodos, automatiškai rmins. Kraštins požymis yra toks kaip ir visi kiti požymiai, su kuriais jus supažindinome prieš požym ir po jo paliekami tarpeliai, pats požymis yra be tarpeli, su lygybs ženklu ir reikšme. Kaip visuomet, reikšm nurodoma kabutse. Nacionalin žems tarnyba prie Žems kio ministerijos,

34 Kartais, nordami paveikslui suteikti daugiau išbaigtumo, galite j rminti. Paveikslui praplatinti galite naudoti kraštins požym ir ploio vaizdo taškais storio reikšm. Toliau pateikti paveikslliai iliustruoja paveikslo kraštini storum ir plonum. Border="0" border="3 border="5 border=" Fonas iš paveiksl Paveikslus galima naudoti ir kaip fon. Fono spalv galite keisti naudodami požym bgcolor <body bgcolor="#ffffff"> Kodas <body bgcolor="#ffffff"> sukuria tuši vienspalv fon. Taiau galite paimti ir nedidel paveiksl bei nurodyti naršyklei dti j ekrane tol, kol užsipildys visas ekranas (kaip darbalaukio fonas). Fono paveiksl nemokamai galite atsisisti iš šios svetains: l. Maždaug ties svetains viduriu yra viso puslapio stiliaus fono paveiksl, kuriuos galite atsisisti, srašas. Spragtelkite ant Full Page Backgrounds Page 01 ir aplank mywebsite atsisiskite antrj paveiksl viršutiniame kairiajame kampe tile_002.jpg. Dabar tinklalapis atrodo taip: Š paveiksl terpkime dokument firstpage.html. Surinkite š kod: <body background=" tile_002.jpg"> Fonus naudoti reikia labai atsargiai. Teksto spalva ir dydis turi bti pakankami, kad tekstas aiškiai matytsi fone, kitaip gali bti labai sunku skaityti tekst ant js pasirinkto fono. Dar vienas populiarus fono išklotins stilius tai kairiosios kraštins stilius. Kairioji kraštin bus kartojama iki pat puslapio apaios. Nepamirškite, kad tekst ir kitus paveikslus btina atitraukti nuo kraštins. Nacionalin žems tarnyba prie Žems kio ministerijos,

35 Iš nurodytos svetains atsisiskite kairiosios kraštins paveiksl: Dabar tinklalapis atrodo taip: ackgrounds_page02.html Kaip pavyzd naudosiu pirmj fono paveiksl bjack006.jpg <body background=" bjack006.jpg "> Jeigu ketinate naudoti kairiosios kraštins stili, rekomenduojame vis tekst ir objektus lygiuoti tinklalapio centre. Tam tereikia centro žym <center> terpti iškart po pagrindins dalies žymos: <body background=" bjack006.jpg "> <center> Paveikslai suženklintiems srašams Ankstesnje temoje sužinojote, kaip kurti srašus su iš anksto nustatytos ršies ženkleliais. Srašuose ženklelius galite pakeisti paveikslais naudodami toliau nurodyt kod. Vis pirma atsisiskime ženklelio paveiksl iš ia: Šiame pavyzdyje naudosiu mlynos rodykls paveiksl arrow2.gif Šiame pavyzdyje nenaudosiu fono paveikslo. Patarimas: jeigu norite, kad naršykl praleist kod, prieš žym arba požym rašykite šauktuk!. Šiame pavyzdyje naršykl praleis fono paveiksl, todl fonas turt bti baltos spalvos. Nacionalin žems tarnyba prie Žems kio ministerijos,

36 <body!background=" bjack006.jpg "> <dl> <dt>kas žinotina apie paveikslus: <dd><img alt=" arrow " border="1" src=" arrow2.gif " width="32" height="32" />Stenkits, kad paveikslai bt maži ir greitai keliami.</dd> <dd><img alt=" arrow " border="1" src=" arrow2.gif " width="32" height="32" />Naršykls supranta tik gif ir jpg formatus.</dd> <dd><img alt=" arrow " border="1" src=" arrow2.gif " width="32" height="32" />Naudodami ploio ir aukšio požymius paspartinkite puslapio klim.</dd> </dl> Dabar tinklalapis atrodo taip: Jeigu norite, kad srašas atrodyt dar gražiau, kraštins požym pakeiskite 0 ir atrodys, kad paveikslo ženkleliai puslapyje yra slanks. <dl> <dt>kas žinotina apie paveikslus: <dd><img alt="arrow" border="0" src=" arrow2.gif " width="32" height="32" />Stenkits, kad paveikslai bt maži ir greitai keliami.</dd> <dd><img alt=" arrow " border="0" src=" arrow2.gif " width="32" height="32" />Naršykls supranta tik gif ir jpg formatus.</dd> <dd><img alt=" arrow " border="0" src=" arrow2.gif " width="32" height="32" />Naudodami ploio ir aukšio požymius paspartinkite puslapio klim.</dd> </dl> Paveiksl miniatir krimas Paveiksl miniatiros tai labai maži (vaizdo ir failo prasme) paveikslai, t. y. sumažinti paveikslai, kurie ne tik atrodo maži, bet ir yra mažo dydžio failai. Tikros miniatiros NRA tiesiog paveikslai, kurie atrodo mažesni, kadangi j dydis keiiamas naudojant žymos img ploio ir aukšio požymius. Tikr miniatir privalumas tas, kad labai greitai keliami nedideli peržiros paveikslai. Taiau taip yra tik tuo atveju, jeigu failas yra mažas. Miniatirai sukurti netikslinga naudoti paveikslo žymos, kadangi failo dydis bus toks pats, kaip ir nesumažinto paveikslo. Nacionalin žems tarnyba prie Žems kio ministerijos,

37 Daugelis renkasi savo mgstamiausi grafin program miniatiroms sukurti. Sukurti miniatir nespecializuota grafine programa visai nesudtinga: 1. Grafinje programoje (pavyzdžiui, Photoshop, Paint Shop Pro, Gimp ir pan.) atverkite nesumažint paveiksl 2. Pasinaudokite programos dydžio keitimo funkcija Resize. sitikinkite, kad yra nustatyta parinktis Preserve aspect ratio 3. Standartin miniatira yra maždaug 200 x 200 arba mažesn, o failo dydis yra mažesnis nei 3 10k (atsižvelgiant pirmin skiriamj geb ar optimizavim) 4. Miniatir rašykite NAUJU vardu pasinaudodami Save As (rašyti kaip). Paprastai prie paveikslo miniatiros vardo pridedama _tn Pavyzdyje pateikiama lito paveikslo miniatira. Paveiksl sumažinau programa Paint Shop Pro X. Normalus dydis = 135 X 118 Failo vardas: lion.jpg Miniatiros dydis = 50 X 44 Failo vardas: lion_tn.jpg Nordami sukurti paveikslo miniatir su nuoroda, surinkite tok kod: <a href=" target="_blank"> <img alt="lion Thumbnail" border="0" src=" lion_tn.jpg" width="32" height="32" /> </a> Paveikslo plan krimas Paveikslo planas tai toks paveikslas su nuorodomis, kuris leidžia skirtingas sritis susieti su skirtingomis svetainmis. Nordami sukurti paveikslo plan, tinklalap turite papildyti dviem kod grupmis: 1. Vis pirma plano sekcija, kurioje yra srii apibržtys 2. Antra specialia žyma img su papildiniu, nurodaniu naudoti plan. Kai dokumente sukuriate paveikslo plan, privalote sukurti ir tekstinius nuorodas, papildanias paveikslo nuorodas. Tada vartotojai, kurie naudoja negrafines naršykles arba tie, kurie išjungia paveiksl rodym, turs prieig prie viso puslapio. Tekstins nuorodos naudingi tuo, kad rodomi ir tada, kai paveikslas nra kraunamas. Nacionalin žems tarnyba prie Žems kio ministerijos,

38 Toliau pateikti aprašymai paaiškina, kaip veikia šios žymos. Taiau praktikoje naudojama programin ranga ArcMap, kuri automatiškai sukuria paveiksl planus. Plano žyma ia paveikslo planui suteikiate vard, kur tursite naudoti vliau žymai img. Šis vardas tai privalomas plano žymos parametras, be kurio planas neveikia. Plano žyma atrodo taip. Atkreipkite dmes, kad plano žyma turi bti užverta pabaigoje. <map name="map of Lithuania"> ia rašomos srii žymos... </map> Srities žyma ia priskiriate atskir paveikslo srii nuorodas. Srities žyma turi tris privalomus parametrus: figros, koordinai ir parametr href. Jeigu srities žymai trks bent vieno parametro, js planas neveiks! Pateikiame srities žymos pavyzd: <area shape="ia nurodykite figr" coords="ia nurodykite koordinates" href="put URL here"> Figros ir koordinats Paveikslo planui galima naudoti tris figras: apskritim, sta iakamp ir daugiakamp. Koordinai parametre kiekvienai figrai turi bti nurodytas skirtingas skaitmen skaiius. Labai svarbu laikytis srities žym rašymo tvarkos. Pirmoji srities žyma, kurioje minima sritis, yra ta, kuri yra naudojama, todl vis pirma turite nustatyti mažas sritis, o vliau didžisias (kurios gali apgaubti mažsias). Apskritimas Jeigu pasirenkate apskritim, turite nurodyti tris skaiius: apskritimo centro X ir Y koordinates bei spindul. <area shape="circle" coords="284,131,60" href="link.htm"> Sta iakampis Parametras rect sukuria nuorodas staiakampio formos plote. Tam reikia nurodyti keturis skaiius: viršutinio kairiojo kampo X ir Y koordinates bei apatinio dešiniojo kampo X ir Y koordinates. <area shape="rect" coords="91,148,194,262" href="link.htm"> Nacionalin žems tarnyba prie Žems kio ministerijos,

39 Daugiakampis Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga poly tai paskutinis srities žymos tipas. Ši žyma naudojama norint sukurti daugiakamp, ant kurio galima spragtelti. Btina nurodyti vis daugiakampio kraštini tašk (viršni) X ir Y koordinates. Kai naudojami sudtingi daugiakampiai, koordinai parametras gali bti labai ilgas, todl yra lengva suklysti. Paprastai rekomenduojama rinktis ne daugiau kaip 8 tašk daugiakampes sritis. <area shape="poly" coords="203,213,203,387,325,336" href="link.htm"> href arba nohref Tai yra nuorodos paskirties vieta, kuri nurodoma lauke href lygiai taip pat, kaip ir žymos <a> parametras href. Be to, jeigu norite nurodyti srit, kuri neturi nuorodos, parametr href galite pakeisti parametru nohref. nohref pavyzdys: <area shape="default" nohref> Todl sritis, kuri yra neapibržta (nohref), nereaguos, kai ant jos spragtelsite. Žyma img ia naudojama žyma <img> yra tokia pati kaip ir prasta žyma, bet turi vien papildin j reikia papildyti parametru usemap, kuris žymi dokumente anksiau sukurt plan. Pavyzdžiui, paveikslo planas, kuris naudoja plan, pavadint navigation, atrodyt taip: <img src="navigation.gif" alt="navigation" usemap="#navigation"> Nacionalin žems tarnyba prie Žems kio ministerijos,

40 1.5. Lentels Paprastos lentels sukrimas Lentels buvo sukurtos tam, kad jose bt galima pateikti lentelin informacij. Vliau jos tapo pagrindine tinklalapi krimo priemone, turin paskirstania visame ekrane. Ar atkreipte dmes, kad HTML kodas yra links visk grsti prie kairiosios parašts? Lentels padeda nustatyti puslapio paraštes labai svarb balt tarp kuriant tinklalapius. Kurdami lentel naudosite šias pagrindines žymas: <table> <th> </th> <tr> <td> </td> </tr> </table> atveria lentel atveria ir rodo lentels antrašt užveria antrašts eilut atveria eilut atveria langel užveria langel užveria eilut užveria lentel Pateikiame paprastos lentels pavyzd: <table> <!First Row> <tr> <td>green</td> <td>red</td> </tr> Ši lentel atrodyt taip: <!Second Row> <tr> <td>purple</td> <td>blue</td> </tr> </table> Nacionalin žems tarnyba prie Žems kio ministerijos,

41 1.5.2 Lentels požymiai Paprasta lentel, kuri sukrme, nebuvo labai domi. Pažirkime, kaip j galime keisti papildydami lentel požymiais: <table width="60%" border="1" align="center" bordercolor="#ff0000" bgcolor="#ffff00"> <tr><td>green</td><td>red</td></tr> <tr><td>purple</td><td>blue</td></tr> </table> Dabar lentel atrodyt taip: Atsižvelgiant tai, kur terpiate požym bgcolor, galite iškart nuspalvinti vis eilut, vis lentel arba vien langel. Atkreipkite dmes, kad žymoje požymius galite rašyti bet kuria tvark, o j formatas turi bti toks: Požymio pavadinimas su lygybs ženklu (bgcolor= align= width= ). Jo reikšm, rašyta kabutse ("center" "#CC99FF" "60%"). Tarp požymio pavadinimo ir paskutins pabaigos kabuts nepaliekama joki tarpeli. Nacionalin žems tarnyba prie Žems kio ministerijos,

42 1.5.3 Nuorodos lentelse Naudodami lenteles, stulpelyje galite sukurti naršymo nuorodas: Kodo paaiškinimas Pirmoji eilut atveria lentel, kuri bus centre ir užims apie 80 proc. ekrano (iš kiekvienos puss lieka po 10 proc. tušios vietos), taip pat turs tamsiai violetin fono spalv. Požymis cellpadding turin atitraukia 10 vaizdo tašk nuo langelio kraštins, o požymis cellspacing išlaiko 5 tarp atstum tarp atskir langeli. Tada atveriama eilut. Pirmojoje eilutje atveriamas pirmasis langelis, kuris turi užimti 20 proc. lentels ploio. Šio langelio fonas bus šviesiai violetins spalvos, o turinys bus langelio viršuje dešinje pusje. Toliau pateikiamas dviej aktyvi nuorod, vieno Google, o kito js pirmj puslap, srašas. Visos nuorodos yra pirmajame langelyje vienas virš kito. Tada langelis yra užveriamas. Taiau eilut dar neužverta. Paskui atversite antrj langel, nustatysite, kad jis užimt 80 proc. lentels ploio, suteiksite jam šviesiai mlyn fon ir turin lygiuosite prie viršutinio kairiojo kampo. Tada eina teksto pastraipa, o pasibaigus pastraipai užveriate antrj langel, po to eilut ir vis lentel. Lentels kodas <table width=80% align="center" bgcolor="#ffffcc" cellpadding="10" cellspacing="5"> <tr> <td width="20%" align="right" valign="top" bgcolor="#bb99ff"> <p><b><a href=" Google!</a></b></p> <p><b><a href="firstpage.html">see my first page!</a></b></p></td> <td width="80%" align="left" valign="top" bgcolor="#hhccff"> <p>in exum fuer des wagol, demp, unz framiz miqqel woddwein exum fuer des wagol, demp, unz framiz miqqel woddwe In exum fuer des aagol, demp, unz framiz miqqel woddwe In exum fuer des wagol, demp, unz framiz miqqel woddwe.</p></td> </tr> </table>... ir lentel atrodys taip: Požymiai cellpadding ir cellspacing Požymis cellpadding sukuria daugiau baltos erdvs tarp langeli krašt ir turinio. Požymis cellspacing padidina atstum tarp langeli. Abiej požymi reikšms nurodomos vaizdo taškais. Abu šie požymiai priskiriami žymai <table>. Nacionalin žems tarnyba prie Žems kio ministerijos,

43 Daugiau ši dviej požymi naudojimo pavyzdži pateikta šiose svetainse: Cellpadding Cellspacing - Dar vienas pavyzdys, kaip naudoti lenteles. Apibržt sraš, kur sukrme ankstesnje temoje, paverskime lentele: <table align="center" cellpadding="5" cellspacing="5" width="100%"> <tr><td colspan="2" align="center"><h2> Kas žinotina apie paveikslus:</h2></td></tr> <tr> <td width="20%" align="right"><img alt="arrow" border="0" src="arrow2.gif" width="32"height="32"></td> <td width="80%">stenkits, kad paveikslai bt maži ir greitai keliami.</td></tr> <tr> <td align="right"><img alt="arrow" border="0" src="arrow2.gif" width="32"height="32"></td> <td>naršykls supranta tik gif ir jpg formatus.</td> </tr> <tr> <td align="right"><img alt="arrow" border="0" src="arrow2.gif" width="32"height="32"> </td> <td> Naudodami ploio ir aukšio požymius paspartinkite puslapio klim. </td> </tr> </table> Dabar papildykime kraštins požymiu: <table align="center" cellpadding="5" cellspacing="5" width="100%" border= 1 >... ir lentel turt atrodyti taip: Nacionalin žems tarnyba prie Žems kio ministerijos,

44 1.5.5 Spalv ir paveiksl naudojimas lentelse Lenteles galite naudoti nordami tekst pateikti kairje esaniame fone, kaip parodyta pavyzdyje. Nustatyta, kad pirmasis langelis užimt 25 proc. lentels ploio ir jame nebt teksto, o antrasis 75 proc. lentels ploio, o jame bt tekstas, kuris matomas dešinje: <table width="100%" cellpadding="5" cellspacing="5"> <tr> <td width="25%"> </td> <td width="75%" align="left"> <h1>džiunglse</h1> <h4>litai</h4> <h6>drambliai</h6> </td> </tr> </table> Lenteles taip pat galite naudoti kurdami tinklalapi grafin dizain ir nuspalvindami kiekvien langel. Pavyzdžiui: <table width="100%" border="0" cellpadding="5" cellspacing="0"> Tinklalapis atrodyt taip: <tr> <td bgcolor="#6600cc" width="12%"> </td> <td bgcolor="#ff0000" width="13%"> </td> <td bgcolor="#ffff00" width="75%"> </td> </tr> <tr> <td bgcolor="#6666ff" width="12%"> </td> <td bgcolor="#ff9966" width="13%"> </td> <td bgcolor="#ffff00" width="75%"><h1>gis- Centras</h1></td> </tr> <tr> <td bgcolor="#0066ff" Nacionalin žems tarnyba prie Žems kio ministerijos,

45 width="12%"> </td> <td bgcolor="#cc0000" width="13%"> </td> <td bgcolor="#ffff00" width="75%"> </td> </tr> </table> Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga Nacionalin žems tarnyba prie Žems kio ministerijos,

46 1.6. Rmeliai Supažindinimas su rmeliais Naudodami rmelius tame paiame naršykls lange galite rodyti daugiau nei vien tinklalap. Pavyzdžiui, galite pasirinkti vertikalij arba horizontalij rmin konstrukcij. Naudodami rmelius tame paiame naršykls lange galite rodyti daugiau nei vien HTML dokument. Kiekvienas HTML dokumentas vadinamas rmeliu, o kiekvienas rmelis priklauso nuo kit rmeli. Rmeli naudojimo trkumai: tinklalapio krjui reikia stebti daugiau HTML dokument sunku išspausdinti vis puslap Šiai temai naudosime pavyzdžius iš svetains W3schools, kurie geriau iliustruos vairius rmeli naudojimo aspektus. (angl kalba) Rmeli žymos Rmins konstrukcijos žyma Žyma <frameset> apibržia, kaip lang padalyti rmelius. Kiekviena rmin konstrukcija apibržia eilui arba stulpeli grup. Eilui arba stulpeli reikšms nurodo, kiek ekrano ploto užims kiekviena eilut arba stulpelis. Rmelio žyma Žyma <frame> apibržia, kur HTML dokument patalpinti kiekviename rmelyje. Toliau pateiktame pavyzdyje yra rmin konstrukcija, sudaryta iš dviej stulpeli. Nustatyta, kad pirmasis stulpelis užimt 25 proc. naršykls lango ploio. Antrasis stulpelis turi užimti 75 proc. naršykls lango ploio. HTML dokumentas frame_a.htm yra pateiktas pirmajame stulpelyje, o HTML dokumentas frame_b.htm antrajame. <frameset cols="25%,75%"> <frame src="frame_a.htm"> <frame src="frame_b.htm"> </frameset> Rmeli požymiai Jeigu rmelis turi matomas kraštines, vartotojas gali keisti rmelio dyd tempdamas kraštin. Nordami nuo to apsisaugoti, galite žym <frame> papildyti noresize="noresize". Naršyklms, kurios nepalaiko rmeli, terpkite <noframes>. Nacionalin žems tarnyba prie Žems kio ministerijos,

47 Atkreipkite dmes: žym <body></body> negalima naudoti kartu su žymomis <frameset></frameset>! Taiau, jeigu naršyklms, kurios nepalaiko rmeli, terpsite žym <noframes> su tekstu, š tekst tursite apgaubti žymomis <body></body>! Kaip tai daroma, parodyta pirmame pavyzdyje toliau. Kaip naudoti žym <noframes> Šiame pavyzdyje parodyta, kaip naudoti žym <noframes>. Mišri rmin konstrukcija Šiame pavyzdyje parodyta, kaip sukurti trij dokument rmin konstrukcij ir kaip juos derinti eilutse ir stulpeliuose. Rmin konstrukcija su noresize="noresize" Šiame pavyzdyje parodyta, kaip naudojamas požymis noresize. Rmeli dydžio keisti negalima. Pele veskite per rmeli kraštines ir pamatysite, kad kraštini judinti negalima. Naršymo rmelis Šiame pavyzdyje parodyta, kaip sukurti naršymo rmel. Naršymo rmelyje pateikiamas nuorod srašas, o antrasis rmelis nurodytas kaip paskirtis (angl. target). Faile tryhtml_contents.htm yra trys nuorodos. Nuorod išeitinis kodas: <a href ="frame_a.htm" target ="showframe">frame a</a><br> <a href ="frame_b.htm" target ="showframe">frame b</a><br> <a href ="frame_c.htm" target ="showframe">frame c</a> Antrajame rmelyje bus rodomas susietas dokumentas. terptasis rmelis Šiame pavyzdyje parodyta, kaip sukurti terptj rmel (rmel HTML puslapio viduje). Peršokti nurodyt rmelio sekcij Šiame pavyzdyje parodyti du rmeliai. Viename iš rmeli yra šaltinis nurodyt failo sekcij. Faile link.htm nurodyta sekcija žymima <a name="c10">. Peršokti nurodyt sekcij naršymo rmelyje Šiame pavyzdyje parodyti du rmeliai. Naršymo rmelyje (content.htm) kairje pateikiamas nuorod srašas, o antrasis rmelis (link.htm) naudojamas kaip paskirtis. Antrajame rmelyje rodomas susietas dokumentas. Vienas iš nuorod naršymo rmelyje yra susietas su nurodyta paskirties failo sekcija. HTML kodas Nacionalin žems tarnyba prie Žems kio ministerijos,

48 faile content.htm atrodo taip: <a href ="link.htm" target ="showframe">link without Anchor</a><br><a href ="link.htm#c10" target ="showframe">link with Anchor</a>. Rmeli žymos Žyma <frameset> <frame> Apibdinimas <noframes> nepalaiko rmeli Apibržia rmin konstrukcij Apibržia lango dal (rmel) Apibržia berm sekcij naršyklms, kurios <iframe> Apibržia terptj lango dal (rmel) Vertikalieji rmeliai Šiame pavyzdyje parodyta, kaip sukurti trij skirting dokument vertikalij rmin konstrukcij ( Horizontalieji rmeliai Šiame pavyzdyje parodyta, kaip sukurti trij skirting dokument horizontalij rmin konstrukcij ( Naršymo rmelis Šiame pavyzdyje parodyta, kaip sukurti naršymo rmel. Naršymo rmelyje pateikiamas nuorod srašas, o antrasis rmelis nurodytas kaip paskirtis (angl. target). Faile tryhtml_contents.htm yra trys nuorodos. Sait išeitinis kodas: <a href ="frame_a.htm" target ="showframe">frame a</a><br> <a href ="frame_b.htm" target ="showframe">frame b</a><br> <a href ="frame_c.htm" target ="showframe">frame c</a> Antrajame rmelyje bus rodomas susietas dokumentas ( Nacionalin žems tarnyba prie Žems kio ministerijos,

49 1.7. HTML padalijimai Žyma <div> apibržia loginius padalijimus, nustatytus tinklalapyje. Ji veikia labai panašiai kaip ir pastraipos žyma, taiau puslap padalija didesnes sekcijas. Žyma <div> taip pat leidžia nustatyti ištis HTML sekcij stili. Galite puslapio sekcij apibržti kaip paaiškinim, o šiai sekcijai suteikti stili, kuris skirsis nuo aplinkinio teksto stiliaus. Žyma <div> leidžia suteikti vard tam tikroms dokument sekcijoms, todl jas galtumte formuoti pasinaudodami stiliaus lapais arba dinamine HTML. Vienas dalykas, kur reikia atsiminti naudojant žym <div> yra tai, kad ji pertraukia pastraipas. Ji atitinka pastraipos pabaig arba pradži, todl šia žyma pažymtose sekcijose pastraipos yra galimos, taiau pastraipos viduje žymos terpti negalima. Svarbiausi žymos <div> požymiai yra šie: style stiliaus class klass id atpažinimo Žyma <div> negali pakeisti žymos <p>. Žyma <p> naudojama tik pastraipoms, o žyma <div> apibržia bendresnio pobdžio dokumento padalijimus. Žym <p> nekeiskite žymomis <div>. terpiant žymas <div> dokument rekomenduojama jas pažymti. Pavyzdžiui, jeigu apibržiate svetains pagrindin turinio srit, turtumte žym DIV pavadinti taip: maincontent. <div id="maincontent"> Rekomenduojama žymas <div> visada užverti iškart po to, kai jas atveriate. Po to turin patalpinkite elemente. Jeigu naudojate dtines žymas <div>, patikrinkite, ar žinote, kur rašote turin (kitaip tariant, kurios žymos dalimi jis turt bti). Stiliaus padalijimas <div style="color : #ff0000">raudonas tekstas</div> Abipusiai lygiuotas tekstas <div align="justify">toliau pateiktas tekstas bus iš abiej pusi lygiuotas per naršykls plot. Toks padalijimas gali nepasitvirtinti kai kuriose naršyklse. Jam apibržti taip pat galima naudoti stiliaus žymas. Lorem ipsum sit dolor amet. Lorem ipsum sit dolor amet. Lorem ipsum sit dolor amet. Lorem ipsum sit dolor amet. Lorem ipsum sit dolor amet. Lorem ipsum sit dolor amet.</div> Kadangi tai yra elemento lygmens žyma, dauguma naršykli prieš element ir po jo terps papildom tarp (panašiai kaip ir pastraipos elemento atveju). Šis elementas dažnai naudojamas tinklalapiams kurti naudojant stiliaus lapus. Nacionalin žems tarnyba prie Žems kio ministerijos,

50 Nordami išsamiau susipažinti su žymos <div> naudojimu, apsilankykite šioje svetainje: (angl kalba). Nacionalin žems tarnyba prie Žems kio ministerijos,

51 1.8. CSS Supažindinimas su CSS Pakopinio stiliaus lapai (CSS) jums leidžia supaprastinti tinklalapi krim. Vienas pagrindini CSS privalum yra tas, kad jis leidžia nuosekliai išlaikyti tinklalapi išvaizd ir stilistik. Be to, CSS jums leidžia valdyti daugiau tinklalapio išdstymo ir kompozicijos aspekt. Daugiau, nei leidžia HTML kodas. Panagrinkime vien iš populiaresni HTML taikom stili teksto spalv ir dyd. Rašydami HTML kod, raudon tekst <h1> kurtumte taip: <font color="#ff0000"><h1>raudonas tekstas</h1></font> Taiau jeigu nortumte, kad visos js antrašts <h1> bt raudonos, turtumte šias šrifto žymas terpti prieš kiekvien žym <h1> ir po jos. Tam galite sugaišti labai daug laiko, taip pat padidt tikimyb velti klaid programuojant. Naudodami CSS galite sukurti stiliaus lap, kuris visas antraštes <h1> nuspalvins raudonai. Toks stiliaus lapas atrodys taip: h1 {color: #FF0000;} Sukrus š stili, visos žymos <h1>, kurios naudoja š stili, automatiškai virs raudonomis. Stiliaus lapo struktr panagrinkime išsamiau: 1. Pasirinkite element arba žym, kuriems bus taikomas stiliaus lapas. Pavyzdžiui, h1 2. terpkite pradžios riestin skliaust { 3. vardykite savyb ir reikšm, jas atskirdami dvitaškiu. Pavyzdžiui, spalva #FF0000 (color: #FF0000) 4. terpkite kabliatašk ; 5. Ir stiliaus žym užverkite pabaigos riestiniu skliaustu } Savybi arba reikšmi por skaiius nra ribojamas. Po kiekvienos poros reikia rašyti kabliatašk, o abu elementus poroje atskirti dvitaškiu. Yra daugyb smulkmen, bet atsiminkite: stiliaus kod tereikia parašyti vien kart ir jis bus taikomas visoms žymoms <h1>. Galime tsti toliau ir stili papildyti šrifto dydžio bei šrifto storio požymiais. Nacionalin žems tarnyba prie Žems kio ministerijos,

52 1.8.2 Pirmasis tinklalapis naudojant CSS Prieš praddami kurti pirmj CSS tinklalap, vis pirma turite sukurti tinklalap, kuris bus susijs su CSS failu. Darbalaukyje sukurkite nauj aplank ir j pavadinkite csswebsite. š aplank dkite failo firstpage.html kopij. Atverkite fail firstpage.html, ištrinkite vis kod ir j pakeiskite tokiu kodu: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>mano pirmasis CSS tinklalapis</title></head> <body> <h1>gis-centras</h1> <p>in exum fuer des wagol, demp, unz framiz miqqel woddwein exum fuer des wagol, demp, unz framiz miqqel woddwe In exum fuer des aagol, demp, unz framiz miqqel woddwe In exum fuer des wagol, demp, unz framiz miqqel woddwe.</p> <p>in exum fuer des wagol, demp, unz framiz miqqel woddwein exum fuer des wagol, demp, unz framiz miqqel woddwe In exum fuer des aagol, demp, unz framiz miqqel woddwe In exum fuer des wagol, demp, unz framiz miqqel woddwe.</p> </body> </html> Teksto rengyklje Notepad atverkite nauj dokument ir nukopijuokite toliau nurodyt kod. body { background-color: #FFFFFF; margin-top: 2%; margin-right:10%; margin-bottom: 2%; margin-left: 10%; } h1 { font-family: Georgia, Times, serif; Nacionalin žems tarnyba prie Žems kio ministerijos,

53 font-size: 24px; font-weight: bold; color: #000033; } Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga Pagrindins dalies stiliuje fono spalva nustatyta balta (#FFFFFF), parašts nustatytos aplink vis puslap. Stiliuje h1 buvo nustatytas šrifto tipas, storis ir spalva. Š puslap rašykite kaip fail first.css ir sitikinkite, kad jis yra tame paiame aplanke (csswebsite). Dabar šiame aplanke turt bti du failai first.css ir firstpage.html. Atkreipkite dmes, kad Windows atpažino failo tip CSS ir š fail pažymjo kaip pakopinio stiliaus lap dokument. Dabar HTML fail reikia susieti su CSS failu ir tik paskui j bus galima naudoti. Dar kart atverkite fail firstpage.html ir tarp pradžios bei pabaigos žym <head> </head> terpkite žym <link>. <head> <link href="first.css" rel="stylesheet" type="text/css"> <title>mano pirmasis CSS tinklalapis</title></head> Bet kurioje žymoje <a> požymis href yra toks pats ir nurodo js stiliaus lapo URL. Požymis rel nurodo, kad siejama su stiliaus lapu. Tipo požymis nurodo stiliaus lapo, su kuriuo siejate, tip. rašykite fail firstpage.html ir pamginkite paleisti j naršyklje. Turtumte pamatyti tok vaizd: Pakeiskime tinklalap terpdami žymos <p> stili. Fail first.css papildykite šiuo kodu: p { color: #FF00FF; font-size: 18px; } Dabar tinklalapis turt atrodyti taip: Nacionalin žems tarnyba prie Žems kio ministerijos,

54 1.8.3 Naršymo srašai Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga Naršymo meniu galima vertinti tiesiog kaip nuorod sraš. Kad ir koks bt naršymo meniu horizontali eilut viršuje ar vertikali eilut šone tai vis tiek yra tik srašas. Jeigu naršym programuosite naudodami XHTML su CSS, galite sukurti meniu, kuris greitai keliamas (XHTML) ir lengvai adaptuojamas (CSS). Tam, kad pradtumte kurti naršymo sraš, jums reikalingas srašas. Tam naudojamas standartinis neršiuotas srašas, kurio kiekvienas punktas yra susietas su žymomis <a>. Toliau nurodyt kod terpkite puslap firstpage.html, esant aplanke csswebsite. Kod rašykite iškart po pradžios žymos <body>. <ul> <li><a href= <li><a href= </ul> Nenaudojant CSS stiliaus, toks meniu nra labai patrauklus, bet pakanka vos keli CSS stili ir galite sukurti meniu, kuriuo tikrai didžiuosits. ia buvo panaudotas tušiasis arba # nuorodas, todl meniu punktai atrodo kaip nuorodos, kai pele užlipama ant teksto, taiau jie nra susieti su jokiais puslapiais Padalijim terpimas Atverkite stiliaus lap first.css ir terpkite toliau nurodyt stiliaus kod. Puslapis atrodys geriau sukomponuotas. Puslapis bus skaidomas du padalijimus: vien kairje pusje esaniam naršymo skydeliui ir kit pagrindinei daliai arba puslapio centrui. Pirmj padalijim pavadinkite.navigation ir nustatykite langelio padt praddami nuo absoliuiosios padties (0,0 x-y ašyje, pradinis taškas viršuje kairje), nurodykite, kad viršutins parašts dydis yra 10 vaizdo tašk, dešiniosios šonins 1 vaizdo taško ploio kraštins spalva yra šviesiai žalia. Visas langelis užims 20 proc. ekrano ploio. Antrajame padalijime.centerdoc nurodykite langelio atitraukim. Naudodami tik skaiius nurodykite viršutins, dešiniosios, apatins ir kairiosios kraštins vaizdo taškus tokia tvarka: viršutin = 0 vaizdo tašk dešinioji = 0 vaizdo tašk apatin = 20 vaizdo tašk kairioji = 200 vaizdo tašk Btent dl ši 200 vaizdo tašk naršykl praleis pirmj padalijim.navigation ir puslapyje pagrindin dal parodys atitraukt per 200 vaizdo tašk..navigation {position: absolute; margin-top: 10px; border-right: 1px solid #C6EC8C; Nacionalin žems tarnyba prie Žems kio ministerijos,

55 .centerdoc width: 15%;} Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga {padding: px 200px; margin-top: 10px; z-index: 20;} terpkite nurodyt kod dokument first.css ir btinai rašykite fail. Dabar atverkite fail firstpage.html ir terpkite toliau nurodytus padalijimus: <div class="navigation"> <ul> <li><a href= <li><a href= </ul> </div> <div class="centerdoc"> <h1>gis-centras</h1> <p>in exum fuer des wagol, demp, unz framiz miqqel woddwein exum fuer des wagol, demp, unz framiz miqqel woddwe In exum fuer des aagol, demp, unz framiz miqqel woddwe In exum fuer des wagol, demp, unz framiz miqqel woddwe.</p> <p>in exum fuer des wagol, demp, unz framiz miqqel woddwein exum fuer des wagol, demp, unz framiz miqqel woddwe In exum fuer des aagol, demp, unz framiz miqqel woddwe In exum fuer des wagol, demp, unz framiz miqqel woddwe.</p> </div> Stiliaus lap papildykime dar vienu stiliumi faile first.css terpdami š kod: li { list-style-type: none; display: block; text-align: left; background-color: #C6EC8C; border-top: solid 1px #cc9933; } rašykite fail first.css ir atverkite firstpage.html naršyklje. Turtumte pamatyti tok puslap: Nacionalin žems tarnyba prie Žems kio ministerijos,

56 Nordami toliau eksperimentuoti ir sužinoti daugiau apie pakopinio stiliaus lapus, apsilankykite nurodytoje svetainje. Joje pateikta daugiau kaip 70 CSS pavyzdži ir nuorod. (angl kalba) Nacionalin žems tarnyba prie Žems kio ministerijos,

57 1.9. Formos Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga Forma tai tiesiog tinklalapis, galintis surinkti informacij apie skaitytojus ir j išsisti el. pašto adresu. Toki informacij galima surinkti atliekant apklaus, teikiant kontakt form, užsakymo form arba klient atsiliepim form Formos žymos Prieš praddami kurti formas tinklalapio kod turite papildyti tam tikromis eilutmis. Šios kodo eiluts tvarkys formos duomenis ir rezultatus sis js el. pašto adresu. Šiame pavyzdyje naudosime išgalvot tinklalapio adres. Kad js forma veikt, tinklalapio administratorius jums turi suteikti reikaling informacij (toliau paryškinta juodai). <body> <form action=" method="post"> <input type="hidden" name=" to" value="anyone@somecompany.com"> <input type="hidden" name="nextpage" value=" <input type="hidden" name="subject" value="information Needed"> </form> </body> Pirmoji žyma <form> atveria form. Puslapio pabaigoje nepamirškite terpti pabaigos žymos </form>. Veiksmo požymis action=" method="post" naršyklei nurodo, kur sisti form vestus duomenis. Šiuo atveju duomenys turt bti siuniami skriptui cgi, kur svetains administratorius sukr js svetainje. Šis skriptas cgi nuskaitys vestus duomenis iš <form> ir juos formatuos. CGI reiškia bendrj tinkl sietuv. Kitos eiluts <input type="hidden" name=" to" value="anyone@somecompany.com"> vartotojas nematys, taiau ji nurodys naršyklei rezultatus sisti el. pašto adresu, kuris nurodytas reikšms požymyje. Kitos dvi eiluts taip pat skirtos vedamiems duomenims ir yra paslptos: <input type="hidden" name="nextpage" value=" Naršyklei nurodoma, kad spragteljus ant mygtuko Submit (Išsisti), reikia krauti kit puslap Šiame puslapyje svetains lankytojui nurodoma <input type="hidden" name="subject" value="information Needed"> Kita paslpta vedama informacija name="subject" naršyklei nurodo, k norite matyti el. laiško temos eilutje. Nacionalin žems tarnyba prie Žems kio ministerijos,

58 Dabar žinosite, kad visi laiškai, kuri temos eilutje nurodyta Information Needed, atkeliauja iš šios formos. Kiekvienai žymai <input> reikia priskirti: 1. Tip, kuris gali bti hidden, radio, checkbox, text, textarea, submit ir (arba) reset 2. Vard, kuris atkeliaus kaip žymena el. laiške. 3. Reikšm, kuri yra turinys, vartotojo rašomas pateikt form. Jeigu naudojamos parinkties akuts ir žymimieji langeliai, j reikšm bus nurodyta kode. Jeigu pasirenkamas tekstas ir tekstins sritys, reikšmes surenka vartotojas Parinkties akuts Kiekvienam formos vediniui reiks nurodyti tip, vard ir reikšm. Pateikiame parinkties akui žym <input> sraš: <p>kokius ledus labiausiai mgstate</p> <p> <input type="radio" name="ice cream" value="chocolate">šokoladinius? <input type="radio" name="ice cream" value="vanilla" checked="checked">vanilinius? <input type="radio" name="ice cream" value="strawberry">braškinius? </p> Naršyklje tinklalapis atrodys taip: Požymi sraš papildantis požymis checked="checked" nurodo, kad yra iš anksto pasirinktas btent šis pasirinkimas Išsiuntimo mygtukas Užpilds form, svetains lankytojas turi spragtelti ant išsiuntimo mygtuko. Išsiuntimo mygtuko kodas yra toks: <input type="submit" value="submit"> Šiuo atveju vardo nurodyti nereikia. Pakanka nurodyti naršyklei, kad tai yra signalas šias reikšmes sisti cgi-bin adresu, nurodytu žymoje <form>. Reikšms požymis parodo tai, kas bus matoma mygtuke, kai dokumentas bus krautas naršykl. Jeigu reikšm pakeistumte atrodyt taip: <input type="submit" value="send Now">, mygtukas Nacionalin žems tarnyba prie Žems kio ministerijos,

59 1.9.4 Žymimieji langeliai Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga Parinkties akuts form pildaniam asmeniui leidžia tik vien pasirinkim. Bandant spragtelti daugiau nei ant vienos parinkties akuts, anksiau spragtelta akut pasidarys tušia. Žymimieji langeliai leidžia form pildaniam asmeniui pasirinkti kelet parinki. Kiekvienai žymai <input> reikia nurodyti tipo, vardo ir verts požym. <p>jûsø mëgstamiausias vaisius?</p> <p> <input type="checkbox" name="fruit1" value="banana">bananas <input type="checkbox" name="fruit2" value="orange">apelsinas <input type="checkbox" name="fruit3" value="apple">obuolys <input type="checkbox" name="fruit4" value="pear">kriauðë </p> Atkreipkite dmes, kad visi žymimj langeli vardai turi bti skirtingi (kitaip nei parinkties akui). Taip yra todl, kad parinkties akuts leidžia tik vien atsakym, o žymimieji langeliai kelis. Štai kaip tai atrodys naršykls lange: vesties žyma Tam, kad surinktumte tekstin informacij, jums reikia vietos, kur svetains lankytojai galt vesti informacij. Vienas iš taikom metod yra žyma input. Štai kaip atrodys kodas, parašytas keliems tekstiniams langeliams, kuriuose klientai rašys savo vard, pavard ir telefono numer, taip pat užsakom skl pakeli skaii: <p>vardas: <input type="text" name="first_name"></p> <p>pavardë: <input type="text" name="last_name"></p> <p>telefono numeris: <input type="text" name="phone"></p> Forma turt atrodyti taip: Nacionalin žems tarnyba prie Žems kio ministerijos,

60 1.9.6 Tekstin sritis Tekstins sritys tai didesni formos langeliai, kuriuose skaitytojai gali surinkti kelet eilui pastab arba klausim. Šiems teksto langeliams nenaudojamos žymos <input>, todl požymiai turi priskirti papildom informacij, nustatani tekstins srities eilui ir stulpeli skaii. Kitoje eilutje atverkite 44 simboli ploio ir 5 eilui ilgio tekstin srit. <p>šiame langelyje rašykite papildomas pastabas: <textarea name="comments" rows="4" cols="45"></textarea> </p> Ji atrodys taip: Gržties mygtukas Jeigu kuris nors lankytojas nurodo vis informacij, bet vliau apsigalvoja, galite numatyti gržties mygtuk Reset. Vienu spragteljimu dings visi form vesti duomenys. Kodas yra toks: <input type="reset" value="reset"> Kaip ir išsiuntimo mygtuko atveju, vardo nurodyti nereikia. Tereikia nurodyti naršyklei, kad tai yra signalas visiems vestiems duomenims ištrinti ir pradti iš naujo. Reikšms požymis parodo tai, kas bus matoma mygtuke, kai dokumentas bus krautas naršykl. Štai taip: Jeigu reikšm pakeistumte <input type="reset" value="try Again">, mygtukas atrodyt taip: Nacionalin žems tarnyba prie Žems kio ministerijos,

61 Form pavyzdžiai iš svetains W3 Schools Šioje svetainje pateikiama daugyb form pavyzdži: Forma su vesties laukais ir išsiuntimo mygtuku Šiame pavyzdyje parodyta, kaip puslap papildyti forma. Formoje yra du vesties laukai ir išsiuntimo mygtukas: Forma su žymimaisiais langeliais Formoje yra du žymimieji langeliai ir išsiuntimo mygtukas: Forma su parinkties akutmis Formoje yra dvi parinkties akuts ir išsiuntimo mygtukas: Sisti el. laišk iš formos Šiame pavyzdyje parodyta, kaip iš formos sisti el. laišk: Nacionalin žems tarnyba prie Žems kio ministerijos,

62 Nuorodos (angl kalba) als_beginning_html_and_web_design.htm Paskaitos savarankiško mokymosi klausimai: 1. Kokie yra septyni interneto sluoksniai ir kokias funkcijas jie atlieka? 2. Apibdinkite interneto TCP/IP struktrin element ir paaiškinkite, kaip jis sveikauja su FTP ir HTTP. 3. Paaiškinkite HTML žym ir HTML požymi paskirt. 4. Nurodykite 3 priežastis, dl kuri tinklalapyje pateiktumte sraš, ir paaiškinkite, kuo ršiuotas srašas skiriasi nuo neršiuoto. 5. k reikia atkreipti dmes atsisiuniant paveikslus iš interneto? 6. Paaiškinkite, kokia yra pagrindin paveikslo plano paskirtis ir naudojimas. 7. Kokiu tikslu buvo sukurtos lentels? 8. Kokie yra du pagrindiniai rmeli naudojimo trkumai? 9. Koks yra pagrindinis CSS naudojimo privalumas? 10. Kokias funkcijas formos atlieka tinklalapyje? Nacionalin žems tarnyba prie Žems kio ministerijos,

63 Vartojamieji terminai: Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga TCP/IP FTP HTTP Telnetas SMTP Bittorrent ARPANET OSI HTML Tinklalapis Žymos Požymiai DTD W3C Naršykl Nuorodos Srašai Paskirtis Prieraišas Santykinis Absoliutusis El. paštas Atsisisti Paveikslas Paveikslo planas Lentel Langeli atitraukimas (angl. cellpadding) Langeli protarpiai (angl. cellspacing) Rmeliai Rmin konstrukcija Padalijimai CSS Formos Nacionalin žems tarnyba prie Žems kio ministerijos,

64 2. Interneto kalbos vartotojo ssajos, ryšio, duomen ir schem aprašams Skript kalbos ir susijusios technologijos DHTML, HTML, HTML dokumento objekt modeliai (DOM), JavaScript, XML, XSL ir XSLT yra labai svarbios, ypa interneto krimo pltrai ir taikomosioms programoms. Šioje paskaitoje supažindinama su šiomis interneto taikomj program technologijomis prapleiant temas, kurios buvo nagrinjamos 1 paskaitoje, ir apibdinant, kaip naujausi interneto taikomj program technologijos laimjimai prisidjo prie interneto technologij veiksmingumo didinimo. Aptariami metodai, susiejantys DHTML DOM, W3C standartai, JavaScript metodai, XML kodavimas, XSL ir XSLT metodai, taip pat j privalumai ir trkumai. Nacionalin žems tarnyba prie Žems kio ministerijos,

65 2.1. DHTML, W3C standartai, HTML dokumento objekt modelis Dinamin HTML arba DHTML Dinamin HTML, arba DHTML, yra interaktyvij ir animacini svetaini krimo metod visuma. Šie metodai leidžia keisti tinklalapi išvaizd ir turin (todl tokie puslapiai gali bti vadinami interaktyviaisiais arba animaciniais). DHTML naudoja kelet kalb (pavyzdžiui, HTML), kliento puss skript kalb (pvz., JavaScript ), aprašomj turinio kalb (angl. presentation definition language) (pakopinius stiliaus lapus, CSS) ir dokumento objekt model. DHTML tinklalapyje skriptai keiia turinio aprašomosios kalbos kintamuosius. Taip keiiama HTML puslapio turinio išvaizda ir veikimas. DHTML dažnai naudojama tinklalapiuose kuriant paveiksl kaitos mygtukus arba išskleidžiamuosius meniu. Be to, dinaminis tinklalapis yra platesn svoka. Tai bet kuris tinklalapis, kuris kiekvienam vartotojui, apkrovai ar konkreioms kintamj reikšmms kuriamas skirtingai. Tokie tinklalapiai gali bti sukurti ir kliento puss, ir serverio puss skript (pvz., PHP arba Perl ), kai interneto serveris turin kuria prieš išsisdamas j klientui. DHTML trkumai: Kartais skriptai nevienodai veik skirtingose interneto naršyklse, todl buvo pasitelkti naujesni metodai (pvz., JavaScript kodavimas ir DOM skriptai). Šiais naujesniais metodais tapo lengviau naudotis pradjus taikyti progresin gerinim (angl. Progressive Enhancement) (interneto projektavimo strategija, kurioje akcentuojamas prieinamumas bei išorini stiliaus lap ir skript technologijos). Sunkumai kuriant ir derinant tinklalapius, kadangi skirtingos interneto naršykls palaiko skirtingas technologijas. Kadangi ekran dydžiai skiriasi, DHTML metodai gali bti tinkami tik tam tikriems naršykli ir ekrano dydži deriniams. Naujesnse naršyklse, pavyzdžiui, Internet Explorer 5.0+, Mozilla Firefox 2.0+ ir Opera 7.0+ DHTML paprastai derinama su bendruoju dokumento objekt modeliu. Nacionalin žems tarnyba prie Žems kio ministerijos,

66 Paprastai DHTML sukurto tinklalapio struktra yra tokia: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" " <html xmlns=" <head> <title>dhtml example</title> <script type="text/javascript"> function init() { myobj = document.getelementbyid("navigation"); //... more code } window.onload=init; </script> </head> <body> <div id="navigation"></div> </body> </html> <pre> Dažnai kodas yra išoriniame faile; tai daroma susiejant fail, kuriame yra JavaScript. Toks bdas padeda, kai t pat skript naudoja keli puslapiai: </pre> <script type="text/javascript" src="myjavascript.js"></script> Toliau pateiktame pavyzdyje bus rodomas papildomas teksto blokas. Kodas iliustruoja dažnai naudojam funkcij. Papildoma tinklalapio dalis bus rodoma tik tuo atveju, jeigu naudotojas to paprašys. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " <html xmlns=" xml:lang="en"> <head> <title>test</title> <style type="text/css"> h2 {background-color: lightblue; width: 100%} a {font-size: larger; background-color: goldenrod} a:hover {background-color: gold} #example1 {display: none; margin: 3%; padding: 4%; background-color: limegreen} </style> <script type="text/javascript"> function changedisplaystate (id) { d=document.getelementbyid("showhide"); e=document.getelementbyid(id); if (e.style.display == 'none' e.style.display == "") { e.style.display = 'block'; d.innerhtml = 'Hide example'; } else { e.style.display = 'none'; d.innerhtml = 'Show example'; } } </script> </head> <body> Nacionalin žems tarnyba prie Žems kio ministerijos,

67 <h2>how to use a DOM function</h2> <div><a id="showhide" href="javascript:changedisplaystate('example1')">show example</a></div> <div id="example1"> This is the example. (Additional information, which is only displayed on request)... </div> <div>the general text continues...</div> </body> </html> Pasaulinio interneto konsorciumas (W3C) Pasaulinio interneto konsorciumas (W3C) tai pagrindin tarptautin pasaulinio interneto (trump. WWW arba W3) standart organizacija. W3C buvo kurtas siekiant program suderinamumo ir interneto krj pritarimo tvirtinant naujus standartus. Konsorciumas buvo kurtas siekiant paskatinti visus pardavjus susitarti dl pagrindini princip ir komponent, kuriems visi pritart, pvz., skript. Taiau W3C nra parengs specifikacijos, kurioje bt formaliai apibržta DHTML. Dauguma gairi gali tikti tais atvejais, kai naudojama DHTML, taiau toliau išvardytose gairse akcentuojama skript ir stiliaus lap problematika. W3C ir (arba) IETF standartams (iš interneto protokol komplekto) priskiriama: CSS, CGI, DOM, GRDDL, HTML, OWL, RDF, SVG, SOAP, SMIL, SRGS, SSML, VoiceXML, WSDL, XACML, XHTML, XML, XML Events, XForms, XML ir XSLT m. W3C paskelb 1 lygmens DOM specifikacij, sudariusi galimybes pasiekti ir valdyti kiekvien HTML puslapio element. Ši rekomendacija buvo diegta visose naršyklse, todl DOM suderinamumo problem beveik nebeliko. Šiam kursui svarbios W3C technologijos: Pakopinio stiliaus lapai (CSS), kurie buvo aptarti pirmojoje paskaitoje, yra stiliaus lap kalba, naudojama ženklinimo kalba parašyto dokumento pateikimui apibdinti. Ji dažniausia naudojama suteikiant stili tinklalapiams, parašytiems HTML arba XHTML ( taiau kalb galima taikyti visiems XML dokumentams, skaitant ir SVG ( angl kalba). Bendrasis tinkl sietuvas (CGI) tai standartinis išorins taikomosios programins rangos ir informacijos serverio (paprastai interneto serverio) sveikos protokolas. Informacijos serveris turi atsakyti užklausas (interneto serveri atveju kliento interneto naršykli užklausas) ir sisti rezultatus. Kai tik gaunama nauja užklausa, serveris analizuoja, ko yra prašoma, ir siunia atitinkamus rezultatus. Dokumento objekt modelis (DOM) tai nuo kompiuteri platformos ir kalbos nepriklausomas standartinis objekt modelis, skirtas HTML arba XML ir susijusiems formatams pateikti. Interneto naršyklei nebtina naudoti DOM, kad ji galt pateikti HTML dokument. Taiau DOM reikalingas JavaScript skriptams, kurie nori dinamiškai patikrinti arba pakeisti tinklalap. Kitaip tariant, dokumento objekt modelis leidžia JavaScript pamatyti HTML puslap ir naršykls bsen. Dvimat vektorin grafika (Scalable Vector Graphics) (SVG) tai XML specifikacija ir fail formatas, skirtas statinei ir animacinei dvimatei vektorinei grafikai aprašyti. SVG gali bti tik deklaratyvi arba su skriptais. Paveikslai gali bti su hipersaitais, kuriems naudojami išsiuniamos paprastos XLink nuorodos. SOAP tai protokolas, skirtas keistis XML pranešimais kompiuteri tinkluose, paprastai naudojant HTTP ir (arba) HTTPS. SOAP yra interneto paslaugos dklo Nacionalin žems tarnyba prie Žems kio ministerijos,

68 pagrindo sluoksnis, užtikrinantis pagrindin pranešim siuntimo (angl. messaging) struktr, ant kurios galima kurti abstrakiuosius sluoksnius. Interneto paslaugos aprašomoji kalba (Web Services Description Language) (WSDL) tai XML kalba, numatanti interneto paslaugos aprašymo model. WSDL paslaugas apibdina kaip tinklo galini tašk, arba prievad, rinkinius. Šiuo tikslu WSDL specifikacijoje numatytas dokument XML formatas. XHTML (Extensible HyperText Markup Language) kalba tai ženklinimo kalba, turinti toki pai išraiškos galimybi kaip ir HTML, taiau atitinkanti XML sintaks. HTML naudojama SGML (Standard Generalized Markup Language) itin universaliai ženklinimo kalbai, o XHTML XML kalbai, daugiau apribojim numataniam SGML poaibiui. Kadangi jie turi bti struktriškai tvarkingi, teisingi XHTML dokumentai leidžia atlikti automatin duomen apdorojim naudojant standartines XML priemones, o HTML reikalingas gana sudtingas, lankstus ir dažniausiai specialiai sukurtas analizatorius. XHTML daugeliu aspekt galima vertinti kaip HTML ir XML samplaik, kadangi tai yra HTML performulavimas XML formatu. XML (Extensible Markup Language) kalba yra plaios paskirties ženklinimo kalba [1]. Ji laikoma išpleiama kalba, kadangi naudotojai gali apibržti savo pai žymas. Jos pagrindin paskirtis palengvinti dalijimsi struktriniais duomenimis skirtingose informacinse sistemose, vis pirma internete. Šios W3C technologijos bus aptariamos šioje ir vlesnse kurso paskaitose Dokumento objekt modelis (DOM) Dokumento objekt modelis (DOM) tai nuo kompiuteri platformos ir kalbos nepriklausomas standartinis objekt modelis, skirtas HTML arba XML ir susijusiems formatams pateikti. DOM yra suskirstytas atskiras dalis (pagrindin dal, XML ir HTML) bei skirtingus lygmenis (1, 2, 3 DOM lygmenys). Dokumento objekt modelis leidžia pasiekti visus HTML dokumento elementus, taip pat numato metodus ir savybes, kaip papildyti, perkelti, pakeisti arba pašalinti HTML elementus. Interneto naršyklei nebtina naudoti DOM, kad ji galt pateikti HTML dokument. Taiau DOM reikalingas JavaScript skriptams, kurie nori dinamiškai patikrinti arba pakeisti tinklalap. Kitaip tariant, dokumento objekt modelis leidžia JavaScript pamatyti HTML puslap ir naršykls bsen. Kad galt k nors pakeisti puslapyje, JavaScript skriptui reikalinga prieiga prie vis HTML dokumento element. Naudodami JavaScript galite pakeisti viso HTML dokumento struktr. Galite terpti, pašalinti, keisti arba pertvarkyti puslapio objektus. JavaScript taip pat gali DOM naudoti HTML, XHTML bei XML dokumentams skaityti ir keisti. Kadangi DOM palaiko navigacij bet kuria kryptimi (pvz., tvo ir ankstesnio brolio) bei leidžia daryti pakeitimus savo nuožira, gyvendinant btin dokument, kuris iki tol buvo nuskaitytas (arba tam tikr jo išanalizuot form), bent jau perkelti bufer. Todl DOM tikriausiai labiausiai tinka tais atvejais, kai dokument reikia pasiekti pakartotinai arba ne eils tvarka. Jeigu puslapis bus naudojamas tik nuoseklija prieiga ir tik vien kart, SAX modelis ( angl kalba) bt greitesnis sprendimas, reikalaujantis mažiau atminties. Be to, tiesiogins (angl. non-extractive) XML analizs modeliai, pavyzdžiui, VTD-XML ( angl kalba), yra naujas mažiau atminties reikalaujantis variantas. Nacionalin žems tarnyba prie Žems kio ministerijos,

69 W3C pradjo kurti DOM prajusio amžiaus dešimtojo dešimtmeio viduryje. Nors W3C nepareng DOM 0 specifikacijos, šis modelis buvo iš dalies dokumentuotas ir trauktas HTML 4 specifikacij. Iki 1998 m. spalio mn. buvo išleista pirmoji DOM (DOM 1) specifikacija m. lapkriio mn. buvo išleista DOM 2 specifikacija, kurioje buvo pateiktos stiliaus lap objekt modelio ir manipuliavimo stiliaus informacija ypatybs m. balandžio mn. buvo išleista DOM 3, kuri ir yra naujausia paskelbta DOM specifikacija. W3C parengtos DOM specifikacijos yra suskirstytos lygmenimis, kuri kiekviename yra privalomieji ir pasirenkamieji moduliai. Galima teigti, kad taikomoji programa palaiko tam tikr lygmen tik tuomet, jeigu ji gyvendina visus šio lygmens, taip pat ir žemesni lygmen, reikalavimus. Taikomoji programa taip pat gali palaikyti konkretaus gamintojo pltinius, kurie atitinka W3C standartus. Nuo 2005 m. 1 lygmuo, 2 lygmuo ir kai kurie 3 lygmens moduliai tapo W3C rekomendacijomis, t. y. jie gavo galutin pavidal. 0 lygmuo Taikomoji programa palaiko tarpin DOM variant, egzistavusi iki DOM 1 lygmens sukrimo. Pavyzdžiai DHTML objekt modelis arba Netscape tarpinis DOM. 0 lygmuo tai ne formali W3C paskelbta specifikacija, o daugiau santrauka, kurioje apibdinama tai, kad egzistavo iki standartizacijos. DOM 0 lygmen Netscape išrado tuo pat metu, kai buvo išrastas ir JavaScript, o pirmj kart lygmuo buvo panaudotas Netscape 2. Jis užtikrina prieig prie keli HTML element, form ir paveiksl. Siekiant užtikrinti suderinamum su nusistovjusiomis sistemomis, naujesns ir pažangesns naršykls, skaitant palaikanias ir DOM 1 lygmen, taip pat palaiko senesn DOM 0 lygmen, nes kitaip neveikt dauguma bendr skript. 1 lygmuo DOM (HTML arba XML) dokumento (medžio struktros) navigacija ir manipuliavimas turiniu (skaitant element terpim). Taip pat yra traukti HTML elementai. Taip ne tik pateikiamas tikslus viso HTML (arba XML) dokumento modelis, bet ir sudaroma galimyb labiau keisti dokument, pavyzdžiui, pastraipas arba lenteles. 2 lygmuo 2 lygmens specifikacij sudaro šešios skirtingos specifikacijos: DOM2 Pagrindin dalis Rodiniai vykiai Stilius Analiz ir blokai 2 lygmens HTML Specifikacija 2 lygmens pagrindin dalis papildo 1 lygmens pagrindins dalies funkcionalum. Joje taip pat pateiktos specializuotos ssajos, skirtos XML lygmeniui palaikyti. Specifikacija 2 lygmens rodiniai leidžia programoms ir skriptams dinamiškai pasiekti ir atnaujinti dokumento pateikimo turin. Specifikacija 2 lygmens vykiai programoms ir skriptams nurodo bendr vyki sistem. Joje pristatomos tokios vyki srauto svokos, kaip pamimas (angl. capture), išklimas (angl. bubbling) ir nutraukimas (angl. cancellation). CSS 2 lygmuo, arba 2 lygmens stilius, leidžia programoms ir skriptams dinamiškai pasiekti ir atnaujinti stiliaus lap turin. Numatytos ssajos stiliaus lapams ir pakopiniams stiliaus lapams. Specifikacija 2 lygmens analiz ir blokai leidžia programoms ir skriptams dinamiškai išanalizuoti ir atpažinti dokumento turinio blok. Nacionalin žems tarnyba prie Žems kio ministerijos,

70 Specifikacija 2 lygmens blokas leidžia kurti, terpti, keisti ir ištrinti dokumento turinio blok. Specifikacija 2 lygmens HTML leidžia programoms ir skriptams dinamiškai pasiekti ir atnaujinti HTML dokument turin ir struktr. Ji išpleia 1 lygmens HTML aprašytas ssajas išnaudojant 2 lygmens pagrindins dalies galimybes. 3 lygmens specifikacij sudaro 6 skirtingos specifikacijos: DOM 3 lygmens pagrindin dalis DOM 3 lygmens klimas ir rašymas DOM 3 lygmens XPath DOM 3 lygmens rodiniai ir formatavimas DOM 3 lygmens reikalavimai DOM 3 lygmens patikrinimas, leidžianti dar geriau išnaudoti DOM galimybes DOM3 specifikacija Pagrindin dalis papildo DOM1 ir DOM2 specifikacij Pagrindin dalis funkcionalum naujais metodais. DOM3 specifikacija klimas ir rašymas leidžia programoms ir skriptams dinamiškai kelti XML dokumento turin DOM dokument bei DOM dokument paversti XML dokumentu. DOM3 specifikacija XPath numato paprastus funkcionalumus DOM medžiui pasiekti naudojant XPath lygmens specifikacijoje Rodiniai ir formatavimas daugiausia nagrinjamas puslapi formatavimas ir sudarymas, taip pat ši puslapi susiejimas su kitais puslapiais ir funkcijomis. 3 lygmens specifikacija Reikalavimai užtikrina ssajas su kitomis sistemomis, kurios paspartina funkcijas kuriant ir naudojant tinklalapius. 3 lygmens specifikacija Patikrinimas leidžia programoms ir skriptams dinamiškai atnaujinti dokument turin ir struktr tuo pat metu užtikrinant, kad dokumentas išlieka teisingas, arba užtikrinant, kad dokumentas taps teisingas. DOM struktra gali bti perteikta medžio schemoje. Taip yra todl, kad pagal DOM technologij viskas HTML dokumente yra laikoma viršne visas dokumentas yra dokumento viršn, kiekviena HTML žyma yra elemento viršn, HTML elementuose esantys tekstai yra teksto viršns, kiekvienas HTML požymis yra požymio viršn, o komentarai yra komentar viršns. Toliau pateiktas HTML tekstas iliustruoja ši viršni sveik. <html> <head> <title>dom Tutorial</title> </head> <body> <h1>dom Lesson one</h1> <p>hello world!</p> </body> </html> Šiose tekstinse eiluts visos viršns yra susijusios su kitomis viršnmis, o kiekviena viršn turi tv (išskyrus dokumento viršn). Pavyzdžiui, viršni <head> ir <body> tvai yra viršn <html>, o teksto viršns Hello world! tvas yra viršn <p>. Element viršns gali turti ir vaik. Pavyzdžiui, viršn <head> turi vien vaik viršn <title>. Viršn <title> taip pat turi vien vaik teksto viršn DOM Tutorial. Tais atvejais, kai viršns turi bendr tv, jas galima laikyti broliais. Šiame pavyzdyje viršns <h1> ir <p> yra broliai, kadangi bendras j tvas yra viršn <body>. Šia prasme viršns gali turti palikuoni ir protvi. Palikuonys tai visos viršns, kurios yra viršns vaikai, arba t vaik vaikai ištisinje sekoje. Todl visos teksto viršns gali bti viršns <html> palikuonys. Pirmosios teksto viršns taip pat yra viršns <head> palikuonys. Protviai Nacionalin žems tarnyba prie Žems kio ministerijos,

71 yra viršns, kurios yra tam tikros viršns tvai, arba šio tvo tvai ištisinje sekoje. Pavyzdžiui, vis teksto viršni protvis yra viršn <html>. Viršns tarpusavyje susijusios ir hierarchiniais santykiais. Visos HTML dokumento viršns sudaro dokumento med (arba viršni med). Medis prasideda nuo dokumento viršns ir toliau šakojasi, kol pasiekia visas teksto viršnes žemiausiu medžio lygmeniu. Toliau parodyta ši viršni medžio schema. Document Root element: <html> Element: <head> Element: <body> Element: <title> Attribute: <href> Element: <a> Element: <h1> Text: My title Text: My link Text: My header Dokumentas Šaknies elementas: <html> Elementas: <head> Elementas: <body> Elementas: <title> Požymis: <href> Elementas: <a> Elementas: <h1> Tekstas: My title Tekstas: My link Tekstas: My header Pav. HTML dokumento viršns sudaro dokumento med (arba viršni med). Šaltinis: Nacionalin žems tarnyba prie Žems kio ministerijos,

72 2.2. Skript rašymo pagrindai Supažindinimas su skript kalbomis Skript kalbos tai programavimo kalbos, valdanios taikomsias programas. Jos atlieka daugel funkcij, iš kuri viena svarbiausi yra tinklalapi krimas, j veikimo priežira ir keitimas. Toliau išvardytos kelios pagrindins j savybs. Jos paleidžiamos tiesiai iš j išeitinio kodo (bet kuri sakini ir (arba) apraš, parašyt kuria nors žmogui suprantama kompiuterine programavimo kalba, seka), paprastai tekstini fail, kuriuose yra kalbai bdingo ženklinimo, ir todl skiriasi nuo programuotoj (ženklinimas apibržiamas kaip teksto ir papildomos informacijos, pvz., struktr ir išdstym atitinkani simboli, derinys). Jos naudojamos jau egzistuojantiems komponentams sujungti ir naujai susijusiai užduoiai atlikti. Jos dažnai naudojamos kuriant grafines vartotojo ssajas (pvz., dinaminius tinklalapius) arba vykdant daug komand, kurias kitaip reikt vesti interaktyviai klaviatra, sulaukus komandos raginimo. Kai kurios skript kalbos leidžia galutiniams naudotojams rašyti ir derinti trumpas, paprastas ir dažnai konkreiam domenui skirtas programas (pavyzdžiui, kintamo formato tinklalapius). Kitas skript kalbos tikslas padti su domenu susipažinusiam naudotojui (inžinieriui, statistikui, ekonomistui ir pan.) atlikti konkreias užduotis (pvz., sukurti atitinkamus tinklalapius). Skriptai paprastai rašomi kaip grynasis tekstas ir yra kaskart interpretuojami arba kompiliuojami prieš pat juos naudojant (galima naudoti ir raides, ir simbolius, pvz., < arba >). Kai kurios skript kalbos yra skirtos konkreiam domenui arba funkcijai, taiau dažnai yra galimyb tam tikra kalba rašyti bendresnes programas (pavyzdžiui, JavaScript galima naudoti kelioms interneto taikomosioms programoms). Skript kalb ir žemesnio lygmens programavimo kalb galima naudoti kartu, išnaudojant kiekvienos j stiprisias puses konkreioms problemoms sprsti. Skript kalbos gali užtikrinti spartesn programavim. Kai kurios skript kalbos gali bti vykdomos daug liau ir naudoti daugiau atminties, taiau dažniausia, ypa esant nedideliems skriptams, laikas, sutaupytas rašant skript, atperka jo vykdymo trukm. Yra daugyb skript kalb tip. Viena svarbi taikomosioms programoms skirt skript kalb grup yra naudojama tinklalapiams kurti. Šiai grupei priskiriamos kalbos JavaScript, JScript, VBScript Python PHP ir Perl. Nacionalin žems tarnyba prie Žems kio ministerijos,

73 Kai kurios skript kalbos naudojamos kuriant kliento puss programas, kitos serverio puss programas. Kliento puss skriptus vykdo klientas, kadangi gali reikti informacijos arba funkcionalumo, kuriuos gali užtikrinti tik klientas, o ne serveris, kadangi naudotojui reikia juos stebti ar teikti pradinius duomenis arba serveriui trksta duomen apdorojimo pajgum atliekant operacijas už susijusius klientus. Be to, jeigu klientai operacijas atlieka nesisdami duomen tinkle, jie gali veikti spariau, naudoti mažiau juostos ploio ir bti saugesni. Serverio puss skriptus tiesiogiai vykdo pats interneto serveris arba pltini moduliai. Populiariausi kliento puss skriptai yra JavaScript ir VBScript, taiau abu jie gali bti naudojami ir serverio puss skriptams. Perl, PHP ir serverio puss VBScript naudojami serverio puss skriptams rašyti. JavaScript tai skript kalba, dažniausia vartojama kliento puss žiniatinkliui kurti. JavaScript paprastai vartojama rašant funkcijas, kurios yra statytos HTML puslapiuose arba juos trauktos, bei užtikrinant sveik su dokumento objekt modeliu (DOM) puslapyje. JavaScript galima vartoti norint atverti nauj lang, kurio dydis, padtis ir išvaizda bus pakeista (t. y. ar bus matomi meniu, parankins ir pan.). Kalb taip pat galima vartoti norint patikrinti interneto form vedamas reikšmes prieš išsiuniant jas server. JavaScript" taip pat leidžia keisti paveikslus, kai per juos vedama pels žymekliu, siekiant atkreipti naudotojo dmes svarbias nuorodas, kurie rodomi kaip grafiniai elementai. Kadangi JavaScript gali veikti lokaliai naudotojo naršyklje (o ne nuotoliniame serveryje), ji greitai reaguoja naudotojo veiksmus. Kalba taip pat gali atpažinti naudotojo veiksmus, pavyzdžiui, atskirus klaviš paspaudimus (kitaip nei HTML). JavaScript gali aktyvinti tokias taikomsias programas kaip ArcIMS, kadangi didžioji naudotojo ssajos logikos dalis yra parašyta JavaScript kalba, kuri serveriui išsiunia informacijos užklausas (pvz., nurodyti koordinates ypatybei atpažinti). JScript tai aktyvusis skript modulis. J galima susieti su bet kuria Windows Script palaikania taikomja programa, pavyzdžiui, Internet Explorer, Active Server Pages ( angl kalba) ir Windows Script Host. Bet kuri Windows Script palaikanti taikomoji programa gali naudoti kelet kalb JScript, VBScript, Perl ir kitas. JScript (ir kitas kalbas) galima naudoti ir paprastoms (pvz., pelei perkelti tinklalapiuose), ir sudtingoms užduotims (pvz., duomen bazei atnaujinti arba registravimosi Windows NT skriptams paleisti). VBScript (Visual Basic Scripting Edition) tai bendrovs Microsoft sukurta aktyvioji skript kalba. VBScript skriptas turi bti vykdomas kompiuterio aplinkoje, kuri keletas traukta standartin Microsoft Windows diegimo paket ( Windows Script Host, Windows Internet Explorer ). Kai VBScript naudojamas programoje Microsoft Internet Explorer, jis veikia panašiai kaip JavaScript, t. y. kaip kalba, kuria rašomos funkcijos, statytos HTML puslapiuose arba juos trauktos, ir kuri užtikrina sveik su dokumento objekt modeliu (DOM) puslapyje bei atlieka užduotis, kuri negalima atlikti naudojant tik HTML. VBScript taip pat galima naudoti kuriant taikomsias programas, veikianias asmeniniame kompiuteryje, kuriame diegtas Microsoft Windows paketas. Paprasiausias pavyzdys tai skriptas, naudojantis Windows Script Host (WSH) aplink. Toks skriptas dažniausia yra savarankiškas failas su pltiniu.vbs. VBScript užtikrina Nacionalin žems tarnyba prie Žems kio ministerijos,

74 pagrindinius datos ir laiko, eilui manipuliavimo, matematinius, naudotojo sveikos, klaid apdorojimo ir reguliariuosius reiškinius. Python tai daugiaparadigm programavimo kalba (leidžianti funkcin, objektin ir imperatyvj programavim), kuri naudoja automatin atminties tvarkym. Daugiaparadigm programavimo kalba yra tokia programavimo kalba, kuri palaiko daugiau nei vien programavimo paradigm. Programavimo paradigma tai pagrindinis programavimo stilius, numatantis, kaip programavimo kalboje turi bti formuluojami problem sprendimai. Python krjai siek sukurti lengvai skaitom kalb su paprastu vaizdiniu išdstymu ir vietoje kitose kalbose naudojam skyrybos ženkl vartojo angl kalbos reikšminius žodžius. Kalbai Python reikia mažiau stereotipinio teksto (bet kurio teksto, kuris naudojamas pakartotinai arba gali bti naudojamas naujuose kontekstuose arba programose su nedideliais pakeitimais) nei tradicinms statiškai renkamoms struktrinms kalboms (pvz., C). Joje, palyginti su kitomis skript kalbomis, taip pat yra mažiau sintakss išimi ir ypating atvej. Sakini blokams atskirti Python kalboje naudojami ne riestiniai skliaustai ar reikšminiai žodžiai, o traukos ir matomi tarpai. Po tam tikr sakini traukos padidinamos, o trauk sumažjimas žymi dabartinio bloko pabaig. PHP (Hypertext Preprocessor) tai kompiuterin programavimo kalba, skirta dinaminiams tinklalapiams kurti ir dažniausia vartojama serverio skriptams rašyti. J galima vartoti komandins eiluts ssajoje arba savarankiškose grafinse programose. PHP yra populiari plaios paskirties skript kalba, tinkama žiniatinkliui kurti, kuri galima statyti HTML. PHP paprastai veikia interneto serveryje, PHP kod naudoja kaip pradinius duomenis ir kuria tinklalapius kaip rezultat. Taiau j galima naudoti ir komandins eiluts skriptams bei kliento puss grafins ssajos programoms. PHP kod analizuoja tik tarp skirtuk. Perl (Practical Extraction and Reporting Language) tai plaios paskirties programavimo kalba, kuri buvo sukurta manipuliuoti tekstu, o dabar naudojama paioms vairiausioms užduotims, skaitant sistem administravim, interneto krim, tinklo programavim ir bendr vartotojo ssajos krim. Jos ypatybms priskiriamas skirting programavimo paradigm (procedrinio, objektinio ir funkcinio stili) palaikymas, taisytasis teksto apdorojimo palaikymas ir didel kit asmen sukurt moduli kolekcija. Kitaip nei Python kalboje, Perl akcentuojamas bendr taikomosioms programoms skirt užduoi palaikymas, pvz., naudojant taisytuosius reguliariuosius reiškinius, fail skenavimo ir ataskait generavimo funkcijas. Todl ji labiau tinka taikomosioms programoms ir taikoma šiek tiek siauresnje srityje. Python kalboje akcentuojamas bendr programavimo metodik, pavyzdžiui, duomen struktr projektavimo ir objektinio programavimo, palaikymas HTML ir DOM Kaip jau buvo aptarta 1 paskaitoje, HTML yra populiariausia tinklalapi ženklinimo kalba. MIME tipo teksto ar html turinys taip pat dažnai vadinamas HTML. Platesne prasme HTML yra bendrinis terminas, vartojamas ir XML pagrindu sukurtoms kalboms (pvz., XHTML 1.0 ir jos vlesnes versijas), ir pagal SGML sukurtoms kalboms nusakyti (pvz., HTML 4.01 ir ankstesnes versijas). Yra keletas HTML versij. Naujausia ir galutin HTML versija yra HTML 4.01, kuri buvo paskelbta kaip W3C rekomendacija ir ISO/IEC 15445:2000 (2008 m. sausio mn.). Nacionalin žems tarnyba prie Žems kio ministerijos,

75 HTML apibržia kelet element turinio duomen tip skript duomenis ir stiliaus lap duomenis bei daugyb požymi reikšmi tip, skaitant ID, vardus, URI, skaiius, ilgio vienetus, kalbas, terps deskriptorius, spalvas, ženkl kodavim, datas ir laikus ir pan. Visi šie duomen tipai yra ženkl duomen specializacijos. Dokumento objekt modelis (DOM) leidžia pasiekti visus HTML dokumento elementus, taip pat metodus ir savybes, skirtas HTML elementams papildyti, perkelti, pakeisti arba pašalinti. HTML dokumento pradžioje gali bti dokumento tipo aprašas (neoficialiai DOCTYPE ). Dokumento tipo apraše, kur žymi DOCTYPE, yra kompiuteriui suprantama gramatika, nurodanti, koks tok apraš atitinkantis dokumento turinys yra leidžiamas ir draudžiamas. Naršykls nebtinai nuskaito dokumento tipo apraš. Populiariausios grafins naršykls DOCTYPE aprašus (arba j nebuvim) ir kitus kodo pradžioje pateikiamus duomenis naudoja nustatyti, kuri veiksen pasirinkti. Pavyzdžiui: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" " Šiame apraše nurodytas HTML aprašas Strict, kuriame nra toki pateikimo element kaip <font>, o formatuojama naudojant pakopinius stiliaus lapus ir žymas <span> ir <div>. SGML tikrinimo rankiai skaito dokumento tipo apraš tam, kad išanalizuot dokument ir atlikt patikrinim. Šiuolaikinse naršyklse HTML 4.01 dokumento tipo aprašas Strict aktyvina standart pateikimo veiksen, skirt CSS, o ne suderinamumo veiksen (angl. quirks mode). HTML 4.01 taip pat galimi Transitional ir Frameset dokumento tipo aprašai. Dokumento tipo aprašas Transitional buvo skirtas pakeitimams, kurie buvo padaryti apraše Strict, pamažu vesti, o aprašas Frameset buvo skirtas dokumentams su rmeliais. HTML dokumentus galima pateikti tomis paiomis priemonmis, kaip ir bet kur kit kompiuterin fail, taiau HTML dokumentai dažniausiai pateikiami viena iš dviej form: per HTTP serverius arba el. paštu. Pasaulin žiniatinkl daugiausia sudaro HTML dokumentai, kurie iš interneto serverio perduodami interneto naršykl naudojant hiperteksto perdavimo protokol (HTTP). Taiau HTTP galima naudoti ne tik HTML, bet ir paveikslams, garsui ir kitam turiniui perduoti. Tam, kad interneto naršykl žinot, kaip apdoroti gaut dokument, kartu su perduodamu HTML dokumentu btina nurodyti ir jo failo format JavaScript pagrindai Šioje dalyje apibdinama JavaScript kalba. Medžiaga suskirstyta tokius poskyrius: JavaScript apibdinimas JavaScript ir interneto naršykls JavaScript sakiniai JavaScript komentarai JavaScript kintamieji Pagrindiniai JavaScript duomen tipai Nacionalin žems tarnyba prie Žems kio ministerijos,

76 Operacij ženklai Sakiniai Funkcijos JavaScript vykiai Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga Po šios dalies dvi atskiros dalys bus skirtos JavaScript objekt hierarchijai ir JavaScript objekt, naudojam JavaScript paveiksl planams, pavyzdžiams. JavaScript apibdinimas. JavaScript tai skript kalba, dažniausia naudojama kliento puss žiniatinkliui kurti. J sudaro vykdomojo kompiuterinio kodo eiluts. Kalba išpopuliarjo dl jos vartojimo tinklalapiuose (kaip kliento puss JavaScript ), taiau ji vartojama ir skript prieigai prie objekt, statyt kitose taikomosiose programose. Nuo 2006 m. naujausia kalbos versija yra JavaScript 1.7. Kadangi JavaScript veikia ne serveryje, o kliente, ji gali greitai reaguoti naudotojo veiksmus, todl susidaro spdis, kad programa reaguoja geriau. Be to, JavaScript gali atpažinti naudotojo veiksmus, ko negali HTML, pavyzdžiui, atskir klaviš paspaudimus. Ši savyb išnaudojama tokiose taikomosiose programose, kaip ArcIMS : didel dalis vartotojo ssajos logikos yra parašyta JavaScript, kuri serveriui išsiunia informacijos užklausas (pvz., nurodyti koordinates ypatybei atpažinti). JavaScript ir interneto naršykls. JavaScript taip pat naudojama puslapio kompozicijai gerinti, formoms patvirtinti, naršyklms atpažinti, slapukams kurti ir pan. Ji veikia su visomis pagrindinmis interneto naršyklmis, pvz., Internet Explorer, Mozilla, Firefox, Netscape ir Opera. JavaScript buvo sukurta HTML puslapi interaktyvumui padidinti ir funkcijoms, kurios statytos arba trauktos HTML puslapius, kurti bei sveikauti su puslapio DOM. Keletas paprast tokio naudojimo pavyzdži: Atverti arba iškelti nauj lang, kurio dydis, padtis ir išvaizda bus pakeista (t. y. ar bus matomi meniu, parankins ir pan.) programinmis priemonmis. Interneto formos pradinms reikšmms patikrinti siekiant sitikinti, kad jos bus priimtos prieš perduodant server. Paveikslams keisti pels žymekliu siekiant atkreipti naudotojo dmes svarbias nuorodas, kurie rodomi kaip grafiniai elementai. HTML krjai JavaScript naudoja kaip programin priemon dinaminiam tekstui HTML puslap terpti. JavaScript gali reaguoti vykius: galima nustatyti, kad skriptas suveikt atlikus tam tikr veiksm, pavyzdžiui, kai kraunamas puslapis arba naudotojas spragteli ant HTML elemento. JavaScript gali skaityti, rašyti ir taip keisti HTML. JavaScript galima naudoti formos duomenims patikrinti prieš perduodant juos serveriui, tad šiam nereikia j apdoroti. JavaScript gali atpažinti lankytojo naršykl ir krauti konkreiai naršyklei skirtus puslapius. JavaScript taip pat galima naudoti slapukams kurti, informacijai saugoti ir ieškoti lankytojo kompiuteryje. Populiariausia JavaScript veikimo aplinka (angl. host environment) interneto naršykl. Interneto naršykls paprastai naudoja viešsias API ssajas kompiuterio objektams (angl. host objects), kurie turi atspindti DOM JavaScript skripte, sukurti. Kita veikimo aplinka interneto serveris. JavaScript interneto serveris parodo kompiuterio objektus, atitinkanius HTTP užklausas ir atsako objektus (angl. response objects), kuriuos JavaScript programa gali naudoti kurdama tinklalapius. Nacionalin žems tarnyba prie Žems kio ministerijos,

77 Paprastas tinklalapio, kuriame yra JavaScript (naudojant HTML sintaks), pavyzdys bt toks: <!DOCTYPE html> <html> <head><title>simple page</title></head> <body> <script> document.write('hello World!'); </script> <noscript> Your browser does not support JavaScript. </noscript> </body> </html> Kalbant apie tai, kur turi bti JavaScript, puslapyje JavaScript skriptai yra vykdomi puslap klus naršykl. Kartais naudotojas skript paleidžia klus puslap arba naudotojui suklus vyk. Jeigu skriptai turi bti vykdomi juos iškvietus arba pradjus vyk, jie rašomi antrašts sekcijoje. Taip užtikrinama, kad skriptas kraunamas anksiau, nei panaudojamas. Jeigu skriptai turi bti vykdomi keliant puslap, jie yra pagrindins dalies sekcijoje, kuri generuoja puslapio turin. Skriptai taip pat gali bti ir pagrindins dalies, ir antrašts sekcijoje, jeigu tokios funkcijos yra naudojamos kartu. JavaScript sintaks sudaro taisykls, nustatanios, kas JavaScript kalboje laikytina teisinga programa. Kintamiesiems tipai nepriskiriami, o bet kuri reikšm gali bti priskirta bet kuriam kintamajam. Kintamuosius galima paskelbti naudojant komand var. Šie kintamieji turi statines galiojimo sritis, todl, nurodyt kintamj galima pasiekti bet kurioje funkcijos vietoje, kurioje jis yra paskelbtas. Kintamieji, paskelbti ne funkcijoje, ir kintamieji, pirm kart panaudoti funkcijose j nepaskelbus su komanda var, yra globalieji. Toliau pateikiamas kintamj paskelbimo ir globalij reikšmi pavyzdys: x = 0; // A global variable var y = 'Hello!'; // Another global variable function f(){ var z = 'foxes'; // A local variable twenty = 20; // Global because keyword var is not used return x; // We can use x here because it is global } // The value of z is no longer available JavaScript skriptai skiria didžisias ir mažsias raides. Objekt vardai dažnai prasideda didžija raide, o funkcij arba kintamj mažja. Tarpai, tabuliavimo žyms ir eilui skirtukai už eilui konstant rib yra vadinami matomais tarpais. Kitaip nei C kalboje, matomi tarpai JavaScript pirminiame tekste gali tiesiogiai paveikti semantik. Dl vadinamojo kabliataškio terpimo metodo, bet kuris sakinys, kuris yra struktriškai tvarkingas analizuojant eilui skirtuk, bus laikomas užbaigtu (tarsi kabliataškis bt terptas prieš pat eiluts skirtuk). Programuotojams rekomenduojama aiškiai nurodyti Nacionalin žems tarnyba prie Žems kio ministerijos,

78 sakinius užbaigianius kabliataškius, nes skript bus lengviau skaityti, taip pat bus sumažinta automatinio kabliataškio terpimo tikimyb. Nereikalingi matomi tarpai, tarp ženklai, kuri nereikia teisingai sintaksei, gali padidinti nereikaling erdv ir atitinkamai fail.js dyd. Fail dydžio problem lengviausia sprsti nurodant serveriui naudoti zip pakavim. Toks pakavimas bus tinkamas labiau nei bet kuris matom tarp analizatorius ir sumažins vis kit fail, kuriuos kelia serveris, dyd. Šis metodas gali bti taikomas su kabliataškiais arba be j. JavaScript sakiniai. JavaScript sakiniai tai komandos, nurodanios naršyklei, k daryti. Pavyzdžiui, toliau pateiktu formatu naršyklei nurodoma parašyti Sveikas. document.write("hi There"); Paprastai sakinio pabaigoje rašomas kabliataškis, taiau jis nra privalomas, kadangi naršykl eiluts pabaig supranta kaip sakinio pabaig. JavaScript komentarai. JavaScript komentar sintaks atitinka C++ sintaks, kaip parodyta šiame pavyzdyje: // single line /* multi-line comment */ Komentarus galima naudoti norint palengvinti kodo skaitym arba paaiškinti JavaScript. Vienos eiluts komentarai pradedami //. Pavyzdžiui: <script type="text/javascript"> // This will write a header: document.write("<h1>this is a header</h1>"); // This will write two paragraphs: document.write("<p>this is a paragraph</p>"); document.write("<p>this is another paragraph</p>"); </script> Nacionalin žems tarnyba prie Žems kio ministerijos,

79 Keli eilui komentarai pradedami /* ir baigiami */. Pavyzdžiui: <script type="text/javascript"> /* The code below will write one header and two paragraphs */ document.write("<h1>this is a header</h1>"); document.write("<p>this is a paragraph</p>"); document.write("<p>this is another paragraph</p>"); </script> Komentarus galima naudoti ir tada, kai norima, kad nebt vykdoma viena arba kelios kodo eiluts. Komentarus galima rašyti ir eiluts pabaigoje. JavaScript kintamieji. Juos galima apibdinti kaip informacijos saugojimo talpyklas. Pavyzdžiui: x = 8; length =79.40; truckname = "Ford" Kintamojo reikšm galima keisti skripte. Naudotojas, nordamas perskaityti arba pakeisti reikšm, gali nurodyti kintamojo pavadinim. Kintamj pavadinimuose skiriamos didžiosios ir mažosios raids. Jie turi prasidti raide arba pabrauktu ženklu. Kintamieji naudojami duomenims saugoti. Pavyzdžiui: <html> <body> <script type="text/javascript"> var name="hege"; document.write(name); document.write("<br>"); name="tove"; document.write(name); </script> <p>the script above declares a variable, assigns a value to it, change the value,and displays the value again.</p> </body> </html> Kintamj galima sukurti naudojant sakin, pavyzdžiui: var strname = some value Kintamajam reikšm gali bti priskiriama keliais bdais. Pavyzdžiui, toliau pateiktame pavyzdyje kintamojo strname reikšm yra Hege. Nacionalin žems tarnyba prie Žems kio ministerijos,

80 var strname="hege"; //or strname="hege"; Pagrindiniai JavaScript duomen tipai Skaiiai. Skaiiai JavaScript kalboje pateikiami dvejetainje sistemoje kaip IEEE-754 dvigubo tikslumo skaiiai, todl užtikrinamas maždaug 14 arba 15 reikšmini skaitmen tikslumas. Kadangi skaiiai yra dvejetainiai, jie ne visuomet tiksliai atitinka dešimtains sistemos skaiius, ypa trupmenas. Todl kyla sunkum formatuojant skaiius išvediniams, kuriems JavaScript neturi taisytj metod. Pavyzdžiui: alert( ); // displays Todl skaiius, formatuojamus išvediniui, reikt apvalinti. Skaiius galima nurodyti bet kuriuo iš ši format: 345; // an "integer", although there is only one numeric type in JavaScript 34.5; // a floating-point number 3.45e2; // another floating-point, equivalent to ; // an [[octal]] integer equal to 255 0xFF; // a [[hexadecimal]] integer equal to 255, the letters A-F may be upperor lowercase Kai naudojamas kaip konstruktorius, yra sukuriamas skaitmeninis apgaubiamasis objektas (angl. wrapper object) (žr. objekto tipo aprašym toliau): mynumericwrapper = new Number( ); Masyvai. Masyvas tai duomen struktra, sudaryta iš element grups, pasiekiamos indeksuojant. Kiekvienam elementui gali bti priskirtas toks pats duomen tipas, o masyvas užima ištisin atminties srit. Daugelyje programavimo kalb yra taisytasis masyvo duomen tipas. JavaScript kalboje masyvams priskiriama ilgio savyb, kuri yra didesn nei didžiausias sveikj skaii indeksas, naudojamas masyve. Ji yra automatiškai atnaujinama, jeigu sukuriama savyb su dar didesniu indeksu. Jeigu rašomas mažesnis ilgio savybs skaiius, pašalinami didesnieji indeksai. Ši ilgio savyb yra vienintel ypatinga masyv savyb, kuri juos išskiria iš kit objekt. Masyv elementus galima pasiekti naudojant paprast objekto savybs prieigos format: myarray[1]; myarray["1"]; Nacionalin žems tarnyba prie Žems kio ministerijos,

81 Abu pateikti pavyzdžiai yra lygiaveriai. Alternatyviai vaizduojant skaii negalima naudoti dot formato arba eilui: myarray.1; // syntax error myarray["01"]; // not the same as myarray[1] Masyvui paskelbti galima naudoti masyvo literal arba masyvo konstruktori. myarray = [0,1,,,4,5]; // array with length 6 and 4 elements myarray = new Array(0,1,2,3,4,5); // array with length 6 and 6 elements myarray = new Array(365); // an empty array with length 365 Masyvai kuriami taip, kad atmint naudot tik apibržti elementai; tai vadinamieji reti masyvai. Jeigu nustatoma, kad myarray[10] = 'something' ir myarray[57] = 'somethingother', bus naudojama vieta tik šiems dviem elementams, kaip ir bet kurio kito objekto atveju. Masyvo ilgis vis tiek bus nurodomas kaip 58. Objekto aprašo literal galima naudoti kuriant objektus, kurie veikia kaip asociatyvieji masyvai kitose kalbose: dog = {"color":"brown", "size":"large"}; dog["color"]; // this gives you "brown" Objekto ir masyvo aprašo literalus galima naudoti greitai kuriant masyvus, kurie yra asociatyvieji, daugiamaiai arba ir asociatyvs, ir daugiamaiai. cats = [{"color":"brown", "size":"large"}, {"color":"black", "size":"small"}]; cats[0]["size"]; // this gives you "large" dogs = {"rover":{"color":"brown", "size":"large"}, "spot":{"color":"black", "size":"small"}}; dogs["spot"]["size"]; // this gives you "small" Eiluts. JavaScript kalboje eilutes sudaro ženkl seka. Eilutes galima kurti ženkl sekas rašant tarp dvigub arba viengub kabui, pavyzdžiui: var greeting = "Hello, world!"; var another_greeting = 'Greetings, people of Earth.'; Mozilla tipo naršyklse atskirus ženklus eilutje galima pasiekti (kaip eilutes, kuriose yra vienintelis ženklas) per t pat format kaip ir masyvuose: Nacionalin žems tarnyba prie Žems kio ministerijos,

82 var h = greeting[0]; // Now h contains 'H' - Works in Mozilla based browsers Taiau naršyklje Internet Explorer atskirus ženklus galima pasiekti taikant metod charat() (numatyt eilui klasje). Šiam atskir ženkl pasiekimo metodui teikiama pirmenyb, kadangi jis tinka ir Mozilla tipo naršyklms. var h = greeting.charat(0); // Now h contains 'H' - Works in both Internet Explorer // and Mozilla based browsers Taiau JavaScript eiluts yra nekintamos, t. y. sukrus j nebegalima keisti, nes gali atsirasti klaidos pranešimas: greeting[0] = "H"; // ERROR Lygybs ženkl ( == ) dviem eilutms galima taikyti tik tada, jeigu ši eilui turinys yra toks pats, t. y. jos yra to paties ilgio ir raids yra to paties registro. Todl: var x = "world"; var compare1 = ("Hello, " + x == "Hello, world"); // Now compare1 contains true var compare2 = ("Hello, " + x == "hello, world"); // Now compare2 contains false since the first characters of both operands are not of the same case Objektai. Tipai paprastai skirstomi primityvus ir objektus. Objektai yra tapatyb turintys vienetai (jie yra lygs tik sau patiems) ir susieja savybi pavadinimus su reikšmmis ( lizdai prototipais grindžiamo programavimo terminologijoje). JavaScript objektai dažnai klaidingai apibdinami kaip asociatyvieji masyvai arba maišos funkcijos, taiau taip nra. JavaScript kalboje yra keletas taisytj objekt masyvas, loginis kintamasis, data, funkcija, matematin operacija, skaiius, objektas, reguliarusis reiškinys ir eilut. Kiti objektai yra kompiuterio objektai (angl. host objects), kuriuos apibržia ne kalba, o veikimo laiko aplinka. Pavyzdžiui, naršyklje tipiniai kompiuterio objektai priklauso DOM (langas, forma, nuorodos ir pan.). Objektus galima kurti naudojant aprašo, inicijavimo (angl. initializer) arba konstruktoriaus funkcij: // Declaration var anobject = new Object(); // Initialiser var objecta = {}; var objectb = {'index1':'value 1','index2':'value 2'}; Nacionalin žems tarnyba prie Žems kio ministerijos,

83 // Constructor (see below) Patys svarbiausi objektai JavaScript kalboje atlieka žodyn funkcijas. Šiuose žodynuose bet kurio tipo reikšmei gali bti priskiriamas raktas, taip sukuriant eilut. Objektus su priskirtomis reikšmmis galima kurti tiesiogiai naudojant objekto literalo format: var o = {name: 'My Object', purpose: 'This object is utterly without purpose.', answer: 42}; Naudojant prast taško (. ) format arba panaši masyv sintaks galima kurti, nustatyti ir skaityti atskiras objekt savybes: var name = o.name; // name now contains 'My Object' var answer = o['answer']; // answer now contains 42 Naudojant objekto literalus ir masyvo literalus galima kurti lanksias duomen struktras: var mystructure = { name: { first: "Mel", last: "Smith" }, age: 33, hobbies: [ "chess", "jogging" ] }; Tai yra JSON (JavaScript Object Notation, angl kalba), paprasto formato, kuriame duomenims perduoti naudojama JavaScript panaši sintaks, pagrindas. JavaScript operacij ženklai: Aritmetiniai dviviei operacij ženklai: + Addition - Subtraction * Multiplication / Division (returns a floating-point value) % Modulus (returns the integer remainder) Operacijos ženklas + yra perkrautas, t. y. jis naudojamas eilutms sujungti, skaiiams sudti ir eilutms paversti skaiius. Be to, naudojamas reguliariajame reiškinyje, jis turi ypating prasm. Pavyzdžiui: Nacionalin žems tarnyba prie Žems kio ministerijos,

84 // Concatenate 2 strings var a = 'This'; var b = ' and that'; alert(a + b); // displays 'This and that' // Add two numbers var x = 2; var y = 6; alert(x + y); // displays 8 // Adding a string and a number results in concatenation alert( x + '2'); // displays 22 // Convert a string to a number var z = '4'; // z is a string (the digit 4) alert( z + x); // displays 42 alert( +z + x);// displays 6 Aritmetiniai vienviei operacij ženklai: - Unary negation (reverses the sign) ++ Increment (can be prefix or postfix) -- Decrement (can be prefix or postfix) JavaScript priskyrimo operacij ženklai: = Assign += Add and assign -= Subtract and assign *= Multiply and assign /= Divide and assign var x = 1; x *= 3; document.write( x ); // displays: 3 x /= 3; document.write( x ); // displays: 1 x -= 1; document.write( x ); // displays: 0 JavaScript palyginimo operacij ženklai: == Equal!= Not equal > Greater than >= Greater than or equal to < Less than <= Less than or equal to === Identical (equal and of the same type) Nacionalin žems tarnyba prie Žems kio ministerijos,

85 !== Not identical JavaScript loginio palyginimo operacij ženklai. JavaScript kalba turi tris logini operacij ženklus: && (loginis IR), (loginis ARBA), ir! (loginis NE): && and or! not (logical negation) Nacionalin žems tarnyba prie Žems kio ministerijos,

86 Kai atliekama login operacija, visos JavaScript reikšms apskaiiuojamos kaip teisingos, nebent reikšm atitinka pai login operacij false, skaii 0, nulinio ilgio eilut arba vien iš specialij reikšmi null, undefined arba NaN. Login funkcij galima naudoti btent šiam konvertavimui atlikti: Boolean( false ); // returns false Boolean( 0 ); // returns false Boolean( 0.0 ); // returns false Boolean( "" ); // returns false Boolean( null ); // returns false Boolean( undefined ); // returns false Boolean( NaN ); // returns false Vienviets operacijos ženklas! vis pirma apskaiiuoja savo operand loginje aplinkoje ir tada gržina priešing login reikšm: var a = 0; var b = 9;!a; // evaluates to true, same as (Boolean( a ) == false)!b; // evaluates to false, same as (Boolean( b ) == true) Ankstyvose JavaScript ir JScript versijose operacij ženklai && ir veik kaip ir j atitikmenys kitose C pagrindu sukurtose programavimo kalbose, t. y. visuomet buvo gržinama login reikšm: x && y; // returns true if x AND y evaluate to true: (Boolean( x ) == Boolean( y ) == true), false otherwise x y; // returns true if x OR y evaluates to true, false otherwise Naujesnse versijose šie operacij ženklai gržina vien iš savo operand: expr1 && expr2; // returns expr1 if it evaluates to false, otherwise it returns expr2 expr1 expr2; // returns expr1 if it evaluates to true, otherwise it returns expr2 Šis naujoviškas veikimas nra gerai žinomas net ir patyrusiems JavaScript programuotojams, todl gali kilti problem, jeigu tikimasi gauti login reikšm. Supaprastintose loginse operacijose reiškinys vertinamas iš kairs dešin tol, kol randamas atsakymas. Pavyzdžiui, a b yra automatiškai teisinga, jeigu a yra teisinga, o a && b yra neteisinga, jeigu a yra neteisinga. Todl visiškai nebtina apskaiiuoti b. Nacionalin žems tarnyba prie Žems kio ministerijos,

87 Bitini dviviei operacij ženklai: & And Or ^ Xor << Shift left (zero fill) >> Shift right (sign-propagating); copies of the leftmost bit (sign bit) are shifted in from the left. >>> Shift right (zero fill) For positive numbers, >> and >>> yield the same result. Bitini vienviei operacij ženklas: ~ Not (inverts the bits) Eilui operacij ženklai: = Assignment + Concatenation += Concatenate and assign Pavyzdžiai: str = "ab" + "cd"; // "abcd" str += "e"; // "abcde" JavaScript sakiniai: Slyginiai sakiniai. JavaScript kalboje jie naudojami tada, kai skirtingiems sprendimams reikalingi skirtingi veiksmai: sakinys if leidžia vykdyti tam tikr kod tik tada, jeigu tenkinama nurodyta slyga sakinys if...else leidžia vykdyti vien kod tada, jeigu slyga tenkinama, ir kit kod, jeigu slyga netenkinama sakinys if...else if...else leidžia pasirinkti vien iš daugelio kodo blok, kuris turi bti vykdomas Nacionalin žems tarnyba prie Žems kio ministerijos,

88 Ši sakini pavyzdžiai: Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga <script type="text/javascript"> //Write a "Good morning" greeting if the time is less than 10var d=new Date(); var time=d.gethours(); if (time<10) { document.write("<b>good morning</b>"); } </script> Jeigu yra lyginami kintamieji, btina vien šalia kito naudoti du lygybs ženklus (==). Sakinio if...else sintaks: if (condition) { code to be executed if condition is true } else { code to be executed if condition is not true } Sakinio if...else pavyzdys: <script type="text/javascript"> //If the time is less than 10, you will get a "Good morning" greeting. //Otherwise you will get a "Good day" greeting.var d = new Date(); var time = d.gethours(); if (time < 10) { document.write("good morning!"); } else { document.write("good day!"); } </script> Nacionalin žems tarnyba prie Žems kio ministerijos,

89 Sakinio if...else if...else sintaks: if (condition1) { code to be executed if condition1 is true } else if (condition2) { code to be executed if condition2 is true } else { code to be executed if condition1 and condition2 are not true } Sakinio if...else if...else pavyzdys: <script type="text/javascript"> var d = new Date() var time = d.gethours() if (time<10) { document.write("<b>good morning</b>"); } else if (time>10 && time<16) { document.write("<b>good day</b>"); } else { document.write("<b>hello World!</b>"); } </script> Perjungimo sakinys (switch) leidžia pasirinkti vien iš daugelio kodo blok, kuris turi bti vykdomas. Jo sintaks: switch (expr) { case VALUE: statements; break; case VALUE: statements; break; default: statements; break; } Nors parametras break nra privalomas, dažniausia rekomenduojama j naudoti, kitaip kodas bus vykdomas iki kito bloko case pagrindins dalies. Paskutinio varianto pabaigoje rašykite lžio sakin, kuris bus tarsi apsaugos priemon, jeigu vliau bus terpta papildom Nacionalin žems tarnyba prie Žems kio ministerijos,

90 variant. Variantini sakini reikšmms galima naudoti eilutes. Btina naudoti skliaustus {}. Sakinio for loop su reiškiniu sintaks yra tokia: for (initial-expression; cond-expression; expression evaluated after each loopround) { statements; } Pavyzdžiui, for loop galima naudoti norint spausdinti skaiius nuo 1 iki 10 spjimo lauke: var msg = ""; for (var x = 1; x <= 10; x++) { msg = msg + x + "\n"; } alert(msg); Sakinio for... in loop sintaks yra tokia: for (var property-name in object-name) { statements using object-name[property-name]; } For... in loop kartojamas visose išvardijamose objekto savybse arba masyvo indeks objektuose. Pavyzdžiui, š sakin galima naudoti norint atpažinti interneto naršykls tip. vairios interneto naršykls rodo skirtingas savybes, jeigu yra naudojamas sakinys for... in loop. Teoriškai tai kontroliuoja vidins bkls savyb, kuri apibržia ECMA skripto standartas DontEnum, taiau praktiškai kiekviena naršykl gržina šiek tiek skirtingas savybes. Sakinio while loop sintaks yra tokia: while (cond-expr) { statements; } Nacionalin žems tarnyba prie Žems kio ministerijos,

91 Pavyzdžiui, while loop galima naudoti norint spausdinti skaiius nuo 1 iki 10 spjimo lauke: var msg = ""; var x = 1; while (x <= 10) { msg = msg + x + "\n"; x++; } alert(msg); Sakinio do... while sintaks yra tokia: do { statements; } while (cond-expr); Sakinio with sintaks yra tokia: with(document) { var a = getelementbyid('a'); var b = getelementbyid('b'); var c = getelementbyid('c'); }; Atkreipkite dmes, kad prieš kiekvien getelementbyid() nra rašyta document. Sakinys with nurodo objekt, kuris bus konkreiai naudojamas pagrindinje sakinio dalyje. Sakinys with yra patogus, kadangi nereikia pakartotinai rinkti to paties objekto pavadinim. Naudojant sakin with, nuorod objekt galima sutrumpinti taip: with (document) { write("hello from JavaScript"); write("<<br />>"); write("you can write what you like here"); } Nacionalin žems tarnyba prie Žems kio ministerijos,

92 JavaScript funkcijos. Funkcija tai blokas su (galimai tušiu) parametr srašu, kuriam paprastai suteikiamas pavadinimas. Funkcija gali gržinti reikšm. JavaScript funkcijos sintaks: function function-name(arg1, arg2, arg3) { statements; return expression; } Taip pat galimos anonimins funkcijos, pavyzdžiui: var fn = function(arg1, arg2) { statements; return expression; }; Pavyzdžiui, originalusis Euklido algoritmas, skirtas dviej skaii didžiausiam bendram dalikliui surasti, yra geometrinis sprendimas, kai iš ilgesnio segmento atimamas trumpesnis: function gcd(segmenta, segmentb) { while (segmenta!= segmentb) { if (segmenta > segmentb) segmenta -= segmentb; else segmentb -= segmenta; } return segmenta; } Funkcij iškvieiant nurodyt argument (pvz., segmenta, segmentb) skaiius nebtinai sutampa su argument skaiiumi funkcijos apibržime; jame nurodytas argumentas, neturintis atitikmens kreipinyje, turs reikšm undefined. Paioje funkcijoje argumentus taip pat galima pasiekti per sraš arguments; taip galima pasiekti visus argumentus, naudojant indeksus (pvz., arguments[0], arguments[1],... arguments[n]), skaitant ir tuos, kurie nra nurodyti. Atkreipkite dmes, kad nors argument srašas turi savyb.length, tai nra masyvas. Srašas neturi toki metod kaip.slice(),.sort() ir pan. Pagrindiniams duomen tipams (eilutms, sveikiesiems skaiiams ir pan.) yra naudojamos reikšms, o objektams nuorodos. JavaScript vykiai. Be objektinio programavimo, vykiai yra antra svarbiausia JavaScript savyb, palaikanti vyki valdom programavim. vykiai tai veiksmai, kuriuos gali atpažinti JavaScript. Kiekvienas tinklalapio elementas yra susijs su tam tikrais vykiais, kurie gali iškviesti JavaScript" funkcijas. vyki pavyzdžiai: spragteljimas pele, tinklalapio arba paveikslo klimas, pels vedimas ant nuorodos tinklalapyje, Nacionalin žems tarnyba prie Žems kio ministerijos,

93 duomen vedimo lauko pasirinkimas HTML formoje, HTML formos siuntimas arba klavišo paspaudimas JavaScript objekt hierarchija Daugelis JavaScript objekt yra vienas kitame. JavaScript objektai yra susij sudtinio ir atskiro rodinio, o ne klass ir poklasio santykiais. Vieno tipo objekto savybs nra perduodamos kito tipo objektui. JavaScript objektai yra dviej pagrindini tip. Kalbos objektai jie numatomi kalboje ir nepriklauso nuo kit objekt. Žvalgiklis kliento naršyklje numatyti objektai. Visi šie objektai yra pavalds žvalgiklio objektui. Navigator Mime Type Window Plugin Frame History Location Document Anchor Applet Area Form Image Link Layer Button CheckBox FileUpload Hidden Option Password Radio Reset Select Submit Text TextArea Language Array Žvalgiklis MIME tipas Langas Papildinys Rmelis Praeitis Vieta Dokumentas Prieraišas Programl Sritis Forma Paveikslas Nuoroda Sluoksnis Mygtukas Žymimasis langelis Failo klimas Paslptasis Parinktis Slaptažodis Parinkties akut Atstatyti Pažymti Išsisti Tekstas Teksto sritis Kalba Masyvas Nacionalin žems tarnyba prie Žems kio ministerijos,

94 Boolean Date Math Number String Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga Login operacija Data Matematin operacija Skaiius Eilut Pav. JavaScript objekt hierarchija ( angl kalba) JavaScript paveikslo plano pavyzdys Paveikslo planas tai su konkreiu paveikslu susijs koordinai srašas, sukurtas atskiroms paveikslo sritims susieti su vairiomis paskirties vietomis (kitaip nei paprastas paveikslo nuoroda, kai visas paveikslo plotas yra susietas su viena paskirties vieta). Pavyzdžiui, pasaulio žemlapyje kiekviena šalis gali turti hipersait papildom informacij apie t šal. Paveikslo planas leidžia nesunkiai susieti vairias paveikslo dalis paties paveikslo nedalijant atskirus paveikslo failus. Daugiau informacijos pateikta 1 paskaitos dalyje Paveiksl planai, skirtoje HTML žymai <map> ir atitinkamiems parametrams. Daugiakampio paveikslo žemlapio HTML sintaks (argumentai paaiškinti 1 paskaitoje): <map name="poly"> <area shape="poly" coords="x1, y1, x2, y2, x3, y3, x4, y4, x5, y5, x6, y6, x7, y7" href="page.html" alt="alternate Text Here"> </map> Š pavyzd galima pagerinti naudojant JavaScript. Paveikslo žemlapio žymose <area> galima terpti vykius, kurie iškvies JavaScript. Žyma <area> palaiko vykius onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup, onfocus ir onblur. Nacionalin žems tarnyba prie Žems kio ministerijos,

95 Tas pats pavyzdys, papildytas JavaScript : <html> <head> <script type="text/javascript"> function writetext(txt) { document.getelementbyid("desc").innerhtml=txt; } </script> </head> <body> <img src="samplepolygon.gif" width="145" height="126" alt=" Sample Polygon usemap ="#SamplePolygon"/> <map id ="SamplePolygon" name="samplepolygon"> <area shape ="poly" coords =" x1, y1, x2, y2, x3, y3, x4, y4, x5, y5, x6, y6, x7, y7" onmouseover="writetext('sample of clickable polygon.')" href ="Code_Sample.htm" target ="_blank" alt="code_sample" /> <p id="desc"></p> </body> </html> Daug JavaScript pavyzdži pateikiama internetinje mokomojoje priemonje ( angl kalba). Studijuojantieji gali apsilankyti šioje svetainje ir išsamiau susipažinti su JavaScript kalba. Nacionalin žems tarnyba prie Žems kio ministerijos,

96 2.3. XML kodavimo pagrindai XML apibržimas XML (Extensible Markup Language) tai plaios paskirties ženklinimo kalba. Ji vardijama kaip išpleiamoji kalba, kadangi naudotojai gali patys apibržti žymas. Pagrindin jos paskirtis palengvinti struktrini duomen dalijimsi skirtingose informacinse sistemose, vis pirma internetu. Ji naudojama ir dokumentams koduoti, ir duomenims nuoseklinti. XML rekomenduoja Pasaulinis interneto konsorciumas (W3C). Tai nemokamas atvirasis standartas. W3C rekomendacijoje nurodyta XML leksin gramatika ir analizs reikalavimai. Kalba iš pradži buvo kuriama kaip SGML (Standard Generalized Markup Language) poršis siekiant, kad ji bt gerai suprantama žmogui. terpus semantinius apribojimus, XML galima realizuoti taikomj program kalbas, kurioms priskiriama XHTML (XML pagrsta HTML), GML (Geographic Markup Language), ArcXML (ESRI Arc Extensible Markup Language), KLM (Google Keyhole Markup Language) ir daugelis kit. Kartais XML vartojama kaip ši taikomj program kalb specifikacij kalba. ISO ir OGC standart organizacijos taip pat rekomenduoja XML kalb geografins informacijos schemoms ir duomenims koduoti. XML pranašumai: Tai tekstin kalba. Jai naudojami grynojo teksto failai, numatantys mažiau apribojim nei kiti nuosavybiniai dokument formatai. XML palaiko Unikod, todl galima perduoti beveik vis informacij visomis rašytinmis žmogaus kalbomis. Kalba gali pateikti bendrsias kompiuterijos mokslo duomen struktras: rašus, srašus ir medžius. Hierarchin struktra tinkama daugumai (nors ir ne visiems) dokument tipams. Kadangi formatas yra aprašomasis, kalba apibdina struktr ir lauk vardus bei konkreias reikšmes. Dl griežt sintakss ir analizs reikalavim btini analizs algoritmai yra ypa paprasti, veiksmingi ir pastovs. XML yra labai plaiai naudojamas dokument saugojimo ir tvarkymo prijungties ir atjungties bsenos formatas. Kalba grindžiama tarptautiniais standartais. Galimi jos prieauginiai (incrementally) atnaujinimai. Patikr galima atlikti naudojant tokias schem kalbas, kaip XSD ir DTD, palengvinanias vienet testavim, užkard naudojim, funkcin testavim, sutartini reikalavim nustatym ir programins rangos krim. Gana paprasta išlaikyti perspektyvin ir atgalin suderinamum nepaisant DTD arba schemos pasikeitim. Kalba nepriklauso nuo kompiuterins platformos, todl yra iš dalies nepriklausoma nuo technologini pokyi. XML pirmtak SGML buvo naudojama nuo 1986 m., tad yra sukaupta daug patirties, sukurta nemažai programins rangos. Struktriškai tvarkingo XML dokumento elemento fragmentas taip pat yra ir struktriškai tvarkingas XML elementas. XML trkumai: Nacionalin žems tarnyba prie Žems kio ministerijos,

97 XML sintaks yra perteklin arba didel, palyginti su dvejetainiu panaši duomen pateikimu. Dl to gali nukentti kalbos vartojimo veiksmingumas, kadangi išauga duomen saugojimo, perdavimo ir apdorojimo snaudos. XML sintaks yra daugiažod, ypa žmonms, lyginant su kitais alternatyviais tekstiniais duomen perdavimo formatais. Hierarchinis pateikimo modelis yra ribotas, palyginti su objektiniu grafu. Papildom pastang reikalauja persiklojani (ne hierarchini) viršni santykio išraiška. Sudtinga naudoti XML vard erdves, o j palaikym gali bti sunku teisingai realizuoti XML analizatoriuje. XML dažnai vaizduojama kaip save dokumentuojanti kalba, taiau taip neatsižvelgiama esminius dviprasmiškumus. Kai kurie mano, kad turinio ir požymi skirtumai XML nra natrals, todl sunkiau kurti XML duomen struktras. XML dokumentams susieti reikia naudoti XLink nuorodas, o tai yra sudtinga lyginant su hipersaitais. Sunku rasti XML analizatori, kuris bt išbaigtas, teisingas ir veiksmingas. XML palaiko tiesiogin beveik vis Unikodo ženkl (išskyrus turinius ypating simbolin prasm XML kalboje, pavyzdžiui, kampin pradžios skliaust < ) naudojim element varduose, požymiuose, komentaruose, simboliniuose duomenyse ir apdorojimo komandose. Todl toliau pateiktas XML dokumentas yra struktriškai teisingas, nors jame yra ir kin hieroglif, ir kirilicos abcls ženkl: <?xml version="1.0" encoding="utf-8"?> < ></ > XML dokumentuose nra informacijos apie tai, kaip rodyti duomenis XML rašymas XML dokumento teisingumas apibržiamas dviem aspektais: Struktriškai tvarkingas XML dokumentas atitinka visas XML sintakss taisykles. Pavyzdžiui, jeigu pradžios žyma neturi atitinkamos pabaigos žymos, dokumentas nra struktriškai tvarkingas. Dokumentas, kuris nra struktriškai tvarkingas, nelaikomas XML; atitinkamam analizatoriui neleidžiama tokio dokumento analizuoti. Teisingas XML dokumentas papildomai atitinka kai kurias semantines taisykles. Jas nustato naudotojas arba jos numatytos XML schemoje ar DTD. Pavyzdžiui, jeigu dokumente yra neapibržtas elementas, tada dokumentas nra teisingas, o patikros analizatoriui neleidžiama tokio dokumento analizuoti XML sintakss taisykls Jeigu reikalingas tik struktrinis tvarkingumas, XML yra bendra struktra, tinkama bet kokiam teksto arba duomen, kuri struktr galima pavaizduoti kaip med, kiekiui saugoti. Vienintelis privalomas sintakss reikalavimas dokumentas turi turti tik vien šaknin element (dar vadinam dokumento elementu). Tai reiškia, kad dokumentas turi bti pateiktas tarp šaknies pradžios žymos ir atitinkamos pabaigos žymos. Pateikiamas struktriškai tvarkingas XML dokumentas: Nacionalin žems tarnyba prie Žems kio ministerijos,

98 <book>this is a book... </book> Prieš šaknin element gali bti neprivalomas XML aprašas. Šiame elemente nurodoma, kuri XML versija yra naudojama (paprastai 1.0); taip pat gali bti pateikiama informacija apie simboli koduot ir išorin priklausomyb. <?xml version="1.0" encoding="utf-8"?> W3C specifikacijoje numatytas reikalavimas, kad XML rengykls palaikyt Unikodo ženkl koduotes UTF-8 ir UTF-16 (UTF-32 nra privaloma). Labiau ribot koduoi, pavyzdžiui, pagrst ISO/IEC 8859, naudojimas yra pripažintas, paplits ir palaikomas. Komentarai gali bti rašomi bet kurioje medžio vietoje, net ir tekste, jeigu elemento turin sudaro tekstas arba #PCDATA (#PCDATA yra mišraus turinio elemento aprašas: simboliniai duomenys arba simboliniai duomenys kartu su kitais elementais). XML komentarai pradedami <!-- ir baigiami -->. Komentaro tekste negali bti dviej brkšni (--). <!-- This is a comment. --> Daugumoje taikomj program papildomas ženklinimas naudojamas norint XML dokumento turiniui suteikti struktr. Tarp šaknies žym esaniame tekste gali bti pasirenkamas XML element skaiius. Pagrindin vieno elemento sintaks yra tokia: <name attribute="value">content</name> ia abu name yra atitinkamai vadinami pradžios ir pabaigos žymomis. Pavyzdyje content yra koks nors tekstas, kuriame taip pat gali bti XML element. Todl paprastame XML dokumente yra medžio pavidalo duomen struktra. Toliau pateikiamas struktrinio XML dokumento pavyzdys: <recipe name="bread" prep_time="5 mins" cook_time="3 hours"> <title>basic bread</title> <ingredient amount="3" unit="cups">flour</ingredient> <ingredient amount="0.25" unit="ounce">yeast</ingredient> <ingredient amount="1.5" unit="cups" state="warm">water</ingredient> <ingredient amount="1" unit="teaspoon">salt</ingredient> <instructions> <step>mix all ingredients together.</step> <step>knead thoroughly.</step> <step>cover with a cloth, and leave for one hour in warm room.</step> <step>knead again.</step> <step>place in a bread baking tin.</step> Nacionalin žems tarnyba prie Žems kio ministerijos,

99 <step>cover with a cloth, and leave for one hour in warm room.</step> <step>bake in the oven at 350 F for 30 minutes.</step> </instructions> </recipe> Požymi reikšmes visuomet btina nurodyti su viengubomis arba dvigubomis kabutmis, o kiekvieno požymio vardas elemente gali bti minimas tik vien kart. Reikalaujama, kad elementai XML dokumente bt dedami teisingai (jie negali persikloti). Pavyzdžiui, toliau pateiktame pavyzdyje yra struktriškai netvarkingas XML kodas, kadangi persikloja elementai em ir strong: <!-- WRONG! NOT WELL-FORMED XML! --> <p>normal <em>emphasized <strong>strong emphasized</em> strong</strong></p> <!-- Correct: Well-formed XML. --> <p>normal <em>emphasized <strong>strong emphasized</strong></em> <strong>strong</strong></p> <p>alternatively <em>emphasized</em> <strong><em>strong emphasized</em> strong</strong></p> XML numatyta speciali sintaks, vaizduoti element su tušiu turiniu. Vietoje parašytos pradžios žymos, paskui kuri iškart seka pabaigos žyma, dokumente gali bti tušio elemento žyma. Tušio elemento žyma yra panaši pradžios žym, taiau prieš pat kampin pabaigos skliaust rašomas pasvirasis brkšnys. Toliau pateikti trys pavyzdžiai yra lygiaveriai XML kode: <foo></foo> <foo /> <foo/> Tušias elementas gali turti požymi: <info author="john" genre="science-fiction" date="2009-jan-01" /> Esybi nuorodos. XML dokumente esyb tai nurodytas duomen, dažniausia teksto, vienetas. Esybs dažnai naudojamos atskiriems simboliams, kuriuos sunku vesti klaviatra, nurodyti. Esybs taip pat naudojamos vaizduojant standartinio (stereotipinio) teksto dalis, esanias daugelyje dokument, ypa jeigu reikia numatyti, kad toks tekstas gali bti keiiamas tik vienoje vietoje. Specialius simbolius galima vaizduoti naudojant esybi nuorodas arba skaitmenines nuorodas. yra skaitmenins nuorodos pavyzdys. Naudojant Unikodo šešioliktain kod ia nurodytas euro simbolis. Nacionalin žems tarnyba prie Žems kio ministerijos,

100 Esybs nuoroda yra konkrei esyb atitinkantis vietaženklis. J sudaro esybs vardas, prieš kur yra rašytas ampersendas ( & ), opo kurio eina kabliataškis ( ; ). XML turi penkias iš anksto nustatytas esybes: & & < < > > &apos; ' " " ampersendas mažiau nei daugiau nei apostrofas kabut Toliau pateiktame pavyzdyje pavadinimas AT&T pavaizduotas naudojant iš anksto nustatyt XML esyb: <company_name>at&t</company_name> Papildomas esybes (be iš anksto nustatytj) galima rašyti dokumento tipo apibržties (DTD) arba XML schemos (XSD) dokumentuose. Toliau pateikiamas pavyzdys, kaip tai daroma minimalioje vidinje DTD. Aprašytos esybs gali apibdinti atskirus simbolius arba teksto dalis, taip pat gali bti nuorodomis viena kit. <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE example [ <!ENTITY copy " "> <!ENTITY copyright-notice "Copyright 2006, XYZ Enterprises"> ]> <example> &copyright-notice; </example> Žirint tinkamoje naršyklje, pirmiau pateiktas XML dokumentas atrodo taip: <example> Copyright 2006, XYZ Enterprises </example> Skaitmenins nuorodos. Skaitmenins nuorodos atrodo kaip esybi nuorodos, tik vietoje vardo jas sudaro ženklas # ir skaiius po jo. Skaiius (dešimtainis arba šešioliktainis su priešdliu x ) atitinka Unikodo pozicij. Kitaip nei esybi nuorodos, jos nra iš anksto aprašytos ir j nereikia aprašyti DTD arba XSD dokumentuose. Paprastai jos naudojamos simboliams, kuriuos sunku koduoti, pavyzdžiui, arabiškiems simboliams dokumente, kuris parengtas europiniu kompiuteriu. AT&T pavyzdyje taip pat galima atsisakyti ampersendo (dešimtainis skaiius 38 ir šešioliktainis skaiius 26 atitinka ženklo & Unikodo pozicij): <company_name>at&t</company_name> <company_name>at&t</company_name> Nacionalin žems tarnyba prie Žems kio ministerijos,

101 Struktriškai tvarkingi dokumentai. Struktriškai tvarkingam dokumentui, be kit, taikomos šios taisykls: Ne tušius elementus apgaubia pradžios ir pabaigos žymos. Tušius elementus galima žymti tušio elemento žyma (kuriai nereikia pabaigos žymos), pavyzdžiui, <IAmEmpty />. T pat reiškia ir <IAmEmpty></IAmEmpty>. Visos požymi reikšms rašomos su viengubomis (') arba dvigubomis (") kabutmis. Vienguboms kabutms naudojamas viengub, dviguboms dvigub kabui ženklas. Žymos gali bti dtins, bet negali persikloti. Kiekvienas ne šakninis elementas turi bti visiškai apgaubtas kito elemento. Dokumentas turi atitikti jo aprašyt simboli kodavim. Kodavimas gali bti aprašytas arba numatytas išoriškai, pavyzdžiui, antraštse "Content-Type", jeigu dokumentui perduoti naudojamas HTTP, arba paiame dokumente, aiškiai ženklinant paioje dokumento pradžioje. Jeigu tokio aprašo nra, daroma prielaida, kad naudojama Unikodo koduot, kuri nustato Unikodo bait eiliškumo ženklas, esantis prieš pirmj dokumento simbol. Jeigu tokio ženklo nra, daroma prielaida, kad naudojama UTF-8 koduot. Element varduose btina naudoti t pat raidži registr. Pavyzdžiui, tokia pora yra struktriškai tvarkinga: <Step>... </Step> O ši ne: <Step>... </step> Kruopšiai parinkti XML element vardai perteikia ženklinimo duomen prasm. Todl kod lengviau perskaityti žmonms, nors jis yra gana tikslus programins rangos analizei. Kai pasirenkami prasmingi vardai, skaitytojas (žmogus) supranta element ir požymi semantik nesinaudodamas išoriniais dokumentais. Taiau tai skatina daugiažodiškum, dl kurio program krimas sudtingja, o failo dydis auga. Automatinis tikrinimas. Patikrinti, ar XML dokumentas yra struktriškai tvarkingas arba teisingas, yra gana paprasta, kadangi XML struktrinio tvarkingumo ir patikros taisykls numato priemoni perkeliamum. Bet kuri priemon, skirta darbui su XML failais, turt tikti visiems XML failams, parašytiems bet kuria XML kalba (arba XML programoms). Toliau pateikiamas savarankiškos priemons naudojimo pavyzdys: kelkite XML dokument XML palaikani naršykl, pavyzdžiui, Firefox arba Internet Explorer Pasirinkite priemon, pavyzdžiui, xmlwf (paprastai pateikiama su Expat, srautinio (angl. stream-oriented) XML 1.0 analizatoriaus biblioteka, parašyta C kalba) Pradkite dokumento analiz, pavyzdžiui, Ruby kalba: irb> require "rexml/document" irb> include REXML irb> doc = Document.new(File.new("test.xml")).root XML semantika ir patikra. Kadangi XML kalboje galima laisvai pasirinkti vardus, leidžiam hierarchij ir element bei požymi prasm naudojant individualiai pritaikyt schem arba DTD, XML sintaks yra specialios paskirties XML tipo ženklinimo kalb Nacionalin žems tarnyba prie Žems kio ministerijos,

102 krimo pagrindas. Ši kalb bendroji sintaks yra griežta dokumentai turi atitikti bendrsias XML taisykles ir užtikrinti, kad visa XML palaikanti programin ranga gali bent jau perskaityti ir suprasti dokumentuose pateiktos informacijos struktr. Kalbos schema, kurioje numatyti tam tikri apribojimai, tiesiog papildo sintakss taisykles. Schemos paprastai numato element ir požymi vard bei j leidžiam turinio hierarchij apribojimus, pavyzdžiui, elemente 'birthday' gali bti tik vienas elementas 'month' ir vienas elementas 'day', o kiekviename j gali bti tik simboliniai duomenys. Schemos apribojimai taip pat gali numatyti duomen tipo priskyrimus, lemianius, kaip bus apdorojama informacija; pavyzdžiui, elemento 'month' simboliniai duomenys pagal tam tikros schem kalbos taisykles gali bti apibržiami kaip mnuo. Tai gali reikšti, kad duomenys ne tik turi bti tam tikro formato, bet ir negali bti apdorojami kaip kito tipo duomenys. Dokumentas, kuris atitinka tam tikros schemos arba DTD taisykles ir yra struktriškai tvarkingas, laikomas teisingu. XML schema tai XML dokumento tipo apibržimas, kuriame paprastai nurodomi tokio tipo dokumento struktros ir turinio apribojimai, kurie yra griežtesni nei pagrindiniai paios XML kalbos apribojimai. Buvo sukurta daug XML schem kalb, skirt formaliai toki schem išraiškai, o kai kurios ši kalb buvo sukurtos remiantis XML. Kol nebuvo apibendrint duomen aprašymo kalb (pvz., SGML arba XML), programins rangos krjai turjo sukurti specialius fail formatus arba nedideles kalbas, kurios leist programoms keistis duomenimis. Tam reikjo rašyti detalias specifikacijas, specialios paskirties analizatori ir tekst rašymo program (angl. writers). Dl taisyklingos XML struktros ir griežt analizs taisykli programins rangos krjai analizei gali naudoti standartines priemones. Kadangi XML numato bendr duomen modeli struktr taikomosioms programoms, kurios skirtos kalboms kurti, programins rangos krjai gali vis dmes sutelkti duomenims taikom taisykli krim gana aukštu abstrakcijos lygmeniu. Yra gerai išbandyt priemoni, atliekani XML dokumento patikr pagal schem. Priemon automatiškai patikrina, ar dokumentas atitinka schemoje nustatytus apribojimus. Kai kurios patikros priemons yra trauktos XML analizatorius, o kit paketai pateikiami atskirai. Schemos naudojamos ir kitoms paskirtims. Pavyzdžiui, XML tekst rengykls gali naudoti schemas redagavimui (pasilomi teisingi element ir požymi vardai ir pan.) XML schema (DTD ir XSD) Seniausias XML schemos formatas yra dokumento tipo apibržtis (Document Type Definition, DTD). Nors DTD palaiko beveik visos programos, nes DTD yra traukta XML 1.0 standart, ji turi kelet trkum: DTD nepalaiko naujesni XML ypatybi, vis pirma vard erdvi. Jai trksta išraiškos priemoni. Kai kuri formalij XML dokumento aspekt nemanoma išreikšti DTD. Schemai aprašyti DTD naudoja speciali ne XML sintaks, perimt iš SGML. Nacionalin žems tarnyba prie Žems kio ministerijos,

103 DTD vis dar plaiai naudojama, kadangi ši kalba laikoma lengviausiai skaitoma ir rašoma. Dokumento tipo apibržtis (DTD) yra viena iš keli SGML ir XML schem kalb; šis terminas vartojamas ir dokumentui, sukurtam DTD kalba, apibržti. DTD daugiausia naudojama schemai išreikšti naudojant aprašus, kurie atitinka tam tikr ženklinimo sintaks ir aprašo SGML arba XML dokument klas, arba tip, ir kuriuose nurodomi toki dokument struktros apribojimai. DTD taip pat gali bti aprašomos konstrukcijos, kurios ne visuomet reikalingos dokumento struktrai nustatyti, bet gali turti takos kai kuri dokument interpretavimui. DTD yra kilusi iš SGML ir XML specifikacij. Jai atsiradus buvo sukurtos kitos specifikacij kalbos, pavyzdžiui, XML Schema (XSD) ir RELAX NG, kurios užtikrina papildom funkcionalum. Kadangi DTD yra schemos išraiška, joje nurodoma SGML arba XML taikymo, pvz., išvestini kalb HTML arba XHTML, sintaks. DTD dokument klass struktra aprašoma element ir požymi sraš aprašuose. Element aprašuose nurodoma, kurie elementai leidžiami dokumente, kaip kiekviename elemente turi bti pateikiami aprašyti elementai ir simbolini duomen sekos, jeigu tai yra leidžiama. Požymi sraš aprašuose nurodoma, kurie požymiai gali bti priskirti kiekvienam aprašytam elementui, skaitant kiekvienos požymio reikšms tip, o gal net ir tiksl teising reikšmi komplekt. DTD su XML dokumentu susieti naudojamas dokumento tipo aprašas žyma, terpiama netoli XML dokumento pradžios. Apraše nustatoma, kad dokumentas atitinka nurodytame DTD aprašyt dokumento tip. DTD aprašai skirstomi vidinio poaibio ir išorinio poaibio aprašus. Vidinio poaibio aprašai statomi paiame dokumente esaniame dokumento tipo apraše. Išorinio poaibio aprašams naudojamas atskiras tekstinis failas. Nuorodai išorinio poaibio apraš galima naudoti viešuosius identifikatorius ir (arba) sisteminius identifikatorius. Nacionalin žems tarnyba prie Žems kio ministerijos,

104 Pateikiamas dokumento tipo aprašo pavyzdys, kuriame naudojami ir viešieji, ir sisteminiai identifikatoriai: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " Šiame pavyzdyje dokumento tipo aprašas apima vidin poaib, sudaryt iš vienos esybs aprašo: <!DOCTYPE foo [ <!ENTITY greeting "hello"> ]> <!DOCTYPE bar [ <!ENTITY greeting "hello"> ]> Visi HTML 4.01 dokumentai turt atitikti vien iš trij SGML dokumento tipo apibrži. Ši DTD viešieji identifikatoriai yra pastovs: -//W3C//DTD HTML 4.01//EN -//W3C//DTD HTML 4.01 Transitional//EN -//W3C//DTD HTML 4.01 Frameset//EN Ši DTD sisteminiai identifikatoriai, jeigu jie nurodyti dokumento tipo apraše, yra URI nuorodos. Sisteminiai identifikatoriai gali bti vairs, taiau turt nurodyti konkreius aprašus, esanius nustatomoje vietoje. SGML leidžia viešuosius identifikatorius susieti su sisteminiais identifikatoriais kataloguose, kurie gali bti prieinami URI vard išsprendimo priemonms (angl. resolver), naudojamoms dokumento analizs programins rangos. Dažnai klaidingai manoma, kad patikros neatliekantys (angl. non-validating) XML analizatoriai neturi skaityti DTD, nors iš ties vis tiek reikia patikrinti, ar DTD sintaks, esybi ir numatytj požymi aprašai yra teisingi. Taiau patikros neatliekantis analizatorius gali nusprsti neskaityti išorini esybi, skaitant išorin DTD poaib. Jeigu XML dokumentas priklauso nuo apraš, kurie yra tik išorinse esybse, dokumento XML apraše turi bti nurodyta standalone="no". Pateikiamas labai paprasto XML DTD, aprašanio asmen sraš, pavyzdys: <!ELEMENT people_list (person*)> <!ELEMENT person (name, birthdate?, gender?, socialsecuritynumber?)> <!ELEMENT name (#PCDATA)> <!ELEMENT birthdate (#PCDATA)> <!ELEMENT gender (#PCDATA)> <!ELEMENT socialsecuritynumber (#PCDATA)> Analizuodami kiekvien eilut matome, kad: 1.) People_list yra teisingas elemento vardas, o tokiame elemente yra bet koks asmens element skaiius. Žvaigždut (*) parodo, kad elemente people_list gali bti nulis arba daugiau asmens element. 2.) Person yra teisingas elemento vardas, o tokiame elemente yra vienas elementas name, paskui eina vienas elementas birthdate (neprivalomas), tada elementas Nacionalin žems tarnyba prie Žems kio ministerijos,

105 gender (taip pat neprivalomas) ir elementas socialsecuritynumber (taip pat neprivalomas). Klaustukas (?) parodo, kad elementas nra privalomas. Kadangi nuorodoje pavards element name nra klaustuko, asmens elemente privalo bti pavards elementas. 3.) Name yra teisingas elemento vardas, o tokiame elemente yra išanalizuoti simboliniai duomenys" (#PCDATA). 4.) Birthdate yra teisingas elemento vardas, o tokiame elemente yra simboliniai duomenys. 5.) Gender yra teisingas elemento vardas, o tokiame elemente yra simboliniai duomenys. 6.) Socialsecuritynumber yra teisingas elemento vardas, o tokiame elemente yra simboliniai duomenys. Toliau pateikiamas XML failo, kuris naudoja ši DTD ir atitinka jos taisykles, pavyzdys. Daroma prielaida, kad DTD galima atpažinti pagal atitinkam URI nuorod "example.dtd": <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE people_list SYSTEM "example.dtd"> <people_list> <person> <name>fred Bloggs</name> <birthdate>27/11/2008</birthdate> <gender>male</gender> </person> </people_list> XML palaikanioje naršyklje (pvz., Internet Explorer 5 arba Mozilla ) tai galima pavaizduoti š DTD komponent dedant ir rašant tekstiniame faile example.dtd, o XML fail rašant kitaip pavadintame faile, tada atveriant XML fail naršyklje. Abu failus reikia rašyti t pat katalog. Taiau daugelis naršykli netikrina, ar XML dokumentas atitinka DTD taisykles. Jos turi tik patikrinti, ar DTD sintaks yra teisinga. Saugumo sumetimais naršykls taip pat gali neskaityti išorins DTD. Nors daugelis XML priemoni palaiko DTD, nes ji yra traukta XML 1.0 standart, dl pirmiau išvardyt priežasi DTD laikoma ribota kalba. Yra naujesni XML schem kalb, kurios yra galingesns ir kurioms teikiama pirmenyb, pavyzdžiui: XML Schema kalbai, taip pat vadinamai XSD (XML Schema Definition), buvo suteiktas W3C rekomendacijos statusas. RELAX NG, kuri taip pat yra DSDL dalis, yra ISO tarptautinis standartas. DSD (Document Structure Description) kalboje derinamos schem išraiškos galimybs ir naudojimo paprastumas. XML Schema (XSD) yra naujesn XML schem kalba, kuri W3C apibdina kaip DTD ts ir kuri neoficialiai vadinama XSD (XML Schema Definition). XSD turi daugiau galimybi nei DTD aprašyti XML kalbas. Kalboje naudojama turtinga duomen tip sistema, galima numatyti detalesnius XML dokumento logins struktros apribojimus, jai apdoroti reikalinga griežtesn patikros struktra. XSD taip pat naudoja XML grindžiam Nacionalin žems tarnyba prie Žems kio ministerijos,

106 format, leidžiant naudoti prastas XML priemones, kurios padeda apdoroti XSD, nors XSD gyvendinti reikia daugiau nei vien gebjimo skaityti XML. XSD buvo pirmosios W3C rekomenduojamos XML schemos, silanios vard erdvi ir duomen tip palaikymo alternatyv XML dokumento tipo apibržtims (DTD). XSD kalba kritikuojama dl ši aspekt: Jos specifikacija yra labai didel, todl j sunku suprasti ir realizuoti. Dl XML sintakss atsiranda daugiažodiškumas schem aprašuose, todl XSD sunkiau skaityti ir rašyti. Schem patikra gali bti brangus XML analizs papildymas, ypa didels apimties sistemose. Modeliavimo galimybs yra labai ribotos, požymiams neleidžiama daryti takos turinio modeliams. Tip išvedimo modelis yra labai ribotas; tip išvedimas naudojant pltin retai pasirodo naudingas. Ir visas XML schem kalbas, ir XML Schema galima naudoti schemai išreikšti. Vadovaujantis ta schema, XML dokumentas laikomas teisingu, jeigu jis atitinka joje nustatytas taisykles. XSD apibržia XML dokumento tip pagal galim element ir požymi apribojimus, j tarpusavio santykius, galimus duomen tipus ir t. t. Kartu su patikros programine ranga, XML Schema galima naudoti norinti patikrinti, ar konkretus XML dokumentas yra reikiamo tipo, bei parengti PSVI (Post-Schema Validation Infoset) apraš, kuriame kiekvienam elementui, požymiui ir visoms XML dokumento viršnms yra priskirtas tipas pagal XML schem. Taiau kitaip nei daugelis kit schem kalb, XML Schema buvo kuriama siekiant, kad atlikus dokumento patikr bt surinkta informacija, atitinkanti konkreius duomen tipus. Tokia po patikros surinkta informacija gali bti naudinga kuriant XML dokument apdorojimo programin rang, taiau schemos kalbos priklausomyb nuo konkrei duomen tip susilauk kritikos. XML Schema pavyzdys yra XSD (XML schemos apibržtis), kuri rašoma XML Schema kalba ir kurios failo vardo pltinys paprastai yra.xsd. Kartais pati kalba neoficialiai vadinama XSD. Buvo pasilym, kad WXS (W3C rekomenduojama XML Schema ) yra tinkamesnis sutrumpinimas, nors šis akronimas nra labai populiarus, o W3C darbo grup j atmet. XSD taip pat vartojamas kaip XML Schema Datatypes, XML Schema duomen tip dalies, santrumpa. Yra nurodyta 19 primityvij duomen tip. Buvo pasilyti keli sprendimai, kaip dvejetainius duomenis statyti xml (pavyzdžiui, paveikslus). Dvejetainius duomenis galima laikyti neskaidri (angl. opaque) duomen tipu. Toks pavadinimas atsirado dl to, kad duomen modeliui nieko nra žinoma apie vidin tipo atvaizdavim. Pateikiamas paprastas XML Schema apibržties pavyzdys, kuriame apibdinama šalis. Nacionalin žems tarnyba prie Žems kio ministerijos,

107 <xs:schema xmlns:xs=" <xs:element name="country" type="country"/> <xs:complextype name="country"> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="population" type="xs:decimal"/> </xs:sequence> </xs:complextype> </xs:schema> Toliau pateikiamas XML dokumento, kuris atitinka ši schem, pavyzdys (daroma prielaida, kad schemos failo vardas yra country.xsd): <country xmlns:xsi=" xsi:nonamespaceschemalocation="country.xsd"> <name>france</name> <population>59.7</population> </country> XSD dar neturi registruoto unikalaus interneto terps tipo, todl reikia naudoti "application/xml" arba "text/xml", kaip numatyta RFC 3023 (RFC (Request for Comments) tai serija dokument, aprašani naujus tyrimus, naujoves ir metodikas, taikomas interneto technologijoms; skaiius 3023 nurodo XML ir XSD standartus) XSL ir XSLT XML dokumentuose nra informacijos apie tai, kaip rodyti duomenis. Jeigu nenaudojama CSS arba XSL (extensible Stylesheet Language transformavimo kalb šeima, leidžianti aprašyti, kaip turi bti formatuojami arba transformuojami XML standartu užkoduoti failai), dauguma interneto naršykli paprast XML dokument pateikia kaip neapdorot XML tekst. Kai kurios naršykls dokument pateikia su rankenlmis (pvz., simboliais + ir paraštje), kurios leidžia pels spragteljimu išskleisti arba suskleisti struktros dalis. Tam, kad naršyklje XML dokumentas bt vaizduojamas tam tikru stiliumi, XML dokumente turi bti nuoroda stiliaus lap. XSL (extensible Stylesheet Language) transformavimo kalb šeima, leidžianti aprašyti, kaip turi bti formatuojami arba transformuojami XML standartu užkoduoti failai. XSL buvo sukurta taip, kad bt valdoma duomen, ir labai skatina naudoti valdymo inversijos projektavimo šablon (angl. control of inversion design pattern). Šeimoje yra keletas kalb, kurios tapo W3C rekomendacijomis. XSL šeimai priskiriamos šios kalbos: XSLT (XSL Transformations) tai XML dokument transformavimo kalba. Šiuo metu yra daug XSLT realizacij. Kelios interneto naršykls, skaitant Internet Explorer, Firefox, Mozilla, Netscape ir Opera, palaiko XML transformavim HTML naudojant XSLT. Paveiksllyje pateikiamas transformavimo pavyzdys. Nacionalin žems tarnyba prie Žems kio ministerijos,

108 Pav. Pagrindiniai XSLT elementai ir proces srautai (šaltinis: angl kalba) XSLT kuria W3C konsorciumas. Nuo 2007 m. plaiau naudojama ir realizuojama versija yra XSLT 1.0, nors naujausia versija yra XSLT 2.0, kuriai W3C rekomendacijos statusas buvo suteiktas 2007 m. sausio 23 d. XSLT atsirado kaip dalis W3C konsorciumo m. vykdyto XSL krimo projekto. gyvendinus š projekt, taip pat buvo sukurta objekt formatavimo kalba XSL Formatting Objects ir kalba XML Path Language (XPath). Kaip kalbai, XSLT turi takos funkcins kalbos ir tekstins šablon sutapdinimo kalbos, pavyzdžiui, SNOBOL ir awk. Ši kalba buvo sukurta remiantis DSSSL, t. y. kalba, kuri SGML kalboje atliko t pai funkcij, kaip XSLT atlieka XML. XSLT taip pat galima laikyti šablon rengykle. XSL-FLO (XSL Formatting Objects) tai kalba, nustatanti XML dokumento vaizdin formatavim, kuri gauna vis didesn populiarum. XPath (XML Path Language) tai XSL šeimos kalba, kuri XSLT vartoja XML dokumento navigacijai. XQuery (XML Query Language) tai dar vienas W3C projektas, kuriuo siekiama sukurti panašias XML dokument užklausos galimybes naudojant XPath. XSL galima naudoti keiiant XML duomen format HTML format arba kitus žmonms suprantamus formatus, kuriuos gali atvaizduoti naršykl. Pirminis dokumentas nra keiiamas, nes, remiantis esamo dokumento turiniu, yra sukuriamas naujas. Nauj dokument rengykl gali nuoseklinti standartine XML sintakse arba kitu formatu, pavyzdžiui, HTML arba grynojo teksto formatu. XSLT dažniausia naudojama duomen formatui keisti pagal skirtingas XML schemas arba XML duomen formatui keisti interneto naršyklms skirtus HTML arba XHTML dokumentus, sukuriant dinamin interneto puslap, arba tarpin XML format, kur galima paversti PDF dokumentais. Šiems formatams keisti XSLT rengykl kaip orientyr gali naudoti XSL stiliaus lap. XSLT apdorojimo modelis apima: Nacionalin žems tarnyba prie Žems kio ministerijos,

109 vien arba kelis XML pirminius dokumentus vien arba kelis XSLT stiliaus lap modulius XSLT šablono apdorojimo rengykl vien arba kelis rezultat dokumentus Paprastai XSLT rengyklei reikia dviej pirmini dokument XML pirminio dokumento ir XSLT stiliaus lapo, iš kuri ji parengia vien rezultat dokument. XSLT stiliaus lape, kuris pats yra XML dokumentas, yra XSLT programos tekstas (arba išeitinis kodas kitose kalbose). Jame apibdinamos šablono taisykls komandos ir kiti nurodymai rengyklei, kaip parengti rezultat dokument. XSLT kalba yra deklaratyvioji. Šablono taisyklse vietoje privalomos veiksm sekos nustatoma, kaip apdoroti viršn, kuri atitinka konkret XPath tipo šablon, jeigu rengykl toki suranda, o šablon turinyje nurodyti funkciniai reiškiniai, kurie tiesiogiai atitinka savo vertint form, t. y. rezultat med, kuris yra rengykls pateikiamo rezultato pagrindas. Rengykl taiko nustatyt algoritm. Darydama prielaid, kad stiliaus lapas jau buvo perskaitytas ir parengtas, rengykl suformuoja pirmin med pagal pirmin XML dokument. Paskui rengykl pradeda apdoroti pirminio medžio šaknies viršn, stiliaus lape surasdama šiai viršnei tinkamiausi šablon ir vertindama šablono turin. Kiekviename šablone esanios komandos paprastai nurodo rengyklei sukurti rezultat medžio viršnes arba daugiau pirminio medžio viršni apdoroti taip pat kaip ir šaknies viršn. Rezultatas parengiamas pagal rezultat med. XSLT rengykls realizavimas skirstomas dvi pagrindines kategorijas: serverio puss ir kliento puss. Norint nurodyti kliento puss XSLT, XML turi bti tokia duomen apdorojimo komanda: <?xml-stylesheet type="text/xsl" href="mytransform.xslt"?> XSLT rengykls gali bti pateikiamos kaip atskiri produktai arba priklausyti kitai programinei rangai, skaitant interneto naršykles, taikomj program serverius, tokias struktras kaip Java ir.net, netgi operacines sistemas. Pavyzdžiui, Windows XP pakete yra MSXML3 biblioteka, kuri turi XSLT rengykl. Dauguma senesni XSLT rengykli buvo interpretatoriai. Daugelis interneto naršykli su XSLT rengyklmis palaiko kliento puss XSLT. Norint nepriklausyti nuo galutinio naudotojo naršykls gebjim, galima naudojant XSL keisti XML format vaizduojamj format serveryje. Galutinis naudotojas nežino, kas vyko užkulisiuose, ir mato tik struktriškai tvarkingus rodomus duomenis. Nacionalin žems tarnyba prie Žems kio ministerijos,

110 Gaunamo XML dokumento pavyzdys: <?xml version="1.0"?> <persons> <person username="js1"> <name>john</name> <family_name>smith</family_name> </person> <person username="mi1"> <name>morka</name> <family_name>ismincius</family_name> </person> </persons> XML formato keitimo XML format su XSLT stiliaus lapu, kuriame yra XML dokumento transformavimo šablonai, pavyzdys: <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:output method="xml" indent="yes"/> <xsl:template match="/"> <root> <xsl:apply-templates/> </root> </xsl:template> <xsl:template match="//person"> <name <xsl:value-of select="name" /> </name> </xsl:template> </xsl:stylesheet> vertinus sukuriamas naujas XML dokumentas, turintis kit struktr: <?xml version="1.0" encoding="utf-8"?> <root> <name username="js1">john</name> <name username="mi1">morka</name> </root> Nacionalin žems tarnyba prie Žems kio ministerijos,

111 XML transformavimo XHTML su XSLT stiliaus lapu pavyzdys: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:template match="/persons"> <html xmlns=" <head> <title>testing XML Example</title> </head> <body> <h1>persons</h1> <ul> <xsl:apply-templates select="person"> <xsl:sort select="family_name" /> </xsl:apply-templates> </ul> </body> </html> </xsl:template> <xsl:template match="person"> <li> <xsl:value-of select="family_name"/>, <xsl:value-of select="name"/> </li> </xsl:template> </xsl:stylesheet> XSLT vartoja W3C kalb XPath pirminio dokumento medžio poaibiams nustatyti ir skaiiavimams atlikti. XPath taip pat užtikrina vairias funkcijas, kurias toliau papildo pati XSLT. Naudojama kartu su XPath, XSLT kalba tampa veiksmingesn ir lankstesn. XSLT 2.0 versija veikia su XPath 2.0 versija, o abi specifikacijos buvo paskelbtos t pai dien. Analogiškai XSLT 1.0 versija veikia su XPath" 1.0 versija. XPath tai išraiškos kalba, skirta XML dokument dalims arba apskaiiuotoms reikšmms (pavyzdžiui, eilutms, skaiiams arba loginms reikšmms), atsižvelgiant XML dokumento turin. XPath kalba grindžiama XML dokumento medžio pateikimu. Ji užtikrina navigacij aplink med. Viršns pasirenkamos pagal kelet kriterij. Bendriausias XPath reiškinys (po kurio nurodoma XPath ) yra kelio reiškinys. Kodas rašomas kaip seka žingsni, norint nuo vienos XML viršns (dabartinio konteksto viršns) pereiti prie kitos viršns arba viršni. Žingsniai atskiriami / (t. y. kelio) simboliais. Kiekvien žingsn sudaro trys komponentai: Ašies ženklas Viršns testas Predikatas Pavyzdžiui, jeigu XML dokumente yra bent jau: <A><B><C></C></B></A> Nacionalin žems tarnyba prie Žems kio ministerijos,

112 Paprasiausias XPath yra tokios formos: /A/B/C Atrenkami C elementai, kurie yra B element, A elemento vaik, vaikai. A elementas yra daugiausia nutols XML dokumento elementas. Nacionalin žems tarnyba prie Žems kio ministerijos,

113 2.4. Išvados Šioje paskaitoje buvo nagrinjamos skript kalbos ir kelios susijusios technologijos, skaitant DHTML, HTML dokumento objekt modelius (DOM), JavaScript, XML, XSL ir XSLT. Su jomis buvo susipažstama kaip su tinklalapi krimo, priežiros ir keitimo priemonmis. Šios temos grindžiamos ankstesni paskait medžiaga, ypa temomis, skirtomis HTML, paprastoms interneto krimo ir GIS priemonms. Ši paskaita papildo ankstesni paskait temas, kadangi interneto krimas yra vienas svarbiausi informacijos tvarkymo aspekt ir esminis informacijos infrastruktros tarptautiniu, nacionaliniu, vietiniu bei individualiu lygmeniu aspektas. Šioje paskaitoje išdstytoms temoms visiškai sisavinti btina atkreipti dmes kelet pagrindini dalyk: Skript kalbos nuolat keiiasi, o daugiausia dmesio skiriama j tikslumui, naudojimo paprastumui, galimybms taikyti kliento ir serverio programoms, lankstumui ir rafinuotumui. Šie metodai susij ir su programins rangos krimu, ir standartais. Standartai tai pat yra svarbs dl saugumo ir vartotoj poreiki, todl susipažstant su programins rangos krimu, btina akcentuoti nustatyt taisykli svarb. Nors skript kalbos gali pasirodyti gana sudtingos, jos grindžiamos paprasta tinklalapi krimo logika, kuri užtikrina tam tikr lankstum ir leidžia pasireikšti naudotojo krybiškumui. N viena skript kalba nra tobula, taiau, kaip matyti iš šios paskaitos, kalb pranašumai ir trkumai yra vairs, todl, norint šias kalbas suprasti, jas reikia vertinti kritiškai. JavaScript yra viena svarbiausi skript kalb, galinti veikti ir didesnje aplinkoje, reikalaujanioje mokti kit su žiniatinkliu susijusi metod bei kalb, pavyzdžiui, HTML ir DHTML. XML kalba yra taip pat svarbi, nes yra grindžiama tekstiniu formatu, kuris numato mažiau apribojim nei kiti dokument formatai, ji beveik visapusiškai išnaudoja UNICODE ir turi nauding hierarchin struktr, paprastus ir pastovius algoritmus bei prieauginio atnaujinimo galimybes. Šios savybs yra svarbios neatsižvelgiant tokius trkumus, kaip daugiažodiškumas, sunkumai susiejant su dvejetainiais pateikimais bei hierarchinio modelio ribotumas pateikimo atžvilgiu. Todl, kaip ir JavaScript atveju, btina ši kalb vertinti kritiškai. Nacionalin žems tarnyba prie Žems kio ministerijos,

114 Paskaitos savarankiško mokymosi klausimai: 1. Apibdinkite, kuo DHTML skiriasi nuo HTML. Kaip manote, ar DHTML yra veiksmingesn tinklalapi valdymo ir krimo priemon nei HTML? 2. Apibdinkite pagrindines Pasaulinio interneto konsorciumo (W3C) charakteristikas. Koks yra pagrindinis šios organizacijos vaidmuo kuriant internet? 3. Apibdinkite dokumento objekt modelio funkcijas. Kurios specifikacijos ir punktai traukti 0, 1, 2 ir 3 lygmenis? 4. Kokios yra pagrindins JavaScript funkcijos programuojant žiniatinkl ir kuriant svetaines? Pateikdami pavyzdži, apibdinkite pagrindinius JavaScript sakini principus. 5. Kokie yra pagrindiniai XML pranašumai ir trkumai? Apibdinkite, kuo skiriasi XML schemos (DTD ir XSD). Silomieji skaitiniai: JavaScript mokymosi programa: XML mokymosi programa: XSL mokymosi programa: Nacionalin žems tarnyba prie Žems kio ministerijos,

115 Nuorodos (angl kalba): W3Schools, Flanagan, D., JavaScript: The Definitive Guide, 5th Edition, O'Reilly & Associates, 2006 Duffy, S., How to do Everything with JavaScript, Osborne, 2003 Vander Veer, Emily A., JavaScript For Dummies, 4th Edition, Wiley Pub, 2004 Powell, T., Schneider, F., JavaScript: The Complete Reference. McGraw-Hill Companies, 2001 XML on Open Directory Project, van der Vlist, E., Van Comparing XML Schema Languages, 2001, XHTML2 Working Group Home Page, W3C, Ousterhout, John K. Scripting: Higher Level Programming for the 21st Century, Prechelt, L., Are Scripting Languages Any Good? A Validation of Perl, Python, Rexx, and Tcl against C, C++, and Java, 2002, The Extensible Stylesheet Language Family (XSL), W3C, XSL, The Cover Pages Web Site, Nacionalin žems tarnyba prie Žems kio ministerijos,

116 Vartojamieji terminai: Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga Dinaminiai parametriniai tinklalapiai Kliento puss skriptai DHTML Dokumento objekt modelis (DOM) Dokumento tipo aprašas (DTD) Kodavimas JavaScript Jscript Ženklinimas Objekt hierarchija Objektinis programavimas Perl PHP Python Skript kalbos Serverio puss skriptai Struktriniai komponentai Vbscript W3C rekomendacija W3C standartai XHTML XML XSD XSL XSLT Nacionalin žems tarnyba prie Žems kio ministerijos,

117 3. Interneto žemlapiai ir susijusios technologijos Interneto žemlapi technologija atvr naujus kelius, kaip pasauliniuose ir vietiniuose tinkluose skleisti, dalintis, atvaizduoti ir apdoroti erdvin informacij. Interneto technologija pagrsti sprendimai suteikia galimyb nebrangiai ir efektyviai pateikti žemlapius naudotojams. Šioje paskaitoje aptariamos interneto žemlapi ir su kitos susijusios technologijos bei specifikacijos. Pirmiausia bus aptariama daugiapakop architektra, sudaranti interneto žemlapi paslaug aplink. Taip pat apžvelgiama ir interneto technologija AJAX, kuri dažnai naudojama interneto žemlapi taikomosiose programose kliento pakopoje. Toliau analizuojama tripakop architektra, naudojama interneto žemlapi paslaugoms, taip pat pristatomos sistemos, veikianios su plonaisiais (Web Mapping Server - WMS) ir storaisiais (Web Feature Server - WFS) interneto žemlapi klientais. Toliau smulkiai aptariamos OGC standart realizacijos specifikacijos, apibržianios Web Mapping Server, Web Feature Server ir Web Coverage Server funkcines galimybes. Toliau smulkiai aptariamos OGC standart realizacijos specifikacijos, apibržianios Web Mapping Server, Web Feature Server ir Web Coverage Server funkcines galimybes. Šiomis specifikacijomis reikia naudotis kuriant suderintas paskirstytas interneto žemlapi sistemas. Šios specifikacijos turi bti naudojamos gamintoj kuriant tarpusavyje suderinamas paskleistas internetinio atvaizdavimo sistemas. OGC interneto žemlapi paslaug specifikacija apibržia rinkin funkcij, kurias klientai gali naudoti bendraudami su WMS/WFS/FCS teikjais (serveriais). Paskaitos planas Daugiapakop architektra AJAX technologija Interneto žemlapi programins rangos architektra Interneto žemlapi paslaugos (Web Mapping Services WMS) Interneto geoobjekt paslaugos (Web Feature Services WFS) Interneto aprpimo paslaugos Filtro kodavimas Sluoksni stiliaus aprašymas ir simboli reikšmi kodavimas Išvada Nacionalin žems tarnyba prie Žems kio ministerijos,

118 3.1. Daugiapakop architektra Programins rangos architektra, kuri apibržiama kaip strategin programins rangos konstrukcija, pasižymi architektriniais stiliais. Egzistuoja keletas programins rangos architektrini (strategini) stili: autonominis, kliento-serverio, lygiarangi rengini ir t.t. Apskritai, autonomin, vienpakop taikomoji programa - tai programa, kuri veikia vien kliento kompiuteryje. Kliento-serverio arba dvipakop architektra - tai tokia architektra, kai klientas yra atskirtas nuo serverio ir j galima realizuoti per kompiuteri tinkl. Paprasiausio tipo kliento-serverio architektroje naudojami tik dviej tip mazgai: klientai ir serveriai. Klientoserverio taikomosios programos sudarytos iš kliento, kuris turi naudotojo ssaj ir serverio, kuris atlieka duomen saugojim, licenzijavim, didelio kiekio duomen apdorojim ir kt. Kiekviena konkreti kliento programin ranga gali sisti užklausas vien arba daugiau sujungt serveri. Serveriai gali priimti šias užklausas, apdoroti jas ir nusisti klientui jo prašyt informacij. Š princip galima pritaikyti daugeliui skirting taikomj program. Kliento-serverio architektros principai išlieka tokie patys. Dabar tipinis klientas tai interneto naršykl ir interneto, duomen bazi bei elektroninio pašto serveriai. Kai kuri tip kliento-serverio architektros konstrukcijos gali bti sudtingesns ir susidaryti iš eils mazg. Daugiapakopje kliento-serverio architektroje naudojamos trys (tripakop) arba daugiau kaip trys pakopos (daugiapakop arba n-pakop architektra), ir kiekviena iš j gali naudotis keliomis taikomosiomis programomis arba paslaugomis. Daugiapakop taikomj program vykdo daugiau negu vienas individualus programins rangos agentas, galintis bti ant keli rangos ir programins rangos platform. Pavyzdžiui, tai gali bti klientai, taikomj program serveriai, kurie apdoroja duomenis klientams, ir duomen bazi serveriai, kurie saugo duomenis taikomj program serveriams. Plaiausiai naudojama tripakop architektra. N-pakopi architektr privalumas tame, kad jos pasižymi žymiai didesnmis išpltimo galimybmis, kadangi jos išlygina ir paskirsto darbo apkrov tarp daugelio, dažnai perteklini, specializuot serveri mazg. Todl padidja visos sistemos našumas ir patikimumas, kadangi tuo paiu metu galima atlikti daugiau skaiiavimo darb. Programins rangos mazgai arba konkrets lygiaver i rengini (angl. peer-to-peer (P2P)) architektros pavyzdžiai vienu metu gali veikti ir kaip klientas, ir kaip serveris, o atsakomyb ir statusas abiem atvejais vienodi. Šiuo metu plaiai naudojamos ir klientoserverio ir P2P architektros. Viena iš pagrindini paskat vystyti GIS technologij tai noras pritaikyti IT technologij, kuri tiesiogiai naudoja daugiapakop programins rangos architektr operacinei sistemai organizuoti. Daugelis erdvini sprendim prasidjo 1990-ojo dešimtmeio pabaigoje perjimu prie žiniatinkliu grindžiamos paskirstytosios ir atviros n-pakops architektros. Taiau dauguma esam interneto žemlapi taikomj program leidžia atlikti tik kartografinius vaizdavimus ir paprast analiz, o dauguma skaiiavimo funkcij vis dar yra kliento pakopoje. Dauguma dabartini interneto žemlapi serveri - tai supaprastintas variantas visas funkcines galimybes turini taikomj program serveri, esani tipakops pramoninio standarto architektros viduryje. Nacionalin žems tarnyba prie Žems kio ministerijos,

119 Žemlapi programins rangos serveriai leidžia naudotojams ir taikomosioms programoms per internet/intranet su saugia prieiga nuotoliniu bdu surasti GIS duomenis naudojant paprast nurodyk ir spustelk ssaj. Taikomj program serveris suteikia galimyb šiomis žemlapi paslaugomis: Erdvini duomen suradimas ir vizualizacija Nuotolinis erdvini duomen apdorojimo užsakymas Dinaminis užduoties bsenos tikrinimas Erdvin analiz Duomen gavimo ir perdavimo proceso saugumo valdymas Duomen iš heterogenini šaltini integravimas Senos programins rangos pritaikymas Šias žemlapi paslaugas galima išdstyti skirtinguose n-pakops architektros sluoksniuose ir paskirstyti po tinklus. Šiuo metu naudojami du pagrindiniai taikomj program krimo modeliai (API) tai Java 2 Enterprise Edition (J2EE, - angl kalba) ir.net ( angl kalba). Abu šie modeliai naudojami kuriant n- pakopes žemlapi taikomsias programas. Jie sukurti panašiais architektriniais principais ir abu remiasi daugiapakops architektros koncepcija. Žemiau pateiktame paveiksle parodyta galima n-pakops žemlapi architektros schema. GIS funkcins galimybs, duomenys ir metaduomenys visame tinkle gali bti priskirti skirtingoms pakopoms (kurios gali bti suskaidytos sluoksnius) ir juos galima rasti serverio pusje (viename arba daugiau tarpini vidurins rangos sluoksni), vidinje ar kliento pusje. Visas pakopas galima konfigruoti nepriklausomai pagal naudotoj poreikius ir plsti atsižvelgiant bsimus poreikius. Pav.: Galima GIS n-pakop architektra Nacionalin žems tarnyba prie Žems kio ministerijos,

120 Client tier Web Browser Stand alone Middle tier Web/Communication & Presentation layers Web Cache Web Server Servlet Engine Web Connecter Development Tools SSO Services Services and Business Logic Layers Web map application service GIS services System and application services MetaData GeoServices Back-end tier Geodata File Services Database cache Internet file system DBMS (data+metadata+procedures) Kliento pakopa Interneto naršykl Pavienis kompiuteris Vidurin pakopa Interneto/komunikacijos ir pateikimo sluoksniai Interneto podlis Interneto serveris Serverio programli modulis Interneto jungtis Krimo rankiai SSO paslaugos Paslaugos ir verslo logikos sluoksniai Interneto žemlapi taikomj program paslauga GIS paslaugos Sistemins ir taikomj program paslaugos Metaduomen geopaslaugos Vidin pakopa Geoduomen fail paslaugos Duomen bazs podlis Interneto fail sistema DBMS (duomenys+metaduomenys+procedros) Tripakopje paskirstytoje kliento-serverio architektroje (kaip parodyta pav.) yra naudotojo sistemos ssaja kliento pakopa, kurioje yra naudotojo paslaugos. Kliento pakopa gali bti arba vien tik interneto naršykls ( plonasis klientas), arba interneto naršykl su atvaizdavimo papildiniais, pavyzdžiui SVG ( vidutinis klientas), arba storaisiais klientas, pavyzdžiui Java programls, ActiveX komponentai ( - angl kalba), GIS programos arba belaidis renginys (gali bti plonasis klientas). Paskirstytosios sistemos su interneto naršyklmis gali pasitelkti interneto serverius naudodamos HTTP, HTTPS arba SOAP protokolus. Interneto serveris persiunia užklaus pateikimo arba verslo logikos pakop per atitinkamas jungtis, galinias palaikyti CGI ( - angl kalba), NSAPI ir ISAPI ssajos metodus. Storasis klientas gali naudotis Object Request Brokers (ORB, liet. Objekt Užklausos tarpininkais, - angl kalba) programine ranga, grindžiama CORBA, RMI arba SOAP. Ryšiui su taikomosios programos serveriu naudojama bet kuri iš DCOM specifikacij. Pav.: trij rši žemlapi serveriai ir atitinkami žemlapi klientai (Zhang S. and Goddard S., 2003) Nacionalin žems tarnyba prie Žems kio ministerijos,

121 Thin (web browser) client Display server Render Display element generator Thick (web map server) AP Client Map Server Thick (Java Applet) Thin (feature server) Geo-data (vect/rastor) Plonasis (interneto naršykl) klientas Rodymas serveris Atvaizdavimas Rodom element generatorius Storasis (interneto žemlapi serveris) Žemlapi klientas Žemlapi serveris Storasis (JAVA programl) Plonasis (geoobjekt serveris) Geo-duomenys (vektoriniai/rastriniai) HTTP/HTTPS (Hypertext Transfer Protocol/Secure Hypertext Transfer Protocol liet. hiperteksto perdavimo protokolas) yra standartinis užklausos-atsako protokolas, naudojamas tarp kliento ir vidurini pakop interneto serverio. Interneto paslaugos dažniausiai grindžiamos HTTP protokolu. Kiti protokolai sluoksniais išdstyti ant jo (pvz. HTTP protokolu perduodami SOAP pranešimai). Klientui pateikus HTTP užklaus, atsakantis serveris išsaugo ir sukuria išteklius, tokius kaip HTML failai ir vaizdai. Tarp naudotojo programos ir siunianiojo serverio (angl. origin server) gali bti keletas tarpini grandži galiotj serveri serveriai, tinklo sietuv ir tuneli. HTTP nebtinai turi naudoti vien TCP/IP protokol ir jo pagalbinius sluoksnius (žr. 1-j paskait). HTTP galima naudoti kartu su bet kuriuo kitu protokolu internete arba kitame tinkle. Paprastai HTTP klientas teikia užklaus prisijungdamas TCP (Transmission Control Protocol liet. Perdavimo Valdymo Protokolas) protokolo pagalba prie konkretaus pagrindinio kompiuterio prievado (numatytasis yra 80 prievadas). HTTP serveris, sekantis š prievad, laukia kol klientas išsis užklausos pranešim. Gavs užklaus, serveris išsiunia bsenos eilut, pavyzdžiui, HTTP/ OK, ir savo pranešim, kuriame gali bti prašomas failas, klaidos pranešimas arba kokia nors kita informacija. Ištekliai, kuriais galima naudotis pasitelkiant HTTP, yra identifikuojami naudojant universaliuosius ištekli identifikatorius (URI - Uniform Resource Identifiers) arba universaliuosius adresus (URL - Uniform Resource Locators) naudojant http: arba https URI schemas. Vidurinioji pakopa dažnai yra padalinama dvi arba daugiau posistemi arba sluoksni, atliekani skirtingas funkcijas ir pasižymini skirtingomis saugumo savybmis. Serverio pakop gali sudaryti interneto serveris su atitinkamomis jungtimis, tokiomis kaip JSP ( - angl kalba), Servlets (liet. Programls) ( - angl kalba) arba ASP ( - angl kalba), ir sisteminiai, taikomj program ir operacij (pvz. Enterprise JavaBeans arba.net) komponentai. Storasis klientas, naudodamas RMI-JRPM arba CORBA-IIOP standartus ( - angl kalba), gali tiesiogiai kreiptis EJB komponentus aplenkdamas interneto server. Viduriniojoje pakopoje suteikiamos proceso valdymo paslaugos, pavyzdžiui, protokol valdymas, HTML/XML srautinis duomen siuntimas, sistemins, administracins ir taikomj program paslaugos (pvz. apkrovimo išlyginimas, prieigos prie duomen valdymas, apmokjimas ir kt.) bei atliekamos operacijos, kuriomis naudojasi daug Nacionalin žems tarnyba prie Žems kio ministerijos,

122 taikomj program. Interneto žemlapi paslaugos vykdo konkreias žemlapi apdorojimo ir GIS funkcijas, tokias kaip kartografinis atvaizdavimas, erdvini geoobjekt duomen srautinis siuntimas, geokodavimas ir maršruto parinkimas, žemlapio metaduomen publikavimas ir peržirjimas, skirtingo formato erdvini duomen integravimas, duomen atsiuntimas, erdvin ir kartografin generalizacija (angl. spatial and cartographic generalization) ir erdvins užklausos visa tai galima integruoti kaip dal stambesnio taikomj program serverio. Komunikacijos ir pateikimo sluoksnio logika valdo taikomosios programos ssaj su naudotoju ji apdoroja užklausas, generuoja atsako turin, j formatuoja bei pateikia naudotojui (vaizdo žemlapiai, duomen srautai ir t.t.). Servlet, JSP arba ASP programin ranga apdoroja gaunamas užklausas ir paruošia atsak. Verslo logika paprastai yra perkeliama EJB arba.net verslo komponentus, o rezultatai paprastai perkeliami JSP arba ASP puslapius. Verslo logikos sluoksnyje, EJB arba.net architektroje, verslo komponentai iškvieiami Servlet, JSP arba ASP programomis ir tvarko daugum taikomosios programos verslo logikos ir duomen apdorojimo. Komponentai leidžia verslo logikai išlikti stabiliai visiems kreipiniams ir jie sukurti taip, kad galt glaudžiai dirbti su JDBC API ( - angl kalba) arba ADO.NET ( - angl kalba) operacijose su duomen baze. Verslo logika apibržia veiksmus, kurie susij su konkretaus turinio generavimu: duomen saugojimas ir pamimas bei operacij su duomenimis atlikimas. Šio sluoksnio komponentas tvarko gaunam erdvini užklaus paskirstym ir katalogizuoja, kurios paslaugos atliekamos su kuriais erdviniais komponentais. Erdviniai komponentai gali paimti ir pertvarkyti žemlapius bei duomenis tinkam format prieš siuniant juos atgal klientui. Šie komponentai gali palaikyti vairias funkcines galimybes: generuoti vaizdo žemlapius ir srautiniu bdu nusisti vektorinius erdvinius duomenis klientui, atsisti požymi duomenis erdvinms ir lentelinms užklausoms, atlikti geokodavim ir maršruto nustatymo funkcijas, išarchyvuoti ir pateikti erdvinius duomenis reikiamu formatu, erdvini metaduomen saugyklose ieškoti dokument, susijusi su erdviniais duomenimis ir paslaugomis, atlikti erdvin ir kartografin generalizacij. Duomen valdymo sluoksnis valdo duomen išsaugojim duomen bazje ir j pamim. Komponentai gali naudotis JDBC API arba ADO.NET, kaip ir visais API, nors operacijos su duomen bazmis paprastai valdomos EJB arba.net komponent. Prieigos prie duomen logika apibržia operacijas su duomen baze. Duomen pamimas paprastai atliekamas kaip verslo logikos funkcija. Kadangi daugelis erdvini duomen iki šiol saugomi kaip failai, ši duomen valdym galima ženkliai patobulinti juos saugant moni duomen bazi sistemose. Klasikinje tripakopje architektroje treioji vidin pakopa yra viena arba keletas duomen bazi, fail serveris arba kitas vidinis mons informacijos šaltinis visi pasižymi duomen bazi ir fail tvarkymo funkcinmis galimybmis. Kai duomen bazs valdymo komponentai suteikia galimybes saugoti ir tvarkyti erdvins informacijos failus vienoje saugykloje, galima silyti hibridinius sprendimus. Duomen valdymo komponentai užtikrina duomen vientisum, neprieštaringum ir saugum, ypa kai tai lieia paskirstyt aplink. Duomen bazs sluoksnyje yra rinkinys sryšini duomen bazi lenteli, skaitant LOB objektus ( - angl kalba), laikomus plokšiuosius failus, Nacionalin žems tarnyba prie Žems kio ministerijos,

123 metaduomen lenteles, ir išsaugotas procedras. Paskutiniu atveju visos funkcijos ir procedros gali greitai ir efektyviai pasiekti duomen bazje saugojam informacij. Kitokiu bdu vidin pakopa gali bti sukurta taip, kad galt atlikti didelio našumo apskaiiavimus ((angl. High Performance Computing), pvz., geoduomen apdorojimui, žr. Tai klasikin tripakop architektra, išskyrus tai, kad vidin pus suteikia prijim prie toki operacij, kaip topologinis išvalymas, generalizacija, perdangos, duomen konvertavimas, transformavimas bei kitos didelio našumo reikalaujani geoduomen apdorojimo paslaugos, todl darbo procesas tampa efektyvesnis. Naudojantis sen sistem integravimo metodika žiniatinkliu paremtuose sprendimuose, žemlapi taikomj program serveriai leidžia lanksiai integruoti senas sistemas bet kokias naujai sukurtsias. Nacionalin žems tarnyba prie Žems kio ministerijos,

124 3.2. AJAX technologija Kita interneto technologija, dažnai naudojama interneto žemlapi taikomosiose programose tai AJAX Asinchroninis JavaScript plius XML. ( - angl kalba). Internetas buvo sukurtas naršyti tarp HTML dokument, o klasikiniame interneto taikomj program modelyje priimta spustelk, palauk ir atnaujink naudotojo sveikos paradigma bei sinchroninis užklausos-atsako komunikavimo mechanizmas. Tokia naudotojo sveikos paradigma nulemia tai, kad interneto taikomosios programos yra ltos, nepatikimos, nenašios ir neefektyvios. AJAX metode spustelk, palauk ir atnaujink vartotojo sveikos modelis pakeistas dalin ekrano atnaujinim. AJAX grindžiamose taikomosiose programose atnaujinami tik tie naudotojo ssajos elementai, kuriuose yra naujos informacijos, o likusioji naudotojo ssajos dalis ekrane neatnaujinama. Sinchroninis užklausos-atsako komunikavimo mechanizmas pakeistas asinchroniniu komunikacijos modeliu. AJAX grindžiamose taikomosiose programose užklausa-atsakas tarp naudotojo ir kliento naršykls bei tarp naršykls ir serverio gali bti kaip asinchroninis. Todl, kol kliento programa fone užklausia informacij iš serverio, naudotojas gali tsti darb su taikomja programa. Atjus atsakui iš serverio, atnaujinama tik pakitusi ssajos dalis. Taiau, nepaisant sutrumpintos reikšms (Asinchroninis JavaScript + XML metodas), AJAX nra priklausoma nuo kurios nors konkreios programavimo kalbos, apsikeitimo duomenimis formato ar tinklo komunikacijos objekto. AJAX tai tik interneto taikomasis modelis, naudojantis dalin ekrano atnaujinim ir asinchronin komunikacij. AJAX kliento programai sukurti galima naudoti tris technologijas, iš kuri dažniausiai naudojami DHTML/JavaScript (Asinchroninis JavaScript + XML), Java (asinchronin Java + XML) ir Flash (asinchroninis ActionScript + SWF). Nuo interneto daugiapakops architektros programins rangos AJAX metodas skiriasi tuo, kad jame tarp naudotojo ssajos ir serverio kaip tarpinis sluoksnis patalpinamas kliento puss modulis. Naudotojas bendrauja su kliento puss moduliu, o kliento puss modulis bendrauja su serveriu. AJAX technologija pritaikyta interneto žemlapi programoms (pvz. Google Map ). Todl padidja našumas, kadangi kai naudotojas paprašo atnaujinti žemlap, atnaujinamas tik paties žemlapio vaizdas, o likusios dalies atnaujinti nereikia. Naudojant AJAX, interneto žemlapi taikomoji programa greitai braižo ir keiia mastel, sklandžiai slenka vaizd gali bti išplsta, kad rodyt plai informacijos vairov. Nacionalin žems tarnyba prie Žems kio ministerijos,

125 3.3. Interneto žemlapi programins rangos architektra Pirmoji žinoma geografin interneto svetain, Xerox, buvo atidaryta 1993-aisiais metais adresu Šioje svetainje buvo patalpintas pasaulio žemlapis su daugeliu lygi mastelio keitimu. Iš anksto buvo sukurtas didelis žemlapi atvaizd skaiius kiekvienam mastelio ir išpltimo scenarijui. Tai nebuvo tikras interneto žemlapi serveris, kaip jis suprantamas šiandien, taiau konceptuali idja buvo panaši. Pirmj viduriniosios pakopos interneto žemlapi taikomj program ArcView Internet Map Server sukr ESRI. Nuo tada ESRI sukr kelet nauj savo IMS programos kart ir šiuo metu silo ArcGIS Server taikomj program, kuri turi ne tik interneto žemlapi galimybes, taiau gali apdoroti geografinius duomenis, geokoduoti, veikia tinkle ir t.t. Didžiulis interneto populiarumas ir prieinamumas, gautas per paskutin dešimtmet, pritrauk GIS rangos pardavjus iš viso pasaulio. Kiti pagrindiniai GIS rangos pardavjai ir j interneto žemlapi programos, tokie kaip MapInfo su MapExtrem, Autodesk su Map Guide ir Intergraph su GeoMedia WebMap. Be to, krjams ir naudotojams savo gaminius, pvz. MapServer, GeoServer ir kt., silo atvirosios programins rangos gamintojai ir nekomercins organizacijos. Kalbant iš esms, interneto žemlapi taikomosios programos nra GIS. Dabartini IMS funkcins galimybs yra žymiai mažesns lyginant su stacionariomis GIS sistemomis. Tik ESRI kompanijos ArcServer program galima bt laikyti internetine programine ranga, galinia atlikti tikros GIS sistemos darb. Bendrai kalbant, geo-erdvini duomen pateikim (atvaizdavim) galima bt padalinti keturis procesus (Cuthbert, 1997): 1. Rengiam pateikti geo-erdvini duomen filtravimas arba atrinkimas. 2. Vaizdo element generavimas iš atrinkt geo-erdvini duomen. 3. Vaizdo element surinkimas atvaizduojam žemlap. 4. Atvaizduoto žemlapio pateikimas naudotojui. Pav.: OGS atvaizdavimo modelis Atvaizdavimas tai informacijos pateikimas žmonms, pvz. žemlapio. Nacionalin žems tarnyba prie Žems kio ministerijos,

126 Device characteristics Display Image Image Image Constraints Render Display elements Raster/Vector Description Style Display Element Generator Features OpenGIS Specification for Simple Features Querry constraints Filter Data Source renginio charakteristikos Pateikimas Vaizdas Vaizdo formatas Vaizdo apribojimai Atvaizdavimas Vaizdo elementai Rastriniai/Vektoriniai Aprašymai Stilius Vaizdo element generavimas Geoobjektai OpenGIS specifikacija paprastiems geoobjektams Užklausos apribojimai Filtravimas Duomen šaltinis Interneto žemlapi taikomosiose programose šis atvaizdavimo modelis gyvendinamas kaip daugiapakop architektra. Ruošiam pateikti geo-erdvini duomen filtravimas ir atrinkimas realizuojamas vidins puss (ang. back-end) arba duomen saugojimo pakopoje, kur sudaro fail serveriai, saugojantys erdvinius duomenis (pvz. iš formos ir vaizdo fail, o taip pat iš serverio, kuriame veikia Oracle arba kitokia RDBMS, ir SDE). Atrinkimo procesas inicijuojamas iš viduriniosios arba verslo pakopos, kuri sudaro serverio puss komponentai, skaitant interneto server, taikomosios programos server, erdvini duomen server ir kt. Ši pakopa - tai vieta, kur apdorojamos visos užklausos ir atliekamas serverio administravimas. Atvaizduoto žemlapio pateikimas naudotojui realizuojamas kliento kompiuteryje. Kliento arba pateikimo pakop sudaro kliento puss komponentai, kurie naudojami užklausoms server sisti ir žemlapiams bei duomenims peržirti. Žirykles sudaro HTML/DHTML žirykls, Java, kitos savarankiškos žirykls arba XML klientai. HTML/DHTML žirykls yra keliamos interneto naršykls (pvz. su JavaScript ). Java žirykls gali bti nepriklausomos programos arba jas galima realizuoti naršyklje panaudojant programl. Antrasis ir treiasis atvaizdavimo procesai (vaizdo element generavimas iš atrinkt geoerdvini duomen ir j surinkimas atvaizduojam žemlap) gali bti realizuojami viduriniojoje pakopoje arba kliento pakopoje. Tai priklauso nuo to, koks realizuojam paslaug tipas (WMS Web Map Service (liet. Interneto Žemlapi Paslaugos) arba WFS Web Feature Service (liet. Interneto Geoobjekt Paslaugos)). WMS atitinka plonj klient, o WMS atitinka storojo kliento architektr. Nacionalin žems tarnyba prie Žems kio ministerijos,

127 Pav.: plonojo ir storojo klient palyginimas atvaizduojant geoobjektus per internet (OGC Reference Model ORM versija 0.1.3). Browser Naršykl Integrator Integratorius OpenGIS conformant service Su OpenGIS suderinamos paslaugos Device Characteristic renginio charakteristikos Display Pateikimas Image Vaizdas Image format Vaizdo formatas Image Constraints Vaizdo apribojimai Render Atvaizdavimas Display elements Vaizdo elementai Raster/Vector Rastriniai/Vektoriniai Description Aprašymai Style Stilius Display Element Generator Vaizdo element generavimas Features Geoobjektai OpenGIS Specification for Simple Features OpenGIS specifikacija paprastiems geoobjektams Querry constraints Užklausos apribojimai Select Atrinkimas Data Source Duomen šaltinis Plug-in applet, application Ppaildoma programl, taikomoji programa WMS arba vaizdavimo paslauga žemlapius išleidžia kaip rastrinius vaizdus, kurie viduriniojoje pakopoje bna jau iš anksto paruošti pateikimui, o WFS arba geoobjekt paslauga viduriniojoje pakopoje sutvarko geografinius objektus arba vektorinius duomenis Nacionalin žems tarnyba prie Žems kio ministerijos,

128 ir atvaizduoja juos klientui pateikti. WMS ir WFS paslaugos yra kaip tarpininkai žemlapio ir geoobjekt duomen bazi. Atvaizduotas žemlapis tai žemlapi serverio darbo rezultatas, o geoobjektai gaunami iš geoobjekt serverio. WMS atsiunia žemlapio turin kliento taikomj program kaip JPEG, PNG arba GIF formato vaizdus. Naujas žemlapio atvaizdas sugeneruojamas kiekvien kart klientui paprašius naujos informacijos. WFS atsiunia žemlapio turin naudotojui kaip geoobjekt duomen sraut arba kaip XML/GML koduot geometrij. Geoobjekt geometrijos duomenys siuniami srautiniu bdu ir išlieka tik tol, kol klientas yra atviras. WFS užklausos siuniamos erdvini duomen server tik tuomet, kai prireikia papildom duomen. Jeigu interneto žemlapio klientas gali tik peržirti informacij, klientui bus atsisti vaizdo element (rastriniai) duomenys. Tai gali visos standartins interneto naršykls. Jeigu žemlapi klientas turi žemlapi atvaizdavimo ir vaizdo element generavimo galimybes, tuomet žemlapio klientui bus atsisti geoobjektai iš geoobjekt serverio (angl. feature server). Palyginus su WFS, vaizdo element siuntimo privalumas tame, kad jis mažiau užim tinkl, kadangi vektoriniai geo-duomenys siuniami tik vien kart, ypa didinimo/mažinimo ir slinkimo (angl. pan) operacijose kliento pusje. Trkumas tame, kad šio proceso reikalavimai vektorini duomen žemlapi klientui yra daug didesni, negu reikalavimai vaizdo element duomen žemlapi klientu. Tipiniam vektorini duomen žemlapio klientui reikalinga Java programl, Active-X komponentas arba papildinys, skirtas apdoroti vektorinius duomenis. Nacionalin žems tarnyba prie Žems kio ministerijos,

129 3.4. WMS paslaugos Pagal OpenGIS Web Map Server realizacijos specifikacija (2006), WMS (Web Map Service Interneto žemlapi paslauga) iš geografins informacijos dinamiškai kuria erdvins atskaitos duomen žemlapius. WMS sukurti žemlapiai atvaizduojami PNG, GIF arba JPEG formato vaizdais, arba kaip vektoriniai grafiniai elementai SVG (Scalable Vector Graphics) arba webcgm (WEB Comuper Graphics Metatfile) formatais. OGC (Open Geospatial Consortium - Atvirojo Geografinio Konsorciumo) specifikacija apibržia, kad OGC interneto žemlapi serveris realizuoja tris funkcijas arba operacijas: GetCapabilities, GetMap ir GetFuatureInfo. GetCapabilities funkcija pateikia klientui žemlapio serverio paslaug metaduomenis, aprašanius jo galimybes. GetMap funkcija aprašo gerai-apibržtos žemlapio užklausos geografinius ir matmen parametrus, leidžianius klientui paprašyti vaizdo žemlapio. Galiausiai, GetFeature funkcija leidžia klientui paprašyti daugiau informacijos apie geoobjektus konkreioje žemlapio vietoje. GetCapabilities ir GetMap yra privalomos operacijos, o GetFeature operacija yra pasirinktina. Tipiškoje OGC WMS kliento-serverio sveikoje klientas iš žemlapi serverio pirmiausia iškvieia GetCapabilities operacij, kad galt nustatyti, k serveris gali atlikti ir kokius žemlapius gali pateikti. Po to, kad galt gauti žemlapio vaizd, klientas iškvieia GetMap operacij, kuri pateikia informacij apie žemlapi serverio galimybes. Galiausiai, nordamas gauti daugiau informacijos apie geografin objekt, nustats žemlapyje konkret tašk klientas gali iškviesti GetFeatureInfo operacij. Pav.: OGC WMS funkcijos/operacijos WMS pagrindinis kompiuteris turi palaikyti HTTP protokol paskirstytoje platformoje. HTTP palaiko du užklausos bdus: GET ir POST ( angl kalba). WMS serveris gali pasilyti vien arba abu šiuos bdus. GET metodo palaikymas yra privalomas, o POST metodo palaikymas neprivalomas. Kaip parodyta žemiau, vairioms operacijoms ir parametrams URL koduoti HTTP GET atveju naudojamos raktinio žodžio-reikšms poros (KVP, keyword-value pairs). HTTP POST atveju, POST dokumento pagrindinje dalyje kaip kodavimo kalba naudojama XML. WMS operacijas galima iškviesti standartins interneto naršykls pagalba nusiuniant WMS pagrindiniam kompiuteriui GET užklaus HTTP universalaus adreso (URL, Uniform Resource Locators) forma. HTTP URL tinkle suranda ištekl kiekvienos operacijos, kuri palaiko paslaugos teikjas. Toki URL turinys priklauso nuo kvieiamos operacijos. Žemlapio prašymo URL nurodomas žemlapio turinys, geografin žemlapio apimtis, norima koordinai sistem ir pateikiamo žemlapio atvaizdo dydis. Nacionalin žems tarnyba prie Žems kio ministerijos,

130 Kiekvienas URL turi atitikti IETF RFC 2616 (dalis HTTP URL ) apibržim, bet kitais atžvilgiais jie priklauso nuo realizacijos. OGC WMS specifikacijoje apibržiama tik užklausos dalis, sudaranti pat paslaugos prašym. URL eilut sudaro protokolas ( http arba https ), pagrindinio kompiuterio (serverio) vardas arba IP adresas, pasirenkamo prievado numeris, kelias, privalomas klaustuko ženklas? (skiriamasis ženklas, nurodantis užklausos eiluts pradži), ir laisvai pasirenkama eilut su viena arba keletu nuo serverio priklausani parametr, pasibaigiani & ženklu (skiriamasis ženklas tarp užklausos eiluts parametr). URL eilut sudaroma pagal IETF RFC Tokiu bdu, URL eilut nurodo tinklo adres konkretaus serverio, kur bus siuniami konkreios operacijos užklausos pranešimai. WMS OGC specifikacija apibržia, kaip pateikti URL eiluts parametrus arba užklausos dalis, norint sudaryti užbaigt užklausos pranešim. Visos WMS operacijos turi kelet privalom arba neprivalom užklausos parametr. Kiekvienas parametras apibržiamas vardu. Kiekvienas parametras gali turti vien arba kelias reikšmes name=value& forma. Reikšms apibržiamos pagal specifikacij arba klientas jas pasirenka remdamasis paslaugos metaduomenis. Lentel: URL eilut, skirta užbaigti WMS GET užklausos pranešim URL komponentas Apibržimas Paslaugos operacijos URL prievardis. [ ] nurodo 0 arba 1 neprivalomos dalies egzempliorius; {} nurodo 0 arba daugiau egzempliori (angl. occurrences). name=value& Viena arba daugiau standartini užklausos parametr vardo/reikšms por, kaip apibržta kiekvienai operacijai WMS OGC specifikacijoje. Gavs tinkamai suformuot užklaus, serveris siunia atsak kaip fail, kuriame gali bti tekstas arba žemlapio vaizdas. Kartu su šiais atsakais siuniamas atitinkamas Multipurpose Internet Mail Extensions (MIME) (IETF RFC 2045) tipo pranešimas. Atsakydamas GetCapabilities užklaus, OGC interneto žemlapi serveris sukuria XML dokument su interneto žemlapi serverio paslaug metaduomenimis, nurodaniais visas jo palaikomas operacijas ir informacij apie turimus žemlapius. Kliento taikomoji programa turi išanalizuoti XML galimybi dokument ir pasiimti žemlapio užklausai reikiam informacij. Kartu su informacija apie galimybes, klientas gali paprašyti žemlapio vaizdo iš žemlapi serverio. GetMap užklausoje paprastai yra keletas privalom parametr, toki kaip Layers (sluoksniai), Styles (stiliai), Bounding Box (BBox) (rmelis), erdvins atskaitos sistemos (SRS Spatial Reference System), pateikiamo žemlapio plotis (Width) ir aukštis (Height) ir vaizdo formatas (Format). Sluoksniai nurodo kokia informacija bus rodoma žemlapyje (pvz. keliai, ups, miestai ir t.t.). Stiliai naudojami sluoksniams aprašyti, pavyzdžiui, linijos reiškia kelius, apskritimai reiškia miestus ir t.t. BBox - tai keturi koordinatini reikšmi rinkinys (minx, miny, maxx, maxy), apibržiantis ant žems paviršiaus staiakamp plot, kurio žemlap ketinama sudaryti. SRS - tai naudojama projekcini koordinai sistema Nacionalin žems tarnyba prie Žems kio ministerijos,

131 (smulkesnis aprašymas pateiktas OGC specifikacijoje adresu - angl kalba). VERSION=1.1.0& REQUEST=GetMap& BBOX=0.0,0.0,1.0,1.0& LAYERS=Rivers,Roads,Houses& STYLES=CenterLine,CenterLine,Outline Pav.: nepilnas pavyzdys HTTP GET užklausos žemlapiui, kuriame žemlapio atvaizdavimo informacija apibržiama Layers ir Styles patametrais. Panaudojant vaizdo formatus, kurie palaiko skaidrius fonus (pvz. GIF arba PNG), tame paiame pateikiamo žemlapio vaizde gali persikloti vienas arba daugiau žemlapi. Šie žemlapiai gali bti paprašyti iš skirting paskirstyt žemlapi serveri. Paprasiausias WMS duomenis saugo kaip Sluoksnius ( Layers ) iš serverio paprašomas bazinis geografins informacijos vienetas ir jam pasilomas tam tikras skaiius iš anksto nustatyt Stili ( Styles ), kuriais tie sluoksniai turi bti atvaizduoti. Vienas arba keletas sluoksni, sudarani kompiuterio ekrane tinkam pateikti skaitmenin vaizd, vadinami Žemlapiu ( Map ). OGC WMS žemlapiui ir sluoksniams gali palaikyti pagrindines koordinai sistemas. Atvaizdavimo operacijos metu, WMS gali konvertuoti geografinius duomenis iš sluoksnio arba duomen šaltinio koordinai sistemos žemlapio koordinai sistem. Sluoksnis gali turti susijusias vertikali, laikinj arba kitoki koordinai sistem. Gavs žemlap, GetFeatureInfo funkcijos pagalba klientas gali paprašyti konkretaus žemlapio taško geoobjekto duomen. Atsakas iš WMS serverio bt siuniamas vienu iš trij išvesties format: GML (Geography Markup Language) failu, paprastu tekstiniu failu arba HTML failu. GML tai XML grindžiamas kodavimo tipas, nurodantis informacij apie geoobjektus. geoobjektus eina taškai, linijos, daugiakampiai ir kitkas, kas apibržta OGC paprast geoobjekt (Simple Features) specifikacijoje ( - angl kalba). Kliento taikomoji programa išanalizuoja GML ir pateikia interneto naršyklje informacij apie geoobjektus. Nacionalin žems tarnyba prie Žems kio ministerijos,

132 3.5. WFS paslaugos OGC interneto žemlapi paslauga (WMS - Web Map Service) leidžia pateikti žemlapio vaizdus iš daugelio WMS, esani kliento kompiuteryje, tuo tarpu OGC interneto geoobjekt paslaug (WFS - Web Feature Service) leidžia dirbti su geoobjektais arba vektorinmis geoerdvini duomen išraiškomis, užkoduotomis Geography Markup Language (GML) kalba iš daugelio WFS. OGC WFS specifikacija apibržia ssajas ir j funkcijas arba operacijas, susijusias su duomen pamimu ir manipuliavimu geografiniais objektais naudojant HTTP paskirstytose skaiiavimo platformose. OGC WFS palaiko insert (terpti), update (atnaujinti), lock (užrakinti), query (užklausti) ir discovery (atidengimas) operacijas. Šias operacijos galima panauudoti kiekvienai atskirai savybei. Galima sukurti nauj geoobjekt, j panaikinti, atnaujinti ir užklausti, atsižvelgiant erdvinius ir neerdvinius apribojimus. Geoobjektas - tai realaus pasaulio reiškinio abstrakcija. Pagal OGC, geoobjektas tai dalykas, kuris aprašytas savybi rinkiniu, kur kiekviena savyb gali bti nurodoma kaip kortežas (angl. tuple) {vardas, tipas, reikšm}. Kiekvienos geoobjekto savybs vardas ir tipas apsprendžiamas jos tipo apibržimo. Geoobjektas turi bent vien savyb, kuri geometriškai susijusiu ir susieta su vieta Žemje. Taiau, geoobjektai gali visai neturti geometrini savybi. ISO nustato, kad konkretus geoobjektas turi turti geoobjekto požymius, geoobjekto tarpusavio sryšius ir geoobjekto operacijas (apibržti matematiniai veiksmai, skirti apdoroti informacij apie geoobjektus). Atskiri geoobjektai skirstomi keturis tipus, pasižyminius bendromis charakteristikomis. OGC GML (Geography Markup Language) specifikacijoje aprašomas geoobjekt kodavimas XML kalba, skirtas geografini duomen saugojimui, perdavimui, apdorojimui ir transformavimui. Todl WFS reikalauja, kad j ssaja bt apibržta XML kalba. Kaip XML išpltim, GML btina naudoti norint išreikšti geoobjektus pateikimui ir atvaizdavimui skirtoje ssajoje. btina naudoti XML kalboje atrinkimui reikia naudoti SQL filtravimo kalb. Išeities duomenys gali bti pasiekiami tik per WFS ssaja ir nematomi kliento taikomosioms programoms. Xpath išraišk poaibis gali bti naudojamas atskaitos savybms nurodyti. WFS galima apibdinti tokiu pat bdu kaip WMS, apibržiant užklausos ir atsako keliavim iš kliento WMS server ir atgal. Užklausa gali bti apdorojama tokia tvarka: 1. Pirmiausia kliento taikomoji programa paprašo dokumento apie galimybes, kuriame yra vis WFS palaikom operacij aprašymas ir srašas vis geoobjekt tip, kuriuos sistema gali aptarnauti. 2. Toliau, jeigu reikia, kliento taikomoji programa gali paprašyti informacijos apie vien arba daugiau geoobjekt arba element tip, kuriuos gali aptarnauti WFS. 3. Remiantis geoobjekt tipo (-) apibržimu, kliento taikomoji programa sugeneruoja užklaus, kuri siuniama interneto server. 4. Iškvieiama WFS, ji perskaito ir aptarnauja užklaus. Pavyzdžiui, WFS gali atrinkti konkreius geoobjektus su tam tikromis savybmis pagal erdvines ir/arba neerdvines užklausas. 5. Pabaigus apdoroti WFS užklaus, WMS sugeneruoja bsenos ataskait ir siunia j atgal klientui. vykus klaidai, tai matysis bsenos ataskaitoje. Nacionalin žems tarnyba prie Žems kio ministerijos,

133 Panašiai kaip WMS, WFS gali atsakyti GET (raktinio žodžio-reikšms poros) ir/arba POST/SOAP (XML) HTTP užklausos bdus, taiau URL užklausos sudarymas WMS kiekvienu atveju skiriasi. URL sudarymas WFS GET užklausai yra panašus aprašyt aukšiau WMS atvejui. Be to, WFS (Web feature services) gali bti pasilytos panaudojant HTTPS ( - angl kalba) protokol. HTTPS yra HTTP protokolas per saug ryšio kanal, kas leidžia tinklu perduoti šifruot informacij. Atsakas kiekvien GET metodu koduot užklaus, yra identiškas atsakams, kurie generuojami XML bdu koduotas užklausoms (POST metodas). OGC WFS užklausa gali palaikyti tokias operacijas: Pav.: WFS ssajos UML diagrama. WebFeatureService klas gauna getcapabilities operacij iš abstrak ios OGCWebService klass, kuri yra bendra visoms OGC interneto paslaugoms (skaitant WMS). WebFeatureService klas papildomai gali turti DescribeFeatureType, GetFeature, getfeaturewithlock, Transaction ir LockFeature metodus. Leiskite trumpai apžvelgti šias WFS operacijas: getcapabilities (privaloma), DescribeFeatureType (privaloma), GetFeature (privaloma), GetGmlObject, Transaction Insert, Update ir Delete (neprivalomos) ir LockFeature (lneprivaloma): Pav.: OGC WFS ssajos modelis (iš - angl kalba) WFS GetCapabilities paslauga aprašo WFS galimybes ir taip nurodo galimus WFS geoobjekt tipus ir WFS palaikomas operacijas. Faktiškai ši paslauga sugržina paslaugos metaduomenis ir turi palaikyti HTTP GET užklausos metod (KVP kodavimas). Nacionalin žems tarnyba prie Žems kio ministerijos,

134 Šiame fragmente pateiktas pavyzdys GetCapabilities GET URL užklausos: VERSION=1.1.0& SERVICE=WFS& REQUEST=GetCapabilities Pav.: GET URL užklausa galimybi dokumentui iš WFS. Atsako apie galimybes dokumente yra tokios dalys: Paslaug identifikavimo dalis pateikia informacij apie paias WFS paslaugas, kaip aprašyta OWS bendrosios realizavimo specifikacijos skyriuje. ( Paslaug teikjo dalyje pateikiami metaduomenys apie organizacij, kuri valdo WFS server, kaip aprašyta OWS bendrosios realizavimo specifikacijos skyriuje. Operacijos Metaduomen dalyje pateikiami metaduomenys apie WFS operacijas. Operacij metaduomen dalies turinys aprašytas OWS bendrosios realizavimo specifikacijos skyriuje. Šiuose metaduomenyse yra surašyti kiekvienos operacijos parametrai ir apribojimai. Geoobjekt tip srašo (angl. FeatureType list) dalyje apibržiamas srašas geoobjekt tip, išvest iš gml:abstractfeaturetype ir operacijos su kiekvienu geoobjekt tipu, kurias galima atlikti naudojantis WFS. Papildoma informacija, tokia kaip numatytoji erdvin atskaitos sistema (SRS Spatial Reference System), bet kokios kitos palaikomos SRS, arba kokios bebt ne SRS (neerdvini geoobjekt tipams), WFS užklausoms yra pateikiama kiekvienam geoobjekt tipui. ServesGMLObjectType list dalyje išvardinami GML objekt tipai, kurie neišvedami iš gml:abstractfeaturetype, taiau prieinami interneto paslaugoms, kurios palaiko GetGMLObject operacij. Šiuos tipus galima apibržti pagrindinje GML schemoje arba taikomosios programos schemoje panaudojant jos paios vard srit. SupportsGMLObjectType list dalyje apibržiamas srašas GML objekt tip, kuriuos WFS serveris pajgt aptarnauti, jeigu jis bt pritaikytas aptarnauti duomenis kaip aprašyta taikomosios programos schemoje, kuri arba tiesiogiai naudojo tuos GML objekt tipus (ne abstraktiems tipams) arba apibrž išvestinius tipus pagal t tip pagrind. Filtravimo galimybi (Filter capabilities) neprivaloma dalis, kurioje apibržiamas srašas WMS palaikom filtravimo operacij. Jeigu dalis neapibržta, tuomet serveris palaiko tik minimal numatyt filtravimo operacij rinkin, kaip apibržta OGC filtro kodavimo realizacijos specifikacijoje ( - angl kalba). Dalies schema taip pat apibržiama toje paioje specifikacijoje. Smulk atsako element aprašym šiai ir kitoms WMS operacijoms galima rasti OGC WMS specifikacijoje, kaip ir smulkius aprašymus GET URL WFS užklausos parametr, naudojant standartin CGI stiliaus raktinio žodžio reikšms poros kodavim WFS operacijoms, taipogi aprašytoms OpenGIS Web Feature Service (WFS) realizacijos specifikacijoje ( angl kalba). The WFS DescribeFeatureType paslauga apibdina struktr kiekvieno geoobjekto tipo, kuriuos gali aptarnauti WFS. Operacija sukuria schem, kuri apibržia, kaip WFS realizacija nori, kad vedime bt koduojamas konkretus geoobjektas (per Insert ir Update Nacionalin žems tarnyba prie Žems kio ministerijos,

135 užklausas) ir kaip geoobjektai bus generuojamos išjime (atsakant GetFeature ir GetGmlObject užklausas). Žemiau pateiktas DescribeFeatureType GET URL užklausos fragmentas: SERVICE=WFS& VERSION=1.1.0& REQUEST=DescribeFeatureType& TYPENAME=Buildings_100K Pav.: GET URL užklausa scheminio aprašymo Buildings_100K geoobjekto tipo. Vienintel privaloma išvestis yra GML3 taikomosios programos schema, aprašyta naudojant XML schem ir turi bti sugeneruota. Kitas schem kalbas taip pat galima naudoti geoobjekto tipui aprašyti, kadangi MIME tipo reikšm outputformat požymiui nurodoma galimybi dokumente. Atsakant aukšiau aprašyt DescribeFeatureType užklaus, WFS gali sugeneruoti XML schemos dokument, kuris yra tokio pavidalo: <?xml version="1.0"?> <xsd:schema targetnamespace=" xmlns:myns=" xmlns:gml=" xmlns:xsd=" xmlns=" elementformdefault="qualified" version="0.1"> <xsd:import namespace=" sd"/> <!-- ============================================= define global elements ============================================= --> <xsd:element name="buildings_100k" type="myns:buildings_100k_type" substitutiongroup="gml:_feature"/> <!-- ============================================ define complex types (classes) ============================================ --> <xsd:complextype name="buildings_100k_type"> <xsd:complexcontent> <xsd:extension base="gml:abstractfeaturetype"> <xsd:sequence> <xsd:element name="shpgeom" type="gml:polygonpropertytype" nillable="false"/> <xsd:element name="id" nillable="true" minoccurs="0"> <simpletype> <xsd:restriction base="integer"> <xsd:totaldigits value="10"/> <xsd:/restriction> <xsd:/simpletype> <xsd:/element> Nacionalin žems tarnyba prie Žems kio ministerijos,

136 <xsd:element name="mailaddress" type="myns:addresstype" nillable="true"> <xsd:/sequence> <xsd:/extension> <xsd:/complexcontent> <xsd:/complextype> <xsd:complextype name="addresstype"> <xsd:sequence> <xsd:element name="streetname" nillable="true"> <xsd:simpletype> <xsd:restriction base="string"> <xsd:maxlength value="50"/> </xsd:restriction> </xsd:simpletype> </xsd:element> <xsd:element name="streetnumber" nillable="true"> <xsd:simpletype> <xsd:restriction base="string"> <xsd:maxlength value="10"/> </xsd:restriction> </xsd:simpletype> </xsd:element> <xsd:element name="city" nillable="true"> <xsd:simpletype> <xsd:restriction base="string"> <xsd:maxlength value="30"/> </xsd:restriction> </xsd:simpletype> </xsd:element> <xsd:element name="municipality" nillable="true"> <xsd:simpletype> <xsd:restriction base="string"> <xsd:maxlength value="30"/> </xsd:restriction> </xsd:simpletype> </xsd:element> </xsd:sequence> </xsd:complextype> </xsd:schema> Pav.: XML schemos dokumento pavyzdys (xsd), sukurtas atsakant DescribeFeatureType užklaus. WFS GetFeature paslauga pasiima geoobjektus su nurodytomis savybmis. GML naudojamas kanoniniu bdu atvaizduoti geoobjektus. Dl šios priežasties btina suprasti GML modelius naudojamus geoobjektams, kas bus aptarta sekanioje paskaitoje. GML formate geoobjektas atvaizduojamas kaip XML element. Feature elemento vardas nurodo geoobjekto tip (pvz. Buildings_100K arba gml:buildings_100k) ir paprastai nurodomas UpperTitleCase. Feature elemente gali bti rinkinys antrini element, kurie aprašo geoobjekto savybi rinkin. Savybs elemento vardas nurodo savybs tip, pzvyzdžiui streetname arba gml:boundedby, ir paprastai nurodomas lowercamelcase. Savybs reikšm gali bti duota toje paioje eilutje, pavyzdžiui <xsd:element name="location" type="gml:pointpropertytype" nillable="true"/>, arba kaip nuorodo kaip vert šaltinio, nurodyto su nuoroda, esania kaip XML atributas ypatybs elemento. Jeigu naudojama eiluts forma, tuomet turinys gali bti struktrizuotas naudojant XML elementus. Pavyzdžiui: Nacionalin žems tarnyba prie Žems kio ministerijos,

137 <xsd:element name="municipality" nillable="true"> <xsd:simpletype> <xsd:restriction base="string"> <xsd:maxlength value="30"/> </xsd:restriction> </xsd:simpletype> </xsd:element> Žemiau pateiktuose fragmentuose pateiktas GetFeatureType GET URL užklausos pavyzdys. SERVICE=WFS& VERSION=1.1.0& REQUEST=GetFeature& TYPENAME=Buildings_100K,Roads_100K Pav.: GET URL užklausa užklausa vis savybi vis Buildings_100K and Roads_100K geoobjekt. Privalomas typename požymis naudojamas nurodyti vard vieno arba daugiau geoobjekt tip klasi, kurios bus užklausiamos. J reikšms turi bti sraše vardo erdv-tinkami vardai (XML Schema tipas Qname, pvz. myns:addresstype) ir sutapti su vienu iš geoobjekt tip iš WFS galimybi dokumento. Nurodant daugiau kaip vien tipo vard reiškia, kad bus atlikta jungtin operacija. SERVICE=WFS& VERSION=1.1.0& REQUEST=GetFeature& PROPERTYNAME=Buildings_100K/buildingId& TYPENAME= Buildings_100K Pav.: GET URL prašymas užklausai buildingid savybei visiems Buildings_100K tipo geoobjektams. Kiekvieno wfs:propertyname elemento reikšm, pvz. buildingid, turi bti vardui tinkamas vardas (XML Schema tipas Qname, pvz. myns:buildings_100k) ir sutampa su vienu iš savybi element vard GML vaizdavime atitinkamo geoobjekto. Savybi element vardus galima gauti pateikus DescribeFeatureType užklaus. SERVICE=WFS& VERSION=1.1.0& REQUEST=GetFeature& PROPERTYNAME= Buildings_100K/buildingId& FEATUREID= Buildings_100K.1366 Pav.: GET URL prašymas užklausai buildingid savybs Buildings_100K tipo geoobjekt su 1366 identifikatoriumi. Nacionalin žems tarnyba prie Žems kio ministerijos,

138 SERVICE=WFS& VERSION=1.1.0& REQUEST=GetFeature& TYPENAME=InWaterA_1M& FILTER=<Filter><Within><PropertyName>Buildings_100K/wkbGeom<PropertyName> <gml:envelope><gml:lowercorner>80 80<gml:lowerCorner> <gml:uppercorner> </gml:upperCorner></gml:Envelope> </Within></Filter> Pav.: GET URL prašymas užklausai vis savybi Buildings_100K tipo geoobjekt su erdviniu filtru. XML koduoto filtro parametro reikšm nustatyta OGC filtro kodavimo realizacijos specifikacijoje. WMS GetFeature funkcijoje gali bti vienas arba daugiau Query apibržim, kurie yra sujungti, kad sukurt galutin užklausos rinkin. Filter elementas naudojamas aprašyti užklausos apribojimus. Ir erdviniai ir neerdviniai apribojimai gali bti nurodyti filtro kodavimo specifikacijoje. Jeigu interneto geoobjekt paslauga turi diegt Xlink traversal, WFS klientas gali naudoti traversexlinkdepth ir traversexlinkexpiry požymius nordamas prašyti šios lizdins savybs Xlink nurodant elemento lokatoriaus požym (href) Xlink nuorodos, jeigu manoma traversuojami ir išsprendžiami. Xlink susiejimo elementas yra dalis XML Path Language (Xpath) specifikacijos, kuri nurodo XML dokumento dalis, aptartas ankstesniojoje paskaitoje.. WFS realizacija turi palaikyti tik poaib XPath kalbos, kuri iš anksto apibržta OGC WMS specifikacijoje. Jeigu WMS GetFeature outputformat požymis nustatomas text/gml; subtype=gml/3.1.1 (tai yra numatytoji reikšm), tuomet klientas gaus atsak iš WMS GetFeature užklausos kaip galiojant GML3 dokument. Atsakydama GetFeature užklaus, WFS gali arba generuoti piln atsako dokument arba gali paprasiausiai pateikti geoobjekt skaii. Pasirinktinis resulttype požymis naudojamas valdyti WFS atsako tip. Šiame pavyzdyje pavaizduota GetFeature užklausa geoobjekto su 1366 identifikatoriumi, naudojant Towns_100K/townId kaip typename/propertyname elementus. <wfs:getfeature xmlns:wfs=" xmlns:ogc=" xmlns:xsi=" xmlns:myns=" xsi:schemalocation=" version="1.1.0" service="wfs" outputformat="text/xml; subtype=gml/3.1.1"> <Query typename="myns:towns_100k"> <wfs:propertyname>myns:townid</wfs:propertyname> <wfs:propertyname>gml:directednode</wfs:propertyname> <ogc:filter> <ogc:gmlobjectid myns:townid="1366"/> </ogc:filter> </myns:query> </wfs:getfeature> Nacionalin žems tarnyba prie Žems kio ministerijos,

139 Pav.: POST XML prašymas užklausai townid savybs Towns_100K tipo geoobjektui su 1366 identifikatoriumi. Atsake yra xlink:href, bet ji gržinama kaip: <?xml version="1.0"?> <wfs:featurecollection Xmlns:myns=" xmlns:wfs=" xmlns:gml=" xmlns:xsi=" xsi:schemalocation=" PopulatedPlaces.xsd <gml:boundedby> <gml:envelope srsname=" <gml:lowercorner>90 100</gml:lowerCorner> <gml:uppercorner>190,200</gml:uppercorner> </gml:envelope> </gml:boundedby> <gml:featuremember> <Towns_100K myns:townid="1366"> <myns:name>vilnius</myns:name> <gml:directednode orientation="+" xlink:href="#n1"/> </Town> </gml:featuremember> </wfs:featurecollection> Pav.: POST GML atsakas užklaus townid savybs Towns_100K tipo geoobjektui su 1366 identifikatoriumi. Nebtina WMS GetGmlObject operacija leidžia geoobjektus ir elementus iš WMS paimti pagal j ID. Kaip atsakas ši operacij klientui atsiuniamas XML dokumento fragmentas. WFS GetGmlObject paslauga gali apdoroti užklaus ir paimti konkreius elementus traversuojant Xlink nuorodas, kurie nurodo savo XML ID. GetGmlObject prašo WFS atsisti element su gml:id požymio reikšme, nustatyta ogc:gmlobjectid elemento viduje. gml:id požymio reikšm naudojama kaip unikalus raktas, norint paimti sudtin element su gml:id požymio reikšme. Paprašytas elementas gali bti bet kuris GML duomen, kuriuos aptarnauja WFS, identifikuotas elementas, pavyzdžiui geoobjektas, geometrija, topologija arba kompleksinis požymis. Kiekvienas konkretus geoobjektas WFS realizacijoje turi bti unikaliai identifikuojamas. Geoobjekto identifikatorius yra unikalus kiekvienam serveriui ir gali bti naudojamas pateikiant nuorod t pat konkret geoobjekt. Geoobjekto identifikatorius koduojamas kaip aprašyta OGC filtro kodavimo specifikacijoje. Geoobjekto identifikatori galima naudoti bet kada, kai tik prireikia nuorodos geoobjekt (pvz. GetGmlObject operacijai). WFS operacij paslauga vykdo operacijas, kurios modifikuoja geoobjektus: kuria, atnaujina ir panaikina konkreius geoobjektus. WFS sugeneruos XML atsako dokument, kuri bus nurodyta operacijos užbaigimo bsena. Transaction elemente gali bti vienas arba daugiau Insert, Update arba Delete element, kurie aprašo operacijas sukurti, modifikuoti arba panaikinti konkreius geoobjektus. WFS apdoroja Insert, Update ir Delete elementus j pasirodymo operacijos užklausoje tvarka. Nacionalin žems tarnyba prie Žems kio ministerijos,

140 Insert elementas naudojamas kurti naujiems geoobjektams. Numatyta pradin sukurto geoobjekto bsena išreiškiama GML3 forma ir turi bti sutikrinta su GML3 taikomosios programos schema, sukurta DescribeFeatureType operacijos. Update elementas aprašo vien atnaujinimo operacij, kuri naudojama vienam geoobjektui arba j to paties tipo rinkiniui. Vienoje operacijos užklausoje gali bti daug Update operacij. Delete elementas naudojamas pašalinti vien arba daugiau geoobjekt. Žemiau nurodytame fragmente parodytas operacijos Delete GET URL užklausos pavyzdys: SERVICE=WFS& VERSION=1.1.0& REQUEST=Transaction& OPERATION=Delete& TYPENAME=Buildings_100K& BBOX=10,10,20,20 Pav.: GET URL užklausa WMS operacijai, kurios metu bt panaikinti visi Buildings_100K tipo geoobjektai nurodyto rmelio BBOX viduje. Išreiškiant ilgas INSERT arba UPDATE užklausas, nepatogu naudoti raktinio žodžioreikšms poros kodavim. WFS LockFeature paslauga užrakina vien arba daugiau geoobjekt operacijos laikui, tokiu bdu išlaikydama operacij serijiškum. Žemiau pateiktuose fragmentuose aprašytas pavyzdys LockFeature GET URL užklaus SERVICE=WFS& VERSION=1.1.0& REQUEST=LockFeature& TYPENAME=Buildings_100K Pav.: GET URL užklausa užrakinti visus geoobjektus, kuri tipas Buildings_100K Nacionalin žems tarnyba prie Žems kio ministerijos,

141 3.6. Interneto aprpties paslauga Aprptis yra geoobjektas, kuris veikia kaip funkcija, skirta paimti reikšmes iš j diapazono kiekvienai tiesioginei pozicijai jos erdvins-laikins srities ( Aprptis yra tolydus fenomenas, kadangi vektoriniai arba atskiri geoobjektai atitinka diskreius objektus tašk, linij arba daugiakampi forma. Yra skirtingi aprpties tipai rinkinys daugiakampi, reikšmi tinklelis, matematin funkcija arba j derinys ( Tinklelin aprptis yra reikšm (skaliarin arba vektorin) tinkelio taškuose. Kiekvieno taško aprpties pateikiama reikšm yra ta reikšm, kuri yra ariausia tinklelio taško. Dažnai tinklelio aprpties sritis sudaroma iš taisyklingai išsidsiusi viet išilgai 0,1, 2 arba 3 aši erdvini koordinai atskaitos sistemoje. Reikšm tinklelio taške gali bti skaliarin, tokia kaip aukštis (viena juosta) arba vektorin, tokia kaip šviesumo reikšms skirtingose dalyse elektromagnetinio spektro (multiple bands). OGC interneto aprpties paslaugos (WCS) specifikacija aprašo, kaip tinkle palaikomas elektroninis geoerdvini duomen gavimas kaip daugiareikšmins aprptys. Dabartin OGC WCS versija apsiriboja tik tinklins aprpties aprašymu. Kaip OGC WMS ir WFS, WCS leidžia klientams paimti dalimis serverio erdviniu duomenis remiantis erdviniais apribojimais. Taiau, kitaip negu WMS, kuris atvaizduoja erdvinius duomenis kaip žemlapio atvaizd, WFS sugržina geoerdvinius duomenis kartu su j savybmis. Šie duomenys, kaip ir WFS atveju, gali bti apdoroti, o ne tik atvaizduoti. Kitaip negu WFS, kuri pateikia diskreius geoerdvinius objektus, WMS pateikia daugiadimensines aprptis, atspindinias priklausymo nuo erdvs reiškin. WCS atlieka tris operacijas: GetCapabilities, DescribeCoverage ir GetCoverage. GetCapabilities operacija pateikia XML dokument aprašani paslaug ir trumpus aprašymus aprpi, kuri klientas gali užklausti. DescribeCoverage operacija leidžia klientui užklausti piln aprašym vienos arba keletos aprpi, aptarnaujam konkretaus WCS serverio. GetCoverage operacija pateikia aprpt, užkoduot populiariu aprpties formatu. GetCoverage sintaks ir semantika turi kažkiek panašumo su WMS GetMap ir WFS GetFeature užklausomis, taiau keletas išpltim palaiko aprpi pamim, o ne tik statinius žemlapius arba diskreius geoobjektus. GetCoverage operacija paprastai eina po GetCapabilities ir DescribeCoverage operacij atsakai parodo, kurios užklausos yra leidžiamos ir kokie duomenys prieinami. Nacionalin žems tarnyba prie Žems kio ministerijos,

142 3.7. Filtro kodavimas OGC Filtro kodavimo realizacijos specifikacija ( - angl kalba) iš pradži buvo dalis Web Feature Server (WFS) versijos specifikacijos. Ji buvo perkelta atskir dokument, kadangi filtro kodavimas gali bti naudojamas daugelyje paslaug (WFS, WCS, Gazetteer, Web Registries), kurioms reikia galimybs išreikšti užklausos apribojim XML. Filtras naudojamas aprašyti rinkin geoobjekt, kuriuos pagal tai reikia apdoroti. Operacij rinkin gali sudaryti vienas arba daugiau sunumeruot geoobjekt arba geoobjekt rinkinys, aprašytas nustatant erdvinius arba neerdvinius geoobjekto tipo geometrini arba skaliarini savybi apribojimus. Filtr išraiškos naudoja objekto tipo savybi reikšmes apribojimams sudaryti. OGC filtro kodavimo specifikacija apibdina XML kodavim OGC Common Catalog Query Language (CQL) kaip užklausos predikato sistem. Naudojant XML rankius, XML filtras gali bti patvirtinamas, analizuojamas ir po to transformuojamas kitoki užklaus kalb (pvz. WHERE punktas SQL SELECT sakinyje arba XPath išraiška išgauti informacij iš XML dokument), kuri reikalinga norint paimti arba modifikuoti konkreius objektus duomen bazse. Ši specifikacija apibržia išraišk šakniniame elemente <Filter>. <Filter> elementas apibržiamas žemiau parodytu XML schemos fragmentu: <xsd:element name="filter" type="ogc:filtertype"/> <xsd:complextype name="filtertype"> <xsd:choice> <xsd:element ref="ogc:spatialops"/> <xsd:element ref="ogc:comparisonops"/> <xsd:element ref="ogc:logicops"/> <xsd:element ref="ogc:_id" maxoccurs="unbounded"/> </xsd:choice> </xsd:complextype> Pav.: OGC XSD schema <Filter> elementui. Elementai logicops, comparisonops, ir spatialops yra pakaital grups loginiams, erdviniams ir palyginimo operatoriams. Kad nustatyt geometrinius kintamuosius, kurie tenkina topologines slygas, erdvinis operatorius naudoja erdvinius sryšius. Ši OGC specifikacija taipogi apibržia pagrindini aritmetini veiksm ir funkcij kodavim. Žemiau pateiktuose fragmentuose apibržtas filtras, naudojantis IsBetween operatori. Filtras atpažsta visus geoobjektus, kuri FLOOR yra tarp 2 ir 5. <Filter> <PropertyIsBetween> <PropertyName>FLOOR</PropertyName> <LowerBoundary><Literal>2</Literal></LowerBoundary> <UpperBoundary><Literal>5</Literal></UpperBoundary> </PropertyIsBetween> </Filter> Pav.: OGC filtro palyginimo operatorius. Nacionalin žems tarnyba prie Žems kio ministerijos,

143 3.8. Sluoksnio stiliaus deskriptorius ir simbolikos kodavimas WMS sukuria žemlapio vaizd kaip atsakym iš kliento kompiuterio gaut naudotojo užklaus. Naudotojams gali reikti vizualizuoti arba atvaizduoti iš serverio gautus geoobjekt duomenis žemlapyje su naudotojo nustatytu simbolikos stiliumi. Naujasis OGC sluoksni stiliaus deskriptorius (Styled Layer Descriptor) profilis iš WMS realizacijos specifikacijos ( - angl kalba) ir Simbolikos kodavimo realizacijos specifikacija ( - angl kalba) išpleia OGC WMS specifikacij ir tokiu bdu galina vartoti naudotojo nustatyt simbolik geoobjektams ir aprpties duomenims. Dabartin OGC WMS specifikacija palaiko galimyb nustatyti paias paprasiausias stiliaus pasirinktis, panaudojant minimal rinkin galim vizualini stili duomen rinkiniams (žr. pavyzd aukšiau su STYLES=CenterLine,CenterLine,Outline parametrais, WMS naudoja iš anksto nustatyt pagrindin stili kiekvienam stiliaus kodui). Naudotojas negali nustatyti sav stiliaus parinkimo taisykli. Tam reikalinga stiliaus aprašymo kalba, kuri galt suprasti ir klientas ir serveris. OGS apibržia toki kalb ir ji vadinama Simbolikos kodavimu. SE kalba aprašyta Simbolikos Kodavimo realizacijos specifikacijoje. Ši kalb galima naudoti ne tik WMS, taiau taip pat atvaizdavimui WFS ir WCS sistemose. Yra vairi kartografins simbolikos metodik ir technik, o (žr. GII-06 6-oje paskaitoje). Neskaitant SE, OGC silo naujas operacijas OGC paslaugoms OGC Styled Layer Descriptor (SLD) profilio specifikacijoje. Šios operacijos palaiko kai kurias kartografinio vizualizavimo metodikas. Todl, FeatureTypeStyle elementas SE dokumente gali bti naudojamas pritaikant t pat simbolikos stili visiems vieno tipo geoobjektams arba viename sluoksnyje. Toks bdas atitinka vieno taško simbolio metodikas teminje kartografijoje. Pavyzdžiui, visos hidrografijos sluoksnio linijiniai ir daugiakampiai geoobjektai (ups, upeliai, ežerai, tvenkiniai, vandenynai ir t.t.) gali bti vizualizuojami šviesiai mlyna spalva daugiakampiams nuspalvinti ir tamsesne mlyna spalva vis daugiakampi kraštinms ir visoms linijoms. Išsamesns kokybins arba kiekybins kartografinio simbolizavimo metodikos simbolizavimui naudoja geoobjekt požymi reikšmes. Pavyzdžiui, skirting klasi keliai gali bti vaizduojami skirtinga simbolika pagal požymi reikšmes Class lauke. SLD profilis leidžia vykdyti pasirenkam operacij DescribeLayer, kuri pateikia užklausoje nurodytame sluoksnyje arba sluoksniuose esani geoobjekto tipus, o požymiai gali bti surasti naudojant WFS ssajos DescribeFeatureType operacij arba WCS ssajos DescribeCoverageType operacij. Tai bdas, kuriuo klientas gali gauti informacij apie geoobjekto/aprpties tip WMS vardintam sluoksniui. Paskutinis skaiius WMServices dalyje parodo pavyzd stiliaus parametr trims sluoksniams LAYERS=Rivers,Roads,Houses, naudojant HTTP GET užklaus. SLD profilis WMS apibržia papildomus parametrus, leidžianius klientui pasiekti, GeT užklausos sluoksniai bt atvaizduojami pagal kažkok konkret stili. SLD pateikia keturis papildomus parametrus, kuriuos galima panaudoti GetMap GET užklausoje. Tas pats stilius gali bti aprašytas panaudojant XML Styled-Layer Descriptor (SLD) dokument, kaip parodyta žemiau pateiktame paveiksle. Sluoksnio stiliaus deskriptorius (Styled-Layer Descriptor) dokumentas aprašo žemlapio išvaizd, vartojant naudotojo nustatyt XML kodavim. SLD dokumente yra StyledlayerDescriptor XML elementas, kuriame yra eil stilaus-sluoksnio apibržim. Šiuos stiliaus-sluoksnio Nacionalin žems tarnyba prie Žems kio ministerijos,

144 apibržimus gali panaudoti WMS vardinti arba naudotojo apibržti sluokniai ir stiliai. SLD dokumentas apibržiamas kaip seka sluoksni su stiliaus apibdinimu. <StyledLayerDescriptor version="1.0.0"> <NamedLayer> <Name>Rivers</Name> <NamedStyle> <Name>CenterLine</Name> </NamedStyle> </NamedLayer> <NamedLayer> <Name>Roads</Name> <NamedStyle> <Name>CenterLine</Name> </NamedStyle> </NamedLayer> <NamedLayer> <Name>Houses</Name> <NamedStyle> <Name>Outline</Name> </NamedStyle> </NamedLayer> </StyledLayerDescriptor> Pav.: sluoksnio stiliaus deskriptoriaus pavyzdys. SLD XML dokumentas gali tapti sudtiniu su vartotojo nustatytu stiliumi. OGC silo 3 skirtingus SLD kodo iš WMS dokument naudojimo bdus: WMS HTTP GET užklausoje gali bti nuoroda nutolus SLD XML fail. SLD XML dokumentas gali bti trauktas viduje HTTP GET užklausos. SLD XML dokumentas gali bti terptas WMS HTTP POST GetMap užklausoje. Šiame fragmente pateiktas pirmojo bdo pavyzdys: VERSION=1.0.5& REQUEST=GetMap& SRS=EPSG%3A4326& BBOX=0.0,0.0,1.0,1.0& SLD=http%3A%2F%2Fmyclientsite.com%2FmySLD.xml& WIDTH=400& HEIGHT=400& FORMAT=PNG Pav.: SLD identifikuojamas naudojant URL. URL paruoštam SLD dokumentui yra Simbolikos Kodavimo (SE, Symbology Encoding) kalba apibržia kelet pagrindini element, naudojam paios SE, taiau taip pat ir SLD. SE kalba apibržia elementus, naudojamus geoobjekt ir aprpi vaizdavimui. Simbolikos kodavimo šakninis elementas tokiu bdu yra FeatureTypeStyle arba CoverageStyle. FeatureTypeStyle apibržia stili, kuris turi bti taikomas vienam geoobjekto tipui. CoverageStyle apibržia stili, kuris turi bti taikomas aprpties duomen poaibiui. Nacionalin žems tarnyba prie Žems kio ministerijos,

145 Daugiau apie SLD ir WMS-SLD operacijas, WMSSLD vardintus ir vartotojo apibržtus sluoksni ir stili apibržimus, format SE žemlapi stiliaus suteikimo kalbos, skirtos sudaryti georeferencinius žemlapius su vartotojo apibržtu stiliumi, SLD simbolizavimo tipus (apibržianius kaip geoobjektas turi atrodyti žemlapyje), žemlapio aprašo ir mastelio krimas su GetLegendGraphic operacija, skaitykite šiais adresais: ir Nacionalin žems tarnyba prie Žems kio ministerijos,

146 3.9. Išvados Interneto žemlapi paslaugos realizuojamos paskirstytoje skaiiavim platformoje (DCP Distributed computing platform). Yra daug technologij, pavyzdžiui J2EE,.NET, Common Gateway Interface (CGI), Active Server Pages (ASP), JavaServer Pages (JSP), AJAX ir kt., kurios naudojamos kuriant interneto žemlapi taikomsias programas. Šios technologijos realizuojamos daugiapakopje architektroje. Žemlapi moduliai gali bti realizuojami skirtingose architektros pakopose. Geo-erdviniams duomenims vaizduoti skirtinguose daugiapakops architektros sluoksniuose gali bti realizuojami keturi procesai. Todl, interneto žemlapi serveriui (Web Kapping Server) klientas yra standartin interneto naršykl, galinti sisti GetMap užklausas ir pateikti atsakus žemlapi vaizd forma. Žemlapi moduliai yra daugiapakops architektros serverio pusje. Interneto geoobjekt serveris (WFS Web Feature Server) dirba su vektoriniais duomenimis GML kalboje apibržtu formatu. WFS serveriai, atsakydami kliento užklaus, tik atrenka ir siunia klientui diskreius geoobjekt duomenis. Klientas turi galti pateikti ir apdoroti erdvinius duomenis, ko dabartins standartins interneto naršykls padaryti negali. Storasis turi sidiegti priemones, kurios galt, pavyzdžiui, pateikti, sukurti, modifikuoti ir pašalinti geoobjektus j serveryje, naudojant HTTP protokol. Interneto aprpties serveris, panašiai kaip WFS, gali žiniatinkliu teikti tinklelinius arba rastrinius duomenis. Siekiant išsprsti geopaslaug suprantamumo problemas tarp skirting interneto žemlapi sistem, OpenGIS konsorciumas (OGC) pasil standartines specifikacijas, skaitant geo-duomen pateikim ir geo-paslaug ssajas. Siekiant standartizuoti geoduomen format, buvo pasilytos Simple Feature (SF) (OGC-SF, 1998) ir Grid/Coverage (GC) (OGC-GC, 2001) realizacijos specifikacijos, skirtos vektoriniams ir rastriniams duomenims, kurie buvo atnaujinti nauj atitinkam specifikacij. Siekiant standartizuoti geopaslaug tarpusavio sveik, buvo pasilytos Web Mapping Server (WMS) (OGC-WMS, 2006 dabartin versija) ir Feature Server (WFS) (OGC-WFS, 2006 dabartin versija) realizacijos specifikacijos žemlapio (žemlapio vaizdo) pateikimui ir geoobjekt (vektorini duomen) tvarkymui per naudojantis žiniatinkliu. OGS taip pat silo susijusias specifikacijas geoobjekt filtravimui (atrinkimui) ir atvaizdavimui WMS, WFS ir WCS paslaugose. Yra du bdai, kaip suteikti simbolik geoobjektams naudojant OGC interneto paslaugas: tai naudoti LAYERS (sluoksniai) ir STYLES (stiliai) parametrus su kintamaisiais arba naudoti Sluoksnio stiliaus deskriptoriaus (SLD - Styled-Layer Descriptor) dokument WMS apibržtam arba naudotojo nustatytam stiliui. Nacionalin žems tarnyba prie Žems kio ministerijos,

147 Klausimai savarankiškam mokymuisi: 1. Kokios yra pagrindins WMS ir WFS išvestys? 2. Koks WMS ir WFS pagrindinis skirtumas? 3. Koks yra esminis skirtumas tarp WMS ir WCS? 4. Koks yra pagrindinis WFS ir WCS skirtumas? 5. Kas yra vektorinis geoobjektas ir k jis apima? Koks yra pagrindinis skirtumas tarp geoobjekto ir aprpties? 6. Kas yra filtras interneto paslaug kontekste? Kokius tris filtr tipus palaiko OGC? 7. Kuo skiriasi SLD ir SE? Rekomenduojama literatra: The OpenGIS Web Map Server Cookbook, OpenGIS Web Map Service (WMS) Implementation Specification, OpenGIS Web Feature Service (WFS) Implementation Specification, Section 3, System Design Strategies An ESRI Technical Reference Document, 2007, Nacionalin žems tarnyba prie Žems kio ministerijos,

148 Naudota literatra Zhang, S., and Goddard, S., OpenGIS Conforming Map-Feature Server Implementation Specifications in Component-Based Distributed Systems, Proceedings of the 2003 International Society for Environmental Information Sciences Conference, Regina, Canada, July 2003, OpenGIS Web Map Service (WMS) Implementation Specification, OpenGIS Web Feature Service (WFS) Implementation Specification, OpenGIS Web Coverage Service (WCS) Implementation Specification, OpenGIS Filter Encoding Implementation Specification, OpenGIS Styled Layer Descriptor Profile of the Web Map Service Implementation Specification, OpenGIS Symbology Encoding Implementation Specification, Nacionalin žems tarnyba prie Žems kio ministerijos,

149 Vartojamieji terminai Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga Kliento-serverio architektra Daugiapakop architektra Lygiarangiai renginiai HTTP/HTTPS protokolas AJAX HTTP GET ir raktinio žodžio-reikšms poros HTTP POST Interneto žemlapi paslaugos (WMServices) Interneto geoobjekt paslaugos (WFServices ) Interneto aprpties paslaugos (Web Coverage Service) Filtro kodavimas (Filter Encoding) Simbolikos kodavimas (Symbology Encoding) Sluoksnio stiliaus deskriptorius (Styled Layer Descriptor) Nacionalin žems tarnyba prie Žems kio ministerijos,

150 4. XML tipo kalbos žemlapiams ir SOA XML (Extensible Markup Language) tai plaios paskirties ženklinimo kalba. terpus semantinius apribojimus, XML galima realizuoti taikomj program kalbas, kurioms priskiriamos GML (Geographic Markup Language), ArcXML (ESRI Arc Extensible Markup Language), KLM (Google Keyhole Markup Language), SVG (Scalable Vector Graphics), GeoRSS (Geographic Really Simple Syndication) ir daugelis kit kalb. Be to, kartais XML naudojama kaip ši taikomj program kalb specifikacij kalba. Šioje paskaitoje aptariamos kelios XML taikymo gramatikos, naudojamos erdvini duomen main kodavimui, interneto žemlapi paslaug protokolai ir žemlapio apibržtis, interneto paslaug naudojimas ir hibridinimas (angl. mashuping) paslaugas orientuotoje architektroje ir vektorins grafikos atvaizdavimas kliente. Šios XML taikomj program schemos gali bti naudojamos duomen modeliavimui ir mainams vairiose viešosiose ir komercinse srityse kadastro ir žemtvarkos, eismo ir transporto, telekomunikacij, aplinkosaugos ir kitose. Taip pat aptariamos temos, susijusios su paslaugas orientuota architektra, interneto žemlapi paslaugomis bei susijusiomis technologijomis. Paskaitos planas XML kalbos GML kalba ESRI ArcXML kalba KML kalba SVG kalba Interneto žemlapi paslaugos ir paslaugas orientuota architektra (SOA) Nacionalin žems tarnyba prie Žems kio ministerijos,

151 4.1. XML kalbos Prajusioje paskaitoje sužinojome, kad XML (Extensible Markup Language) kalba leidžia naudotojams patiems nustatyti žymas ir duomenis saugoti žmonms suprantamu formatu, todl XML naudojama kaip daugelio taikomj program kalb specifikacij kalba. terpus semantinius apribojimus, XML galima realizuoti taikomj program kalbas, skaitant CML (Chemical Markup Language), SBML (Systems Biology Markup Language), RSS (Really Simple Syndication), GML (Geographic Markup Language), ArcXML (ESRI Arc Extensible Markup Language), KLM (Google Keyhole Markup Language) ir daugel kit. Taip pat galima atkreipti dmes XML revoliucij duomen ir duomen schem kodavimo srityje. Tarptautin standart organizacija (ISO, angl kalba) bei OpenGIS konsorciumas (OGC, angl kalba) taip pat rekomenduoja XML kalb geografins informacijos schemoms, duomenims ir interneto paslaugoms koduoti. OGC XML užklaus ir atsakym dokumentai, apibržti OGC XML Schema kalboje, šiuo metu naudojami geoerdvinms interneto paslaugoms (daugiau informacijos žr. 3 paskaitoje). Todl standarte ISO 19118:2005 Geografin informacija. Kodavimas yra nustatyti kodavimo taisykli, naudojam geografini duomen mainams, apibržimo reikalavimai pagal ISO standartus. Kodavimo taisykl leidžia taikomosiose schemose ir standartinse schemose apibržt geografin informacij koduoti pagal nuo sistemos nepriklausom duomen struktr, tinkam perdavimui ir saugojimui. XML kodavimo taisykl skirta neutrali duomen mainams ir yra pagrsta XML bei ISO/IEC simboli rinkini standartais (daugiau informacijos žr. GII-03 4 paskaitoje). Taiau OGC GML bendruomen geoerdviniams duomenims koduoti neprim ISO XML. Buvo susitarta dl naujo ISO/TC211 darbinio pasilymo sukurti nauj suderint kodavimo versij GML (Geography Markup Language) ir ISO Šioje paskaitoje bus aptariama GML kalba, kuri kaip erdvini duomen kodavimo ir main standart rekomenduoja ISO ir OGC, taip pat kitos dvi geografini informacini sistem srityje naudojamos XML kalbos (ArcXML ir KML). Nacionalin žems tarnyba prie Žems kio ministerijos,

152 4.2. GML kalba GML (Geography Markup Language) kalbos kodavim galima naudoti perduodant ir saugant geografin informacij, skaitant geometrij (vektorinio formato geoobjektus) ir savybes, kurios yra objekt erdvins ir neerdvins savybs. GML kalb taip pat galima naudoti kaip geografins informacijos modeliavimo kalb ir geoobjekt interneto paslaug projektavimo priemon. Atkreipkite dmes, kad GML naudojama geografiniam turiniui koduoti, o ne stiliui suteikti ar duomenims atvaizduoti. Stiliui arba legendai kurti skirta XSLT (XML Transformation Language) kalba. GML buvo sukurta kaip OpenGIS realizavimo specifikacija. Vliau GML tobulino ISO/TC 211 ir 2007 m. pirm kart paskelb kaip ISO standart Geografin informacija. GML (Geography Markup Language) kalba. GML yra pagrsta XML technologijomis (W3C) ir palaiko XML, XML Namespaces, XML Schema ir Xlinks. GML yra išpleiamoji kalba ir palaiko vis GML galimybi profili apibržtis (teisingus poaibius). GML versija pasirod 2008 m. sausio mn. Pagrindins GML savybs: palaiko geoerdvini taikomj schem, skirt informacijos bendruomenms, aprašus leidžia kurti ir tvarkyti susietas geografines taikomsias schemas ir duomen rinkinius palaiko taikomj schem ir duomen rinkini perdavim ir saugojim išpleia organizacij galimybes dalytis geografinmis taikomosiomis schemomis ir informacija, kuri jos aprašo leidžia projekto vykdytojams nusprsti, kaip naudoti GML taikomj schem ir duomen rinkini saugojimui GML kalba ar tik schem ir duomen perdavimui pateikia GML schemas, kurios gali bti naudojamos kaip bendros konstrukcijos ir konceptai, tinkantys paioms vairiausioms taikomj program sritims apibržia kit OGC pltojam standartini technologij ir protokol pagrind. Viena svarbi technologija yra WFS (Web Feature Service), užtikrinanti sveikos su geoerdvini duomen baze mechanizm naudojant GML silo projektavimo šablon, kuris yra viena svarbiausi XML schem projektavimo proceso naujj savybi Remiantis ISO standartu 19136:2007, GML yra XML gramatika, parašyta XML Schema kalba, skirta geografinei informacijai perduoti ir saugoti bei naudotojo nustatytoms taikomosioms schemoms modeliuoti. GML yra XML kodavimo kalba, atitinkanti ISO standarto reikalavimus, skirta geografins informacijos, sumodeliuotos pagal konceptualaus modeliavimo sistem, perdavimui ir saugojimui, taip pat naudojama ISO serijoje (geomatikos standartai) ir OpenGIS abstrakij duomen specifikacijoje. GML gali apdoroti geografini objekt erdvines ir neerdvines savybes. Pagrindin ISO standart serijos idja, kuri vliau buvo panaudota ir GML, yra modeliuoti pasaul naudojant objektus, kurie yra realaus pasaulio reiškini (pvz., kelio, ups, žmogaus, automobilio, administracinio vieneto, vykio ir pan.) abstrakcijos. Šie objektai gali bti geografiniai arba susij su Žems vietovmis. Objekto bkl apibržia tam tikros savybs, o kiekvien savyb sudaro trys komponentai {vardas, tipas, reikšm}. Nacionalin žems tarnyba prie Žems kio ministerijos,

153 Objektas gali turti kelet savybi, skaitant ir geometrij. Objektus galima sugrupuoti rinkinius, kuriems taip pat galima priskirti geoobjekt tipus. Pagrindinis ISO standart serijos tikslas yra erdvinio pasaulio konceptualios logikos sumodeliavimas tam tikr konceptuali taikomj schem, kurioje struktra ir duomen turinys yra apibržiamas vartojant UML (Unified Modeling Language) kalb. Be to, šis UML taikymo modelis gali bti koduojamas GML kalba ir naudojamas mainams tinkam duomen perdavimui ir saugojimui. ISO standartas Taikomosios schemos taisykls nustato taisykles, kaip kurti konkrei objekt arba j rinkini taikomsias schemas laikantis kit ISO geomatikos standart. XML Schema kalb, numatyt ISO standarte pagal ISO standart 19118, reikia naudoti perkeliant objekto taikomj model UML kalboje GML kalb. Taikomj schem galima sukurti ir tiesiogiai laikantis XML Schema kalboje nustatyt GML taisykli. Pav. UML ir XML Schema susiejimas bei santykis su tarptautini ISO standart serija (ISO 19136) ISO reikalavimus atitinanios UML taikomosios schemos susiejimas su atitinkama GML taikomja schema atliekamas remiantis nustatytomis kodavimo taisyklmis. Schemos kodavimo taisykls grindžiamos mintimi, kad klass apibržtys taikomojoje schemoje yra susiejamos su XML Schema tip ir element aprašais, kad objektus egzemplioriaus modelyje bt galima susieti su atitinkamomis element struktromis XML dokumente. Šiame paveiksle parodyta, kaip taikomosios schemos kuriamos visiškoje GML aplinkoje nenaudojant UML: Nacionalin žems tarnyba prie Žems kio ministerijos,

154 Universe of Discourse Model of feature types Application schema Data Diskurso sritis Objekt tip modelis Taikomoji schema Duomenys Pav. Taikomj schem galima sukurti ir tiesiogiai laikantis XML Schema kalboje nustatyt GML taisykli (daugiau informacijos žr. ISO Pamatinis modelis ) GML modelyje galimas nesudtingas atvaizdavimas naudojant UML profil. Todl geoobjektai yra vaizduojami: UML kaip objektai, kur geoobjekto tipo vardas naudojamas kaip objekt klass vardas GML egzemplioriuose kaip XML elementai, kur geoobjekto tipo vardas naudojamas kaip elemento vardas Geoobjekt savybs vaizduojamos: UML susiejant funkcijas su geoobjekt tip klasmis ir geoobjekt tip klasi požymiais, kur savybi semantik nurodo ryšio funkcijos vardas arba požymio vardas GML egzemplioriuose geoobjekt paelemeniuose (vadinamuose savybi elementais), kur savybi semantik nurodo savybs elemento vardas. Savybs reikšmei priskiriamas tipas, kur nurodo: UML ryšio tikslo klas arba požymio duomen tipas Nacionalin žems tarnyba prie Žems kio ministerijos,

155 GML objekto elemento, esanio savybs elemente, vardas, kai savybms priskiriamos kompleksins reikšms, arba tiesiogins reikšms tipas, neturintis statytojo XML ženklinimo, kai savybei priskirta paprasta reikšm. GML vairios esybs, pavyzdžiui, geoobjektai, geometrijos, topologijos ir pan., apibržiamos pasitelkiant GML objekt tip hierarchij. Normatyvin GML schema kuriama naudojant šiuos objekt tipus. GML taikomojoje programoje turi bti pakartotinai panaudojami pagrindiniai GML geoobjektai, apibržti konceptualiame modelyje. Geoobjektas koduojamas kaip XML elementas su geoobjekto tipo vardu. Kiti atpažstami objektai koduojami kaip XML elementai su objekto tipo vardu. Kiekvienas geoobjekto požymis ir geoobjekto ryšio funkcija yra geoobjekto savyb. Geoobjekto savybs yra koduojamos XML elemente. Savybs elemento reikšm gali bti užkoduota kaip paties elemento turinys arba nuoroda jo reikšm gali bti pateikiama kaip paprastas XLink nuoroda. Savybs reikšm gali bti paprasta arba geoobjektas ar kitas sudtingas objektas. Todl ISO standarte apibdinamos normatyvins XSD schemos, išaiškinamas j turinys, struktra ir priklausomybs, taip pat apibržiama, kaip koduoti geografin informacij, susijusi su: pagrindiniais duomen tipais, kurie naudojami GML schemoje pagrindine geometrija (0d, 1d, 2d) papildomais geometriniais primityvais (0d, 1d, 2d, 3d) geometriniais kompozitais geometriniais agregatais koordinai atskaitos sistemomis topologija laikinais informacijos ir dinaminiais geoobjektais apibržtimis ir žodynais vienetais, matais ir reikšmmis kryptimis stebjimo rezultatais tinkleliais ir aprpiamais plotais numatytuoju stiliumi Nacionalin žems tarnyba prie Žems kio ministerijos,

156 Pav. GML schemos su priklausomybmis (ISO 19136) GML schem sudaro ISO standarte apibdinti komponentai (XML elementai, požymiai, paprasti tipai, sudtingi tipai, požymi grups, grups ir pan.). Nordami apibržti j naudojimo sriiai tinkamus tipus, konkrei GML taikomj schem krjai gali išplsti arba apriboti GML schemoje apibržtus tipus. Jeigu nereikalingi jokie pakeitimai, neabstraktieji elementai, požymiai ir tipai iš GML schemos gali bti tiesiogiai naudojami taikomojoje schemoje. Jeigu krjas modeliuoja tam tikr objekto klas, jam bus reikalingas konkretus XML schemos dokumentas (XSD). Pavyzdžiui, jeigu modeliuojami geografiniai objektai, bus reikalingas dokumentas feature.xsd. Jeigu geoobjektai turi savybi, kurioms naudojami matavimo vienetai, reiks importuoti vien iš ši dokument: basictypes.xsd, measure.xsd arba valueobjects.xsd. Jeigu naudojama erdvin atskaitos sistema, reiks dokumento coordinatereferencesystems.xsd. Jeigu modelio erdviniams primityvams taikoma Nacionalin žems tarnyba prie Žems kio ministerijos,

157 topologija, reiks importuoti dokument topology.xsd. Jeigu kuriami aprpiami plotai (pvz., nuotolinio atpažinimo vaizdai, aeronuotraukos, dirvožemio išsidstymas ir skaitmeniniai reljefo modeliai), reiks aprpiamo ploto schem ir pan. Kiekvienas modelis tenkina atitinkamo ISO standarto reikalavimus (pvz., GML geometrijos modelis tenkina ISO standarto Erdvin schema reikalavimus). Tame paiame dokumente gali bti keletas schem. GML schem dokumentai pateikiami internete. Panagrinkime kelet GML XSD schem element ir atitinkamus XML duomen kodavimo rezultatus. Elementas gml:abstractfeature aprašomas taip: <element name="abstractfeature" type="gml:abstractfeaturetype" abstract="true" substitutiongroup="gml:abstractgml"/> gml:abstractfeature galima laikyti bet kuo, kas yra GML geoobjektas, ir j galima naudoti kintamiesiems arba šablonams, kuriuose GML savybs reikšm yra koks nors geoobjektas, apibržti. Pagrindin geoobjekt model nurodo gml:abstractfeaturetype, kuris schemoje apibržiamas taip: <complextype name="abstractfeaturetype" abstract="true"> <complexcontent> <extension base="gml:abstractgmltype"> <sequence> <element ref="gml:boundedby" minoccurs="0"/> <element ref="gml:location" minoccurs="0"/> </sequence> </extension> </complexcontent> </complextype> gml:abstractfeaturetype turinio modelis gml:abstractgmltype apibržt turinio model papildo dviem specialiomis savybmis, tinkamomis geografiniams objektams. gml:boundedby savybs reikšm apibdina vok, kuris apima vis geoobjekto egzempliori, ir ji vis pirma naudinga palaikant greit geoobjekt, esani konkreioje vietoje, paiešk. Savybs gml:location reikšm apibdina geoobjekto mast, padt arba santykin viet. Savybs gml:locationname elementas yra patogumo savyb, kurios tekstin reikšm apibdina geoobjekto buvimo viet. Šis elementas apibržiamas taip: <element name="locationname" type="gml:codetype"/> Pavyzdys, kaip nurodytos vietos duomen egzempliorius gali atrodyti tekstinje eilutje: Nacionalin žems tarnyba prie Žems kio ministerijos,

158 <Feature> <gml:locationname>klaipeda town of residence</gml:locationname> </Feature> Savybs gml:locationreference elementas yra patogumo savyb, kurios tekstin reikšm, žymima požymiu xlink:href, apibdina geoobjekto buvimo viet. Šis elementas apibržiamas taip: <element name="locationreference" type="gml:referencetype"/> Toliau pateikiamas pavyzdys, kaip gali atrodyti kitos paslaugos nurodytos vietos duomen egzempliorius: <Feature> <gml:locationreference xlink:href=" vince=pa+"/> </Feature> Remiantis GML 3.2 specifikacijomis, GML taikomosiose schemose reikia pasirinkti taikomajai programai bdingus geometrini savybi vardus. Savybi vardai turi bti pasirenkami taip, kad jie išreikšt atitinkam reikšmi semantik. Savybms, skaitant ir geometrines savybes, pavadinti dažniausia pasirenkami konkreiai taikomajai programai tinkami vardai. Pavyzdžiui, išorinei taikomajai programai skirto geoobjekto tipo <ext:tower> vardas gali bti vieta, kai gržinama tašk geometrija jo vietai taške nustatyti. Geoobjekto Tower tip naudotojas gali apibržti naudodamas toki schem: <element name="tower" type="ext:towertype" substitutiongroup="gml:_feature"/> <complextype name="towertype"> <complexcontent> <extension base="gml:abstractfeaturetype"> <sequence> <element ref="gml:pointproperty"/> </sequence> </extension> </complexcontent> </complextype> GML schemoje yra iš anksto apibržti savybi tipai (pvz., tipas PointProperty), kuriuos galima naudoti kaip geometrini savybi element tipus. Nacionalin žems tarnyba prie Žems kio ministerijos,

159 Pavyzdyje parodyta, kaip gali atrodyti egzemplioriaus Tower duomen egzempliorius: <ext:tower> <gml:pointproperty> <gml:point srsname="urn:x-ogc:def:crs:epsg::4326"> <gml:pos> </gml:pos> </gml:point> </gml:pointproperty> </ext:tower> Šiame pavyzdyje naudojamas GML geometrinse schemose apibržto tipo PointProperty objektas gml:point. T pat savybs element galima naudoti vietai pažymti pateikiant nuorod: <ext:tower xlink:href=" ia yra taškas (elementas gml:point), kur pateikia nurodyta paslauga. Objektas yra savybs antrinis elementas (angl. child element) arba apibržiamas požymio xlink:href savybs elemente. Požymis xlink:href suprantamas taip: savybs reikšm yra nuorodoje nurodytas objektas. Objektas gali bti tame paiame GML dokumente arba bet kur internete arba intranete. Bet kur geometrin element, kuriam perduodama gml:abstractgeometrytype semantika, galima laikyti tiesiogini padi (angl. direct positions) rinkiniu <gml:pos>. Tiesiogini padi egzemplioriuose yra X ir Y koordinats (pvz., <gml:pos> </gml:pos>), nurodanios padt tam tikroje koordinai atskaitos sistemoje (KAS) (pvz., KAS 4326, kuri apibržia urn:xogc:def:crs:epsg::4326). Visos klass, sukurtos pagal gml:abstractgeometrytype, iš požymi grups gml:srsreferencegroup požymio srsname perima neprivalom ryš su koordinai atskaitos sistema. Visos tiesiogins padtys turi turti tiesiogin arba netiesiogin ryš su koordinai atskaitos sistema per požym srsname. Panagrinkime kelio objekto su požymiais, kurio struktra apibržta pateiktame paveiksle, pavyzd: Kelias pavadinimas Markham klas greitkelis centro linija gml:linestring prižiri auth:roadauthority pavadinimas LTDoT tipas Transporto departamentas Pav. Geoobjekto Kelias taikomoji schema Nacionalin žems tarnyba prie Žems kio ministerijos,

160 Pavyzdžiui, naudotojai gali taip apibržti modeliuojam kelio tiesinio objekto tip Road su požymiais road_name, class, ir maintainer, kuris skirtas ne GML priklausaniai taikomajai programai: <element name="road" type="ext:roadtype" substitutiongroup="gml:_feature"/> <complextype name="roadtype"> <complexcontent> <extension base="gml:abstractfeaturetype"> <sequence> <element name="road_name" minoccurs="0"> <simpletype> <restriction base="string"> <maxlength value="50"/> </restriction> </simpletype> </element> <element name="class" minoccurs="0" type="string"/> <element ref="auth:roadauthority"/> <element ref="gml:centerline" minoccurs="0"/> <element ref="gml:multicurveproperty" minoccurs="0"/> </sequence> </extension> </complexcontent> </complextype> Pavyzdyje parodyta, kaip gali atrodyti egzemplioriaus Road duomen egzempliorius: <ext:road gml:id="id6df7af28-9cf1-4f0c eaed738b544"> <ext:name>markham</ext:name> <ext:class>highway</ext:class> <auth:maintainer gml:id= o.1f32a3"> <name>ltdot</name> <type>departmentoftransportaion</type> </auth:maintainer> <gml:centerline> <gml:linestring srsname="urn:x-ogc:def:crs:epsg::4326"> <gml:poslist> </gml:posList> </gml:linestring> </gml:centerline> </ext:road> Elementas gml:abstractcurve yra abstraktus pakeitimo grups (angl. substitution group) pagrindinis elementas visiems nenutrkstamos kreivs elementams. Savyb curveproperty yra iš anksto nustatyta savyb, kuri gali bti naudojama GML taikomosiose schemose, jeigu GML geoobjektas turi savyb su reikšme, kuri gali pakeisti gml:abstractcurve. gml:linestring yra speciali kreiv, sudaryta iš vienintelio segmento su tiesine interpoliacija. J apibržia du arba daugiau koordinai kortežai, tarp kuri yra tiesin interpoliacija. Nacionalin žems tarnyba prie Žems kio ministerijos,

161 Kitame pavyzdyje parodyta, kaip gali atrodyti išoriniam tipui ext:school, kur atvaizduoja daugiakampis GML elementas, skirtas duomen egzempliorius: <ext:school gml:id="idc8feb d6-ab01-436b49e8e111"> <gml:surfaceproperty> <gml:surface srsname="urn:x-ogc:def:crs:epsg::4326"> <gml:patches> <gml:polygonpatch> <gml:exterior> <gml:linearring> <gml:poslist> </gml:posList> </gml:linearring> </gml:exterior> </gml:polygonpatch> </gml:patches> </gml:surface> </gml:surfaceproperty> </ext:school> Pav. Daugiakampis geoobjektas GML dokumente gml:polygon yra ypatingas paviršius, kur apibržia vienas paviršiaus fragmentas <gml:polygonpatch>. Šio fragmento riba yra vienoje plokštumoje, o poligono viduje naudojama plokštumin interpoliacija. Elementai gml:exterior ir gml:interior apibdina poligono paviršiaus rib. Paviršiaus rib sudaro keletas apskritim. Vienas iš ši prasto dvimaio objekto apskritim laikomas išorine riba. gml:linearring apibržia keturi arba daugiau koordinai kortežai, tarp kuri yra tiesin interpoliacija; pirmoji ir paskutin koordinats turi sutapti. Elementas gml:poslist leidžia kompaktiškai nurodyti padi koordinates, jeigu visos padtys yra toje paioje koordinai atskaitos sistemoje. GML modeliavimas ir kodavimas padeda programins rangos krjams rengti konceptualius taikomj schem projektus. Taikomj schem krjai gali naudotis taikomj schem taisyklmis ir jomis vadovautis modeliuodami duomen struktras. Programins rangos krjai gali naudotis iš anksto parengta GML specifikacija kaip darbo su XML dokumentais ir j apdorojimo gairmis. ESRI pltinys ArcGIS Data Interoperability" palaiko ESRI format eksport ir import GML naudojant format Simple Feature. Nacionalin žems tarnyba prie Žems kio ministerijos,

162 4.3. ESRI ArcXML kalba Kitaip nei GML, kurioje akcentuojamas turinys, ArcXML (Arc Extensible Markup Language) kalba naudojama ArcIMS žemlapi srankos failams, užklaus ir atsakym pranešim turiniui bei ESRI ArcIMS paslaugos protokolui apibržti. ArcXML yra išvestin XML kalbos, SGML kalbos poaibio, kalba. ArcXML kalboje naudojama hierarchin žym ir j poaibi sistema. ArcXML kalboje yra penkios pagrindins žymos (angl. root tags): <ARCXML> naudojama kiekviename ArcXML dokumente ir aprašo, koks jis yra <CONFIG> naudojama konfigruojant žemlapio paslaug ir nustatant, kurie duomenys bus traukti bei kaip ji atrodys <REQUEST> naudojama kliento užklausai, siuniamai serveriui <REQUEST> naudojama atsakymui, kur erdvini duomen serveris siunia klientui <MARKUP> naudojama pakeitimams, kurie padaryti kliente, aprašyti. Visi ArcXML sakiniai kuriami naudojant elementus ir požymius, kurie sudaro hierarchin struktr. Šiai struktrai priklausantys elementai yra skirstomi pirminius elementus (angl. parent elements) ir antrinius elementus (angl. child elements). Antriniai elementai yra statyti pirminiuose elementuose. Dauguma element turi vien arba daugiau požymi. Požymiai tai vard-reikšmi poros, kurios aprašo element. Kai kuriems ArcXML elementams požymiai yra btini. Jeigu žemlapio srankos faile elemento požymis nra nurodytas, naudojama numatytoji reikšm, jeigu požymis turi numatytj reikšm. ArcXML fail struktra atitinka W3C XML rekomendacijas. Rašant elementus ir požymius btina laikytis griežt taisykli, kitaip ArcIMS negals sukurti žemlapio paslaugos. Elementai, nustatantys aprašomo turinio pobd, turi bti rašomi didžiosiomis raidmis, turti tinkamus pradžios ir pabaigos ženklus mažiau nei (<) ir daugiau nei (>). Požymi vardai turi bti rašomi mažosiomis raidmis, o jiems priskiriamos reikšms turi bti trauktos dvigubas kabutes. Vienu metu galima apibržti tik vien požymio reikšm. Žemlapi srankos failai yra naudojami kaip pradiniai ArcIMS paslaug duomenys. Tokiame faile yra informacija apie žemlapio savybes ir nurodymai, kaip pateikti žemlapius kaip ESRI Image (WMS) ir Feature (WFS) paslaugas. Šiame faile yra elementai, kurie apibržia vietin aplink (kalb ir pan.) ir žemlapio elementus (žemlapio savybes, darbo erdves ir sluoksnius). Žemlapio srankos failas yra tekstinis failas su.axl pltiniu, turintis pagrindin žym <CONFIG>. Žemlapio srankos failo struktra yra tokia: Nacionalin žems tarnyba prie Žems kio ministerijos,

163 <?xml version="1.0" encoding="utf-8"?><arcxml version="1.1"> <CONFIG> <ENVIRONMENT>...</ENVIRONMENT> <MAP> <PROPERTIES>...</PROPERTIES> <WORKSPACES>...</WORKSPACES> <LAYER>...</LAYER> </MAP> </CONFIG> </ARCXML> Sekcijoje PROPERTIES nurodoma pradin žemlapio apimtis, žemlapio vienetai ir dabartin projekcija, taip pat papildomi nurodymai Image Services paslaugai Sekcijoje WORKSPACES nurodyta vis duomen, kurie naudojami žemlapio sluoksniams kurti, vieta Elementas LAYER naudojamas visiems žemlapio sluoksniams, jame pateikiama informacija apie tai, kaip turi bti vaizduojami duomenys. Taigi matome, kad ESRI.axl faile yra ne faktini duomen turinys, o tik nurodomas kelias naudojamus duomenis (pvz., kelias iki shape fail, vaizd, ArcSDE duomen bazi). Todl ArcXML kalbos paskirtis yra visiškai kita nei GML. Toliau pateiktame žemlapio srankos failo pavyzdyje naudojami pirmiau aptarti elementai ir kai kurie papildomi antriniai elementai, apibdinti ArcXML programuotojo vadove ( angl kalba). Antrini element </MAP> paskirtis nurodyti duomen šaltin ir nurodyti, kaip pateikti duomenis. Nacionalin žems tarnyba prie Žems kio ministerijos,

164 ?xml version="1.0" encoding="utf-8"?> <ARCXML version="1.1"> <CONFIG> <ENVIRONMENT> <LOCALE country="us" language="en" variant="" /> <UIFONT color="0,0,0" name="sansserif" size="12" style="regular" /> <SCREEN dpi="96" /> </ENVIRONMENT> <MAP> <PROPERTIES> <ENVELOPE minx=" " miny=" " maxx=" " maxy=" " name="initial_extent" /> <MAPUNITS units="meters" /> </PROPERTIES> <WORKSPACES> <SHAPEWORKSPACE name="shp_ws-0" directory="e:\arcims\data\lt" /> </WORKSPACES> <LAYER type="featureclass" name="municipalities" visible="true" id="0"> <DATASET name="savivaldybes" type="polygon" workspace="shp_ws-0" /> <SIMPLERENDERER> <SIMPLEPOLYGONSYMBOL boundarytransparency="1.0" filltransparency="1.0" fillcolor="153,255,102" boundarycaptype="round" boundarycolor="255,200,0" /> </SIMPLERENDERER> </LAYER> </MAP> </CONFIG> </ARCXML> Šiame.axl faile numatyta, kad ESRI interneto žemlapi paslauga naudoja daugiakampio formos fail savivaldybes, esant aplanke E:\ArcIMS\Data\LT, vienam sluoksniui Municipalities pateikti naudojant stilius boundarytransparency="1.0", filltransparency="1.0", fillcolor="153,255,102" boundarycaptype="round" ir boundarycolor="255,200,0" SIMPLEPOLYGONSYMBOL. Paveiksle parodyta, kaip tai atrodo. Pav. Failui.axl redaguoti galima naudoti ArcIMS Author. Fail.axl taip pat galima naudoti konkrei sluoksni projekcijoms apibržti (pvz., <COORDSYS id="54030"), DBF failams sujungti su žymomis <SPATIALQUERY joinexpression >, papildomoms vaizdavimo ir žymjimo parinktims priskirti, duomen rinkinius taikyti objekt ženklinimui ir pan. Nacionalin žems tarnyba prie Žems kio ministerijos,

165 ArcXML kalba taip pat naudojama kliento ir ESRI interneto žemlapi serveri, verslo logikos pakopos ir ArcIMS serveri ryšio protokolams. ArcXML taip pat naudojama kaip protokolas, skirtas bendravimui su ArcIMS Spatial Server. ArcIMS kliento ir serverio komponent bendravimas išsamiau paaiškintas 5 paskaitoje. ArcXML apibržia toliau išvardyt klient užklaus turin: GET_IMAGE prašymas ArcIMS arba ArcGIS Server sukurti žemlapio vaizd GET_FEATURES prašoma, kad ArcIMS Feature Server geoobjektus pateikt kaip suglaudint dvejetain sraut ESRI formatu, arba prašoma, kad ArcIMS Query arba ArcMap Server pateikt požymi duomenis ArcXML formatu GET_GEOCODE prašymas, kuriame yra adreso informacija, skirta Geocode Server GET_EXTRACT prašymas Extract Server turinio sluoksnius ištraukti shapefile formatu, sudti suspaust (zip) fail ir išsisti klientui GET_SERVICE_INFO prašoma pateikti informacijos apie kiekvien ArcIMS paslaugos sluoksn. Kai naudojamos vaizd ir geoobjekt paslaugos Image" ir Feature", atsakant užklaus gali bti teikiama informacija apie laukus, vokus, pltinius arba vaizdavimo priemones (angl. renderers). Kai naudojama paslauga ArcMap Image, atsakant užklaus gali bti teikiama informacija apie laukus, vokus, duomen rmelius ir turin. GET_RASTER_INFO prašymas nurodyti paveikslo vaizdo tašk reikšm konkreioje x, y koordinai vietoje nurodytame sluoksnyje GET_LAYOUT prašymas pateikti ArcMap išdstym GET_PROJECT prašymas perprojektuoti geometrij iš vienos koordinai sistemos kit GET_METADATA prašymas sisti užklausas ESRI paslaugai Metadata Service PUBLISH_METADATA prašymas administruoti ir publikuoti metaduomenis Kiekvien ArcXML užklausos tip atitinka ArcIMS Spatial Server atsakymo tipas: atsakymas GET_EXTRACT yra EXTRACT atsakymas GET_FEATURES yra FEATURES atsakymas GET_GEOCODE yra GEOCODE atsakymas GET_IMAGE yra IMAGE atsakymas GET_LAYOUT yra LAYOUT atsakymas GET_METADATA yra METADATA atsakymas GET_PROJECT yra PROJECT atsakymas GET_RASTER_INFO yra RASTER_INFO atsakymas GET_SERVICE_INFO yra SERVICEINFO atsakymas PUBLISH_METADATA yra METADATA_ACTION Nacionalin žems tarnyba prie Žems kio ministerijos,

166 Užklausos <GET_IMAGE> pavyzdys: <ARCXML version="1.1"> <REQUEST> <GET_IMAGE> <PROPERTIES> <ENVELOPE minx=" " miny=" " maxx=" " maxy=" " /> <IMAGESIZE width="500" height="350" /> </PROPERTIES> </GET_IMAGE> </REQUEST> </ARCXML> ArcIMS atsakymas, kuris vietos dal gržina žemlapio vaizd ( ir vizualizuoja paveiksl Municipalities.jpg kliento interneto naršyklje, galt bti toks: <?xml version="1.0" encoding="utf-8"?> <ARCXML version="1.1"> <RESPONSE> <IMAGE> <ENVELOPE minx=" " miny=" " maxx=" " maxy=" " /> <OUTPUT url=" /> </IMAGE> </RESPONSE> </ARCXML> Be to, ArcIMS ir ArcGIS Server palaiko OGC WMS ir WSF serverius per jungtis ESRI WMS Connector ir WFS Connector. Esant tokiems scenarijams, kliento ir serverio ryšio protokolas palaiko toliau išvardytas OGC XML POST užklausas ir atsakymus: GetCapabilities prašymas teikia informacij apie WMS arba WFS paslaug GetMap prašymas suranda žemlap WMS svetainje GetFeatureInfo prašymas teikia geoobjekto informacij atpažindamas žemlapio tašk pagal vaizdo tašk viet DescribeFeatureType prašymas sukuria schemos apraš geoobjekt tipams, kurie naudojami realizuojant WFS GetFeature prašymas suranda geoobjektus paslaugoje Web Feature Service. Atsakymas GetFeature gržina geometrinius duomenis, užkoduotus GML kalba Su ArcXML 1.1 galima naudoti ArcXML duomen tipo apibržt (Data Type Definition, DTD). Tokia apibržtis ArcXML kalba apibržia element ir požymi struktros taisykles, patikrina, ar dokumentas yra teisingas. Jeigu krjas nori atlikti ArcXML patikr, jis gali naudoti DTD, pateikiam su ArcIMS ( etaid=1242). Nacionalin žems tarnyba prie Žems kio ministerijos,

167 Šiai DTD tinka daugelis XML rengykli, pavyzdžiui, XML Spy ( arba Xeena ( Kai naudojama DTD su ArcXML, element vardai, požymiai ir išvardytos požymi reikšms turi bti rašomos tokiomis raidmis (didžiosiomis ar mažosiomis), kurios nurodytos DTD. ArcXML element vardai visada rašomi didžiosiomis raidmis. Požymiai visada mažosiomis. Išvardytos požymi reikšms dažniausia rašomos mažosiomis raidmis. Kai žemlapio srankos faile, užklausoje arba atsakyme naudojamas sakinys DOCTYPE, jis turi bti antras po XML aprašo eiluts. Sakinyje DOCTYPE yra informacija apie DTD viet. Pavyzdžiui: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE ARCXML SYSTEM "<dtd_location>/arcxml.dtd"> <ARCXML version="1.1">... </ARCXML> Kitoje paskaitoje išsamiau susipažinsime su.axl ir ArcXML ryšio funkcijomis. Nacionalin žems tarnyba prie Žems kio ministerijos,

168 4.4. KML kalba KML (Google Keyhole Markup Language) kalba yra XML ženklinimo kalba, skirta interneto žemlapi paslaugai Google Maps vartoti ir papildomiems naudotojo nustatytiems objektams atvaizduoti Google Earth, Google Maps, Google Maps for mobile ir kitose programose, skaitant ESRI ArcGIS Explorer", NASA "WorldWind", Adobe Photoshop", AutoCAD, Flickr" ir Yahoo Pipes". KML buvo sukurta specialiai Google Earth. Kadangi šis projektas iš pradži buvo vadinamas Keyhole (kaip ir bendrov, kuri msi šio darbo), susijusi ženklinimo kalba buvo pavadinta atitinkamai. Kai 2004 m. Google sigijo Keyhole, ji gijo teises projekt ir vliau j pervadino Google Earth. Google Maps tai žemlapi paslauga, kuri kurdama interaktyvius interneto žemlapius apjungia kelias skirtingas žemlapi technologijas ir kitas Google paslaugas. Internete Google Maps paslauga gali bti laikoma paslaugos teikju paslaugos prašytojui paslaugas orientuotoje architektroje (SOA). Interneto paslaugos tai eil protokol, leidžiani publikuoti, atrasti ir naudoti paslaugas nuo technologij nepriklausaniu standartiniu formatu. SOA tai verslo taikomj program, kurios naudoja bendras paslaugas verslo funkcijoms palaikyti, krimo metodas, aptariamas paskutinje šios paskaitos dalyje. Po to, kai interneto paslauga publikuojama paslaugas orientuotoje architektroje, ja gali naudotis vairios kliento taikomosios programos ir procesai. Pavyzdžiui, paslaugos prašytojas naudoja KML kalb Google Maps interneto žemlapi paslaugai iškviesti ir gautame žemlapyje hibridina papildomus naudotojo apibržtus objektus. Terminas hibridinimas naudojamas apibdinant interneto taikomsias programas, kurios iš keli skirting šaltini gautus duomenis ir turin integruoja bendr vaizdin. Kaip pavyzd galima paminti tok duomen hibridinim, kai kartografiniai arba nuotolini tyrim duomenys iš Google Maps papildomi nekilnojamojo turto objekt vietos informacija, paimta iš internete esanio nekilnojamojo turto objekt srašo. Taip sukuriamos naujos interneto paslaugos, kuri neteikia n vienas iš ši šaltini. Panašiai kaip GML ir ArcXML, KML kalboje, sukurtoje pagal XML standart, naudojama žym struktra su dtiniais elementais ir požymiais. Visos žym raids turi bti tokios paios (didžiosios arba mažosios) kaip nurodyta KML 2.2 žinyne. Žinyne nurodyta, kurios žymos yra neprivalomos. Konkreiame elemente žymos turi bti rašomos tokia tvarka, kuri nurodyta žinyne ( angl kalba). KML dvimatse Google Maps" arba trimatse Google Earth" interneto taikomosiose programose leidžia papildomai terpti anotacijas ir persidengimo ypatybes. KML faile nurodomos vairi objekt vaizdavimo specifikacijos. KML objekt rinkiniui priskiriamos vietos žyms (angl. placemarks), tekstiniai aprašai, paveikslai, antžemins perdangos, keliai, poligonai ir pan. (daugiau žr. angl kalba). Kiekvienai vietai priskiriami ilgumos ir platumos duomenys (KML palaiko tik WGS84 sistemos geografines koordinates ir altitudes, t. y. aukšt virš žems paviršiaus metrais) bei su rodymu susij duomenys antrašt, altitud, o pokryp galima numatyti norint apibržti vadinamj geoerdvini duomen kameros rodin. KML kalboje kai kurios geometrijos gramatikos taisykls atitinka GML taisykles. Nacionalin žems tarnyba prie Žems kio ministerijos,

169 Pateikiamas objekto point vietos žyms placemark su susijusia geometrija pavyzdys: <?xml version="1.0" encoding="utf-8"?> <kml xmlns=" <Placemark> <description> Vilnius City</description> <name>vilnius</name> <Point> <coordinates> , ,0</coordinates> </Point> </Placemark> </kml> Pav. Taško vietos žym atitinka piktogram, kuri žymi Žems tašk. Nordami š kod peržirti programoje Google Map, eikite: KML dokumentai rašomi kaip tekstiniai failai su pltiniais.kml arba.kmz. KML dokumentai gali bti platinami kaip.kmz failai, t. y. suspausti KML dokumentai. Paprastai.kmz faile yra vienas KML dokumentas (pavadintas doc.kml ) bei perdang paveikslai ir piktogramos, kurias gali naudoti dokumentas. KML failus galima kurti naudojant Google Earth vartotojo ssaj, XML arba tekst rengykl. Dabartin KML specifikacija yra 2.2. Ji buvo perduota OpenGIS konsorciumui, kuris turt paruošti atvir standart, tinkam visoms geografinms naršyklms. Kadangi konsorciumas jau atsakingas už GML standartizavim, toks žingsnis buvo protingas. KML kalba plaiai naudojama daugelyje taikomj program, todl svarbu užtikrinti, kad KML failai atitikt KML standartus. KML patikr galima atlikti dviem bdais: naudoti internete pateikiamas patikros priemones, pavyzdžiui, Feedvalidator (feedvalidator.org), arba atjungties bsenos patikr atlikti su XML KML schema ( naudojant XML analizatoriaus rengykles, kurios leidžia atlikti schem patikr (pvz., Xerces ). Nacionalin žems tarnyba prie Žems kio ministerijos,

170 4.5. SVG kalba SVG (Scalable Vector Graphics) kalba yra XML gramatikos kalba, naudojama dvimatei keiiamo stiliaus vektorinei grafikai rodyti su tinkamomis XML vard erdvmis. SVG 1.1 yra W3C rekomendacija, suderinama su XML 1.0 rekomendacija, ir laikoma šiuo metu kuriam SVG variant pagrindu. SVG formatu galima aprašyti ir statin, ir animacin vektorin grafik. SVG gali bti tik deklaratyvi arba su skriptais. Paveikslai gali bti su hipersaitais, kuriems naudojami išsiuniamieji paprasti XLink nuorodos. Keiiamo dydžio reiškia, kad galima didinti arba mažinti vienodum. Keiiamo dydžio grafika yra tokia, kurios vaizdo tašk dydis gali kisti. SVG grafikos dyd galima keisti pritaikant skirtingoms ekrano skiriamosioms geboms. Ta pati SVG grafika gali bti pateikiama skirtingais dydžiais tame paiame tinklalapyje, o skirtinguose puslapiuose galima pakartotinai naudoti jos skirtingus dydžius. SVG grafik galima išdidinti iki labai stambaus mastelio. Kitaip nei taškins grafikos (JPEG, GIF, PNG), SVG grafikos mastel galima didinti arba mažinti pagal poreik. Vektorinje grafikoje pateikiami geometriniai objektai, pvz., tiess ir kreivs. Todl šis formatas užtikrina daugiau lankstumo nei rastriniai formatai (PNG arba JPEG), kurie turi saugoti informacij apie kiekvien grafikos vaizdo tašk. Paprastai vektoriniuose formatuose galima integruoti rastrinius vaizdus ir juos derinti su vektorine informacija. SVG turi toki pai galimybi. SVG taip pat skirta naudoti kaip vienas komponentas daugybini vard erdvi XML programoje. Taip išpleiamos kiekvienos naudojamos vard erdvs galimybs, galima kurti naujovišk turin. Pavyzdžiui, SVG grafik galima traukti dokument, kuriame naudojama tekst orientuota EXL vard erdv, skaitant ir XHTML. SVG yra geras, plaios paskirties komponentas, tinkamas bet kuriai daugybini vard erdvi gramatikai, kuri turi naudoti grafik. SVG galimi trij rši grafiniai objektai: vektorin grafika rastrin grafika tekstas Nacionalin žems tarnyba prie Žems kio ministerijos,

171 Kadangi naudojama XML kalba, SVG failas yra paprastas tekstinis failas, kur galima peržirti ir redaguoti kaip bet kur kit ženklinim. Pavyzdžiui, toliau pateiktas SVG ženklinimas tinkamoje žiryklje atrodo kaip žvaigžd : <?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" " <svg width="12cm" height="4cm" viewbox=" " version="1.1" xmlns=" preserveaspectratio="xmidymid meet" zoomandpan="magnify"> <desc>example - star </desc> <!-- Show outline of canvas using 'rect' element --> <rect x="1" y="1" width="1198" height="398" fill="none" stroke="blue" stroke-width="2"/> <polygon fill="red" stroke="blue" stroke-width="10" points="350,75 379, , , , , , , , ,161"/> </svg> Šiame pavyzdyje žyma <polygon> naudojama kuriant grafin vaizd, turint ne mažiau kaip tris kraštus. SVG failus reikia rašyti su pltiniu.svg, taiau SVG failai gali bti statomi HTML puslapius. ESRI ArcGIS palaiko savo vektorini format eksport SVG grafik. Tam, kad SVG bt galima naudoti internete, reikia turti SVG palaikani naršykl. Šiuo metu visos pagrindins naršykls, išskyrus Internet Explorer, turi tam tikr SVG palaikym. Nuo 2007 m. SVG turin Internet Explorer naršyklje galima peržirti diegus papildin. Populiariausias darbalaukio SVG papildinys yra sukurtas Adobe Systems ir palaiko didžij dal SVG 1.0/1.1. Formal kiekvieno SVG abstraktaus modulio apibržim kaip DTD modul galima rasti: (angl kalba). DTD nurodyti visi leistini SVG elementai. Daugiau informacijos (angl kalba) apie SVG rasite: arba Nacionalin žems tarnyba prie Žems kio ministerijos,

172 4.6. Interneto žemlapi paslaugos ir paslaugas orientuota architektra (SOA) paslaugas orientuota architektra (Service-Oriented Architecture, SOA) tai paslaug rinkinys. Šios paslaugos tarpusavyje bendrauja. Toks bendravimas gali apimti paprast duomen perdavim arba dviej ar daugiau paslaug veikimo koordinavim. Paslauga tai gerai apibržta, savarankiška funkcija, kuri nepriklauso nuo kit paslaug konteksto arba bkls. Paslauga yra ryšio galutinis taškas. paslaugas orientuotoje architektroje paslaugos vartotojas siunia paslaugos prašymo pranešim paslaugos teikjui. Paslaugos teikjas atsakymo pranešim išsiunia paslaugos vartotojui. Prašymo ir vlesnio atsakymo jungtys apibržiamos ir paslaugos vartotojui, ir paslaugos teikjui suprantamu bdu. Paslaugos teikjas gali bti ir paslaugos vartotojas. Interneto paslaugas galima naudoti paslaugas orientuotai architektrai realizuoti. Interneto paslaugose didžiausias dmesys skiriamas tam, kad funkciniai teikjo elementai bt prieinami naudojant standartinius interneto protokolus, kurie nepriklauso nuo platform ir programavimo kalb. Šios paslaugos gali bti visiškai naujos programos arba diegiamos senose veikianiose sistemose, kad pastarosios galt dirbti tinkle. Kiekvienas SOA struktrinis elementas gali atlikti vien arba kelias iš trij funkcij: Paslaugos teikjas sukuria interneto paslaug ir jos ssaj bei prieigos informacij tikriausiai publikuoja paslaug registre. Paslaugos tarpininkas, arba paslaug registras, atsako už tai, kad interneto paslaugos ssaja ir realizavimo prieigos informacija bt prieinama visiems potencialiems paslaugos prašytojams. Su viešaisias tarpininkais galima susisiekti internetu. Kai kurie tarpininkai tvarko kit tarpinink katalogus. UDDI (Universal Description Discovery and Integration) specifikacija apibržia, kaip turi bti publikuojama ir atrandama informacija apie interneto paslaugas. Paslaugos prašytojas (arba interneto paslaugos klientas, vartotojas) rašus tarpinink registre suranda atlikdamas vairius paieškos veiksmus ir tada prisijungia prie paslaugos teikjo nordamas pasinaudoti viena iš teikiam paslaug. Reikalinga tam tikra priemon, kuri sujungt paslaugas. Sujungimo technologija yra paslaugas orientuotos architektros technologija. Tvirtam ryšiui sukurti interneto paslaugos naudoja XML. Ši kalba labai plaiai naudojama paslaugas orientuotoje architektroje kuriant duomenis, kurie yra beveik išsamioje aprašo talpykloje. Paioms paslaugoms aprašyti paprastai naudojama WSDL (Web Services Description Language) kalba, o ryšio protokolams SOAP (Simple Object Access Protocol) protokolas. Todl interneto paslauga yra programins rangos komponentas, aprašytas WSDL kalba, pasiekiamas SOAP protokolu per HTTP. WSDL (Web Services Description Language) tai interneto paslaugos ssajos aprašymo formatas, kuriuo aprašomos paslaugos ir tai, kaip jas susieti su konkreiais tinklo adresais. WSDL sudaro trys dalys: Apibržtys paprastai išreiškiamos XML kalba ir apima duomen tipo apibržtis bei pranešimo apibržtis. Šios apibržtys paprastai parengiamos naudojant kok nors suderint XML žodyn, pavyzdžiui, OGC interneto paslaug specifikacijas. Nacionalin žems tarnyba prie Žems kio ministerijos,

173 Operacijos apibdina, kokie veiksmai atliekami su pranešimais, kuriuos palaiko interneto paslauga. Operacijos gali bti keturi rši: o vienkrypiai pranešimai, kuriuos išsiuntus nereikalingas atsakymas o prašym ir atsakym pranešimai, kuriuos turi atsakyti gavjas o atsakymo prašymai, kurie yra prašymai atsakyti o informaciniai pranešimai, kurie vienu metu siuniami daugeliui gavj Operacijos skirstomos prievad tipus (angl. port types), kurie nustato interneto paslaugos palaikomas operacijas. Paslaug susiejimai (angl. bindings) prievad tipus sujungia su prievadu. Prievadas apibržiamas susiejant tinklo adres su prievado tipu. Prievad rinkinys apibržia paslaug. Toks susiejimas paprastai sukuriamas naudojant SOAP, taiau galimos ir kitos formos. WSDL yra interneto paslaug pagrindas. Paslaugos teikimo ir vartojimo žingsniai: 1. Paslaugos teikjas apibržia paslaug vartodamas WSDL kalb. Ši apibržtis publikuojama paslaug kataloge; katalogas gali naudoti UDDI. 2. Paslaugos prašytojas pateikia prašym paslaug tarpinink katalogui surasti paslaug ir nustatyti, kaip su ta paslauga bendraujama. 3. Dalis WSDL, kuri pareng paslaugos teikjas, yra perduodama paslaugos prašytojui. Taip paslaugos vartotojas susipažsta su paslaugos teikjo prašymais ir atsakymais. 4. Paslaugos prašytojas WSDL vartoja sisdamas prašym paslaugos teikjui. 5. Paslaugos teikjas laukiam atsakym pateikia paslaugos prašytojui. Pav. WSDL vartojimo žingsniai Paslaug tarpinink katalogas gali bti UDDI registras. UDDI teikia apraš atitinkani paslaug rinkinio apibržt ir užtikrina moni, organizacij bei kit interneto paslaug teikj, j teikiam interneto paslaug ir technini ssaj, kurios gali bti naudojamos prieigai prieš ši paslaug, suradim. UDDI yra grindžiamas prastais šios veiklos srities standartais, skaitant HTTP, XML, XML Schema ir SOAP. Pagrindinis tikslas surasti organizacijas ir organizacij silomas paslaugas (tarsi naudojantis telefon knyga ar telefon srašu). UDDI registre kontaktins informacijos ir vairioms organizacijoms teikiam interneto paslaug paiešk galima atlikti vairiais bdais. Nacionalin žems tarnyba prie Žems kio ministerijos,

174 Registro sistem sudaro trys katalogai: baltieji puslapiai, geltonieji puslapiai ir žalieji puslapiai. Visi pranešimai paslaugas orientuotoje architektroje siuniami naudojant SOAP protokol ( angl kalba), kuris yra vienas iš W3C konsorciumo parengt standart. SOAP leidžia kompiuteriams bendrauti HTTP arba XML protokolais neatsižvelgiant operacin sistem ar platform. SOAP tai metodas XML (Extensible Markup Language) kalbai vartoti pranešim ir RPC (Remote Procedure Call) technologijos protokoluose. Iš esms SOAP yra savarankiška vienkrypi pranešim main paradigma. SOAP 1.2 versijoje pateikta XML informacijos, kuri lygiaveriai renginiai gali naudoti struktrins ir tipizuotos informacijos mainams sisdami pranešimus decentralizuotoje ir išskirstytoje aplinkoje, apibržtis. Formaliai SOAP pranešimas parengiamas naudojant XML gramatik su SOAP elementais (pvz., <env:envelope xmlns:env=" kurioje nurodomas abstraktus turinys. SOAP protokole naudojamas vokas <env>, kuriame siuniami interneto paslaug pranešimai. SOAP dažniausia naudojamas pranešimams sisti HTTP protokolu, taiau galima naudoti ir kitas ryšio priemones. SOAP gali bti naudojamas keiiantis visais dokumentais arba iškvieiant nuotolin procedr. SOAP vokas yra sudarytas iš dviej dali (daugiau žr. angl kalba): 1. Neprivalomos antrašts, kurioje nurodoma tapatybs nustatymo informacija, duomen kodavimas arba tai, kaip SOAP pranešimo gavjas turt apdoroti pranešim. 2. Pagrindins dalies, kurioje yra pranešimas. Šiuos pranešimus galima apibržti naudojant WSDL specifikacij. Pav. Pranešim siuntimas paslaugas orientuotoje architektroje naudojant interneto paslaugas ( angl kalba) Nacionalin žems tarnyba prie Žems kio ministerijos,

175 Panašios technologijos (WSDL, SOAP su HTTP, UDDI) gali bti naudojamos interneto žemlapi paslaugoms realizuoti ir prižirti. Šios paslaugos gali užtikrinti prieig prie plataus spektro žemlapi ir GIS galimybi. Pavyzdžiui, ESRI paslauga ArcWeb Services leidžia naudotojams paslaugas orientuotoje architektroje kliento taikomsias programas papildyti žemlapi ir erdvinmis funkcijomis. Šios paslaugos gali apimti duomen vizualizavim, surastus duomenis, skaitant maršrutus, viet ir adres suradim, erdvini užklaus paieškas ir verslo analizs atlikim (angl. business intelligence performance) ( angl kalba). ESRI ArcGIS Server taip pat sudaro galimybes paslaugas orientuotoje aplinkoje naudoti geoerdvin informacij. ArcGIS Server silo erdvini duomen vizualizavimo, erdvini duomen analizs ir duomen tvarkymo paslaugas. Šias paslaugas taip pat galima iškviesti ir integruoti kitas interneto paslaugas naudojant standartinius interneto paslaug protokolus, pavyzdžiui, SOAP ir XML ( angl kalba). Pav. ESRI paslauga ArcWeb Services Nauji interneto technologij patobulinimai, pavyzdžiui, vadinamasis Web 2.0, taip pat naudojami geoerdvini duomen ir paslaug krimui. Web 2.0 išpleia nekeiiamj svetaini galimybes ir numato socialin element, kuriame naudotojai kuria ir platina turin. Web 2.0 reiškia antrosios kartos svetaines, kuriose lankytojai gali teikti bendradarbiavimui ir dalijimuisi skirt informacij. Web 2.0 taikomosios programos naudoja interneto paslaugas ir gali silyti Ajax, Flash ( arba JavaFX ( vartotojo ssajas, interneto informacijos apjungim (angl. web syndication), RSS srautus (žr. dal Išvada ), tinklarašius (angl. blogs) ir vikius (angl. wikis). Interneto informacijos apjungimas reiškia tai, kad svetainje sukurti naujien kanalai (angl. web feeds), kurie kitus žmones supažindina su glausta informacija apie svetains turinio atnaujinimus. Dažnai naujien kanalas yra XML dokumentas, kuriame yra turinio punktai su nuorodomis ilgesnes versijas. Tinklaraštis arba interneto dienoraštis tai tokia svetainje, kurioje galima daryti rašus tvarkant arba papildant turin, o rašai paprastai pateikiami atvirkštine chronologine Nacionalin žems tarnyba prie Žems kio ministerijos,

176 tvarka. Vikis tai programin ranga, kuri leidžia naudotojams nesunkiai kurti, redaguoti ir susieti tinklalapius. Vikiai dažnai naudojami kuriant bendradarbiavimo svetaines bei gerinant bendruomeni svetaini turin. Nors Web 2.0 standartai nra nustatyti, technologija papildo esam interneto serveri architektr ir naudoja paslaugas. Todl galima manyti, kad Web 2.0 yra bdingos kai kurios SOA charakteristikos. Yra manani, kad hibridai (angl. mashups) yra Web 2.0" technologijos dalis. Šiuo metu yra trij rši hibrid: vartotoj hibridai, duomen hibridai ir verslo hibridai. Geriausiai žinomas vartotoj hibrido pavyzdys yra Google Maps programos. Vartotoj hibriduose derinami iš skirting šaltini gaut duomen elementai, paslpti po paprasta suvienodinta grafine ssaja. Populiars yra ir duomen hibridai bei moni hibridai. Duomen hibride derinami iš skirting šaltini gauti panašaus tipo duomenys (pvz., Yahoo Pipes ), pavyzdžiui, duomenys iš skirting RSS kanal derinami viename kanale, turiniame grafin ssaj. mons hibride dažniausiai integruojami iš vidini ir išorini šaltini gauti duomenys. Pavyzdžiui, derinant išorin vis rinkoje parduot nam sraš su vidiniais duomenimis apie agentros parduotus namuose, galima sukurti nekilnojamojo turto ataskait. Verslo hibridas tai vis išvardyt hibrid derinys, kuriame akcentuojamas duomen kaupimas ir pateikimas, taip pat bendradarbiavimo funkcijos, sukuriant galutin rezultat, kuris tinka naudoti kaip verslo taikomoji programa. Nacionalin žems tarnyba prie Žems kio ministerijos,

177 4.7. Išvados XML (Extensible Markup Language) vartojama taikomosioms kalboms, kurios atlieka skirtingas funkcijas, realizuoti. Todl geoerdvinse taikomosiose programose gali bti vartojamos tokios XML gramatikos kalbos: GML (Geographic Markup Language) kalba vartojama: o koduojant geografin informacij o perduodant ir saugant geografin informacij o modeliuojant erdvini duomen taikomsias schemas ESRI ArcXML (Arc Extensible Markup Language) kalba vartojama: o apibržiant žemlapio turinio vaizdavim, erdvini duomen viet ir vietin aplink ESRI žemlapi paslaugoms o koduojant užklaus ir atsakym pranešimus ESRI ArcIMS architektroje KML (Google Keyhole Markup Language) kalba vartojama: o kreipiantis Google Maps" interneto žemlapi paslaug o hibridinant naudotoj apibržtus objektus Google žemlapyje SVG (Scalable Vector Graphics) kalba vartojama: o vaizduojant dvimat vektorin grafik, skaitant ir interneto naršyklje SOAP (Simple Object Access Protocol) pranešimai naudojami: o keiiantis ištisais dokumentais arba iškvieiant interneto taikomj program nuotolin procedr (pvz., paslaugas orientuotoje architektroje) WSDL (Web Services Description Language) kalba vartojama: o apibržiant interneto paslaugas, skaitant duomen tipo ir pranešim apibržtis, interneto paslaug operacijas ir susiejimus UDDI (Universal Description Discovery and Integration) specifikacijos programavimo ssaja grindžiama XML GeoRSS (Geographic Really Simple Syndication) formatas naudojamas: o RSS arba naujien kanalas tai XML format šeima, skirta keistis naujienomis, ypa naujienomis apie tinklalapius ar kit interneto turin ( angl kalba). Daugelyje dinamini tinklalapi, ypa tinklarašiuose, yra naujo arba pakitusio turinio RSS kanalai. Jiems naudojami paprasti struktriniai XML formatai, kuriuose yra tik svarbiausieji aprašomieji elementai autorius, data, pavadinimas, apibdinima ir hiperteksto nuoroda, kuri padeda skaitytojui arba RSS kaupimo paslaugai nusprsti, su kuria pirmine medžiaga verta susipažinti išsamiau. o GeoRSS ( tai paprastas RSS kanal, kuriuos aprašo vieta arba geografins žymos, pasilymas. GeoRSS kanalus galima naudoti geografins informacijos paieškai ir kaupimui. Naudojant GeoRSS, vieta aprašoma suderinamu bdu, todl taikomosios programos gali prašyti, kaupti, dalytis ir susieti geografiškai pažymtus kanalus. Naudojant GeoRSS Nacionalin žems tarnyba prie Žems kio ministerijos,

178 galima ne tik gauti informacijos apie konkret miest arba pašto indeks, bet ir ieškoti pagal paius vairiausius geografinius kriterijus. o Šiuo metu yra dvi GeoRSS koduots: GeoRSS-Simple ir GeoRSS-GML. GeoRSS Simple palaiko pagrindines geometrijas (tašk, ties, langel, daugiakamp) ir apima tipinius naudojimo koduojant vietas atvejus. GeoRSS GML yra formalusis GML taikomasis profilis ir palaiko daugiau objekt bei koordinai atskait sistem, ne tik WGD-84 platumos ir ilgumos koordinates. Abu formatai skirti naudoti su Atom 1.0 ( angl kalba), RSS 2.0 ir RSS 1.0, nors tinka naudojimui ir ne RSS XML kodavimui. GeoRSS Simple formatu užkoduotas taškas atrodo taip: <georss:point> </georss:point> GeoRSS GML formatu: <georss:where> <gml:point> <gml:pos> </gml:pos> </gml:point> </georss:where> Nacionalin žems tarnyba prie Žems kio ministerijos,

179 Paskaitos savarankiško mokymosi klausimai: 1. Kokia yra GML kodavimo esm? 2. Kuo skiriasi GML ir ArcXML? 3. Kokia ryšio kalba naudojama OGC WMS? 4. Kaip erdviniai duomenys koduojami OGC WFS? 5. Kaip erdviniai duomenys koduojami ESRI ArcIMS Feature Server? 6. Kokie yra trys SOA struktriniai elementai? Kaip SOA tarpusavyje susiejamos paslaugos? 7. Kas yra hibridinimas ir kaip jis naudojamas Web 2.0 žemlapi technologijoje? Rekomenduojamieji skaitiniai (angl kalba) OpenGIS Geography Markup Language (GML) Encoding Standard, Ho, M., Extending ArcIMS MapServices with ArcXML, ESRI Educational Services, SVG Tutorial, W3 School, SOAP Tutorial, W3 School, WSDL Tutorial, W3 School, Web Services Tutorial, W3 School, Web Services and Service-Oriented Architectures, Nacionalin žems tarnyba prie Žems kio ministerijos,

180 Nuorodos (angl kalba) OpenGIS Geography Markup Language (GML) Encoding Standard, ArcXML Programmer's Reference Guide for ArcIMS 9.2, or KML in Google Maps, Scalable Vector Graphics (SVG), Web Services Description Language (WSDL), SOAP, OASIS UDDI Specification TC, Nacionalin žems tarnyba prie Žems kio ministerijos,

181 Vartojamieji terminai Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga XML gramatikos taikymas GML kalba Kodavimas ArcXML kalba AXL žemlapio srankos failas KML kalba paslaugas orientuota architektra (SOA) Hibridinimas SVG kalba Keiiamo dydžio Paslauga UDDI WSDL kalba SOAP protokolas Interneto informacijos apjungimas Tinklarašiai Vikiai Web 2.0 GeoRSS Nacionalin žems tarnyba prie Žems kio ministerijos,

182 5. ESRI interneto program architektra Ankstesnse paskaitose buvo aptarta interneto žemlapi architektra, jos komponentai ir vartotojo ssajai, ryšiui, duomenims skirtos interneto kalbos bei schem aprašai. Šioje paskaitoje anksiau nagrintos temos pristatomos pasitelkiant praktinio gyvendinimo pavyzdžius ESRI ArcIMS ir ArcGIS Server programin rang. Kaip jau buvo minta 3 paskaitoje, ESRI buvo interneto žemlapi programins rangos krimo lyder. Bendrovs produktus klientai rinkosi analizei atlikti, kadangi produkt dokumentacij lengva naudoti. ESRI ArcIMS naudoja IMS (Internet Map Server) programin rang interneto žemlapi programoms kurti, projektuoti, publikuoti ir administruoti. ArcIMS yra dinamini žemlapi ir GIS duomen bei paslaug teikimo internetu sprendimas. ArcIMS leidžia tarpusavyje bendrauti interneto klientams, žemlapi serveriams, duomen serveriams ir interneto serveriui. Šis naujasis ESRI produktas ( ArcGIS Server ) taip pat išpleia interneto žemlapi program galimybes. Be to, jis per interneto ssaj palaiko daugyb geoduomen apdorojimo galimybi. ESRI ArcGIS Server taip pat sudaro galimybes paslaugas orientuotoje aplinkoje naudoti geoerdvin informacij. Paskaitos planas Kas yra ESRI ArcIMS ir ArcGIS Server? ESRI interneto komponentai: serverio pus ESRI ArcIMS vartotojo ssajos komponentai: serverio pus ESRI ArcIMS komponentai: kliento pus ESRI ArcIMS ryšio srautas ESRI ArcIMS diegimas ESRI ArcIMS ir ArcGIS Server adaptavimo galimybs ESRI ArcIMS papildomos savybs Išvada Nacionalin žems tarnyba prie Žems kio ministerijos,

183 5.1. Kas yra ESRI ArcIMS ir ArcGIS Server? Kaip jau buvo minta 3 paskaitoje, ESRI buvo interneto žemlapi programins rangos krimo lyder. Šiuo metu ESRI interneto žemlapi ir GIS paslaugas palaiko ArcIMS ir ArcGIS Server programin ranga. Kaip jau buvo minta 3 paskaitoje, interneto paslaugos yra publikuojamos interneto serveryje, o kliento programos, kreipdamosi interneto žemlapi serverius, gali prašyti publikuot paslaug galimybi ir jas vartoti. Klientai ir interneto serveriai susijungia laisvai, o kiekvienas bendravimas su klientu sudaro atskir transakcij. Transakcij sudaro užklausa, siuniama atitinkamam interneto žemlapi arba GIS serveriui, ir klientui gržinamas atsakymas. ArcIMS tai interneto žemlapi sprendimas ir sistema, skirta žemlapi (ir pagrindini GIS) galimybi platinimui internete. Kaip duomen teikimo technologija, ArcIMS apima kelias ESRI serverio puss technologijas (žemlapi modulius), kurios palaiko žemlapi ir metaduomen paslaug teikim internete. Kaip publikavimo technologija, ArcIMS gali dirbti su paiais vairiausiais klientais. ArcIMS taip pat gali teikti OGC WMS ir WFS paslaugas. ArcGIS Server gali teikti ne tik interneto žemlapi ir metaduomen paslaugas (ESRI ir WMS), bet ir vairios geografins informacijos apdorojimo ir kitas paslaugas, todl ArcGIS Server galima priskirti ne tik interneto žemlapi ir geografins informacijos kodavimo serverio, bet ir GIS interneto serverio kategorijai. ArcGIS Server galima naudoti interneto architektroje arba kaip LAN/WAN tinklo paslaug darbalaukio klientams. ArcGIS Server taip pat naudojamas su išmaniaisiais klientais (angl. smart clients ), t. y. laisvai susijungianiu, lengvu rankiniu arba staliniu kompiuteriu, palaikaniu ilgalaikes duomen podlio ir atsijungusio GIS kliento operacijas. Kliento program taikym ir duomen sinchronizacij valdo ArcGIS Server pirmins paslaugos. ArcIMS ir ArcGIS Server komponentai gali bti realizuojami daugiapakopje programins rangos architektroje, kuri buvo aptarta 3 paskaitoje. Šie komponentai turi skirtingus pavadinimus ir galimybes, taiau logine prasme atlieka panašias funkcijas ir juos palaiko bendros platformos konfigravimo strategijos. Šios programos yra sudarytos iš trij pakop: kliento arba pateikimo pakopos, verslo logikos pakopos ir duomen saugojimo pakopos. Šios pakopos apibdina vairi taikomj program komponent galimybi login suskirstym ir nebtinai atitinka j buvimo viet. Pav. ArcIMS sudaro trys pakopos ( angl kalba) Nacionalin žems tarnyba prie Žems kio ministerijos,

184 Pateikimo pakop sudaro kliento puss komponentai, naudojami siuniant užklausas serveriui ir peržirint žemlapius bei duomenis. Verslo logikos pakop sudaro serverio puss komponentai. Abiejuose programins rangos sprendimuose yra interneto taikomj program, paslaug valdymo ir erdvinio serverio sluoksniai, kurie gali bti taikomi skirting platform deriniuose. Šioje pakopoje apdorojamos užklausos ir atliekamas serverio administravimas. vairi programins rangos komponent vieta ir pasirinkta programins rangos sranka gali turti takos sistemos darbui. Duomen saugojimo pakop sudaro fail serveriai, kuriuose laikomi shape failai ir vaizd failai, bei serveris, kuriame diegta Oracle (arba kita RDBMS) ir SDE. Erdvin server taip pat galima laikyti duomen saugojimo pakopos dalimi. Nacionalin žems tarnyba prie Žems kio ministerijos,

185 Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga 5.2. ESRI interneto komponentai: serverio pus Šioje dalyje bus aptariami ESRI interneto žemlapi programos, pavyzdžiui, ArcIMS, komponentai. Kaip jau buvo minta, logine prasme ArcGIS Server" interneto žemlapi programa atlieka panašias funkcijas kaip ir ArcIMS. Pav. ArcIMS komponentai ( whitepapers/pdfs/sysdesig.pdf) Pav. ArcGIS Server komponentai ( whitepapers/pdfs/sysdesig.pdf) Kaip bendrauja žirykl ir serveris? ArcIMS klientas sukuria užklaus, kuri siuniama interneto serveriui Web Server, per jungtis Connector patenka taikomj program server Application Server, po to virtualj server Virtual Server, kuris j perduoda vienam iš erdvini serveri Spatial Server. Visos užklausos ir atsakymai yra rašomi ArcXML arba veriami ArcXML. Atsižvelgiant š sraut, ArcIMS komponentai yra: ArcIMS interneto program sluoksnyje yra interneto HTTP serveris ir interneto program serverio jungtis. o Web Server tai komponentas, kuris tiesiogiai bendrauja su klientu ir kuris btinas ArcIMS programins rangos veikimui. Tai kompiuterin programa, kuri saugo ir pateikia prašomus HTML puslapius arba failus. Interneto serveris turi palaikyti hiperteksto perdavimo protokolo (HTTP) užklausas. Pavyzdžiui, interneto naršykl yra klientas, kuris interneto serveriams teikia HTML fail prašymus. Interneto serveriai yra išoriniai programins rangos komponentai, netraukti ArcIMS diegimo paketus. Galima naudoti vairius interneto serverius Microsoft Internet Information Server (IIS), Netscape Enterprise Server, iplanet arba Apache. o ArcIMS Application Server jungtys Connectors leidžia interneto serveriui bendrauti su ArcIMS taikomj program serveriu Application Server, taip pat užtikrina ryšio kanal tarp interneto serverio arba treiosios šalies taikomj program serverio (pvz., ColdFusion ) ir ArcIMS Application Server. Jos turi Nacionalin žems tarnyba prie Žems kio ministerijos,

186 Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga užklaus kita kalba išversti ArcXML kalb ir tik po to j išsisti Application Server. Jas galima naudoti vartotojo darbo srautams ir pateikimui kliento ekrane tvarkyti ir optimizuoti (adaptuojant). Kadangi ArcIMS Application Server ir Spatial Servers serveri bendravimui naudojama ArcXML, reikalingas mechanizmas, kuris leist užklausas iš HTTP/XML standart tipo protokol arba kit krimo aplink (pvz., ColdFusion" puslapi, dinamini parametrini tinklalapi) išversti ArcXML. Tam naudojamos Application Server jungtys ir interneto taikomj program krimo platformos (Web Application Development Framework) (interneto ADF). Jungtys ir interneto ADF veikia tarp interneto serverio su serverio programls moduliu Servlet Engine ir ArcIMS Application Server arba tarp treiosios šalies taikomj program serverio (pvz., ColdFusion ) ir ArcIMS Application Server. ArcIMS palaiko kelet krimo aplink ir gali apdoroti užklausas iš kai kuri plaiai naudojam standartini protokol. ArcIMS turi kelet jungi (žr. paveiksl toliau). ArcIMS Servlet Connector yra numatytoji ArcIMS jungtis. Visos serverio jungtys Server Connectors turi bti diegtos tame paiame kompiuteryje kaip ir interneto serveris Web Server. Pav. ArcIMS serverio Application Server jungtys ( angl kalba) ArcIMS taip pat turi jungi, kurios atitinka Open Geospatial Consortium Inc. specifikacijas: WMS Connector, WFS Connector ir CS-W Connector (OGC standartin katalogo paslauga 2.0 ArcIMS metaduomen paslaugoms). Konvertavimo modulis gauna OGC standarto WMS užklausas ir jas konvertuoja ArcXML užklausas, kurias persiunia publikuotoms ArcIMS paslaugoms. ArcXML atsakymai vl konvertuojami OGC standarto atsakymus ir gržinami užklausas pateikusiems klientams. WFS Connector leidžia objekt ir požymi informacij sisti klientams. ArcIMS Spatial Server turi bendrauti su Application Server, analizuoti ArcXML užklausas skaidydamas jas komponentus, perskaityti shape fail, vaizd ir SDE duomenis iš kit serveri ir apdoroti gaut užklaus. Gavs užklaus, Spatial Server atlieka vien arba kelias funkcijas: - Vaizdo funkcija sukuria žemlapio vaizdo fail pagal žemlap, sukurt naudojant ArcIMS Author (logine prasme atitinka WMS) Nacionalin žems tarnyba prie Žems kio ministerijos,

187 Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga - ArcMap vaizdo funkcija sukuria žemlapio vaizdo fail pagal žemlap, sukurt naudojant ArcMap (logine prasme atitinka WMS) - Objekto funkcija siunia žemlapio objektus (logine prasme atitinka WFS) - Užklausos funkcija ieško objekt, kurie atitinka paieškos kriterijus - Geokodo funkcija atlieka adres sutapdinimo operacijas - Išgavimo funkcija sukuria shape failus iš pasirinkt žemlapio objekt - Metaduomen funkcija publikuoja ir ieško metaduomen - Maršruto funkcija apskaiiuoja maršrutus tarp dviej arba daugiau sustojim, jeigu naudojamas pasirenkamas ESRI RouteServer išpltimas - SDCGeocode funkcija atlieka RouteServer duomen adres sutapdinimo operacijas Pav. ArcIMS Spatial Server (aimsserver.exe) ir jo komponentai ( angl kalba) o Naudodamos ArcIMS programin rang, žemlapio turin internete arba intranete publikuoja viena arba kelios ArcIMS paslaugos. ArcIMS Services tai procesai, nuolat vykstantys ArcIMS erdviname serveryje ir iš anksto nustatytu metu arba reaguodami tam tikrus vykius atliekantys numatyt operacij. ArcIMS paslauga per interneto server naudotojams pateikia erdvinius duomenis ir (arba) metaduomenis. ArcIMS paslaugos yra keturi rši: Image Service ir ArcMap Image Service (logine prasme atitinka OGC WMS lengvam plonajam klientui), Feature Service (logine prasme atitinka OGC WFS objekt srautas siuniamas laikinu ESRI suglaudintu formatu arba GML formatu storajam klientui) ir Metadata Service (leidžia dalytis metaduomenimis). o Keliuose kompiuteriuose gali bti diegti keli Spatial Servers, todl šiems erdviniams serveriams ir juose veikianioms paslaugoms valdyti reikalingas mechanizmas. ArcIMS Virtual Server yra mechanizmas, sugrupuojantis vien arba daugiau erdvini serveri. Jo paskirtis administruoti ir valdyti apkrovimo paskirstym tarp erdvini serveri. Virtual Server iš ties nra serveris. ArcIMS paslauga Service yra priskiriama Virtual Server : kai paleidžiama paslauga, ji turi bti priskirta Image Server, ArcMap Server, Feature Server, Metadata Server, Virtual Server arba kitam Virtual Server, o ne tiesiogiai konkreiam ArcIMS Spatial Server. Paslauga paleidžiama visiems egzemplioriams, esantiems grupje Virtual Nacionalin žems tarnyba prie Žems kio ministerijos,

188 Server. ArcIMS Virtual Server naudoja svetainei valdyti, todl ArcIMS paslaugos viename arba keliuose erdviniuose serveriuose gali bti susietos tarpusavyje ir vienu kartu perduotos klientui. Pav. Virtualij serveri tipai ArcIMS erdvini serveri grupavimas yra svarbus ne tik dl administravimo, bet ir dl patikimumo. Jeigu ArcIMS Spatial Server nustoja veiks, gaunamas užklausas gali tvarkyti kiti erdviniai serveriai, priskirti tam paiam virtualiajam serveriui. Pav. Feature Virtual Server sugrupuoja dviej Spatial Server serveri Feature Server egzempliorius. Image Virtual Server analogiškai sugrupuoja dviej Image Server egzempliorius. o Spatial Server tai toks procesas, kuris suaktyvina ir valdo vien arba daugiau serverio egzempliori (gij). Numatyta, kad ArcIMS vienam virtualiojo serverio procesui priskiria du egzempliorius. Pav. Numatyta, kad ArcIMS vienam Virtual Server procesui priskiria du egzempliorius. Išimtis taikoma erdviniams serveriams, kurie teikia ArcMap paslaugas Image Services. Šiems erdviniams serveriams priskiriama tik po vien egzempliori. Egzempliori skaiius yra lygus užklaus, kurios gali bti apdorojamos vienu metu, skaiiui. Pavyzdžiui, jeigu virtualj server sudaro du erdviniai serveriai, kuri kiekvienas turi po du egzempliorius, toks virtualusis serveris vienu metu gali apdoroti keturias užklausas. ArcIMS Service Manager komponentai atlieka paslaugos valdymo funkcij, kuri palaiko gaunam žemlapio paslaugos užklaus eiles ( Virtual Servers ) ir Nacionalin žems tarnyba prie Žems kio ministerijos,

189 Web programavimas Geografins informacijos infrastruktrai. Mokomoji knyga sukonfigruotus jungimusis prie ArcIMS viešj paslaug moduli ( Image, ArcMap, Feature, Extract ). Gaunamos užklausos nukreipiamos turimus paslaugos egzempliorius apdorojimui. Taikomj program serverio funkcijoms palaikyti reikalingas santykinai nedidelis apdorojimas. o o ArcIMS Application Server naudojamas kaip foninis procesas, stebintis, kurios paslaugos veikia konkreiame virtualiajame serveryje. Jis paskirsto gaunam užklaus apkrov. Kiekviename virtualiajame serveryje taikomj program serveris stebi, kurie erdvinio serverio egzemplioriai yra susieti su virtualiuoju serveriu. Naudodamas ši informacij, taikomj program serveris gaunam užklaus išsiunia atitinkamam erdvinio serverio egzemplioriui. Kai užklaus skaiius viršija turim egzempliori skaii, užklausos saugomos taikomj program serverio eilje. Kai tik kuris nors egzempliorius atsilaisvina, taikomj program serveris jam nusiunia užklaus. Application Server nebtina diegti t kompiuter, kuriame yra Web Server. ArcIMS Monitor tai foninis procesas, kuris stebi erdvini serveri bkl ir paleidžia arba atkuria ArcIMS paslaugas. Taikomj program serverio ir erdvinio serverio procesai tiesiogiai bendrauja tarpusavyje. Kai erdvinio serverio procesas nustoja bendrauti su taikomj program serveriu, taikomj program serveris Monitor nurodo iš naujo paleisti erdvinio serverio proces. Esant standartinei srankai, kiekviename kompiuteryje, kuriame diegtas vienas ar daugiau Spatial Server proces, yra vienas Monitor. o ArcIMS Tasker tai foninis procesas, kuris stebi erdvinio serverio sukurtus išvedini failus ir periodiškai ištrina išvedini vaizd failus naudotojo nurodytais intervalais. Pav. Application Server, Monitor ir Spatial Server procesai veikia kartu bendraudami, paleidžia paslaugas ir apdoroja užklausas ( angl kalba) Nacionalin žems tarnyba prie Žems kio ministerijos,

190 Pav. ArcIMS 9.2 komponent architektros vaizdas ( whitepapers/pdfs/sysdesig.pdf angl kalba) Data Source yra fail serverio duomenys. Jame saugomi GIS duomenys. ArcSDE duomen šaltinis palaiko užklaus apdorojimo funkcijas. Šiame lygmenyje taip pat yra standartiniai GIS vaizd arba fail duomen šaltiniai. Pav. GIS duomen šaltinio pakopos pavyzdys Nacionalin žems tarnyba prie Žems kio ministerijos,

191 5.3. ESRI ArcIMS vartotojo ssajos komponentai: serverio pus Vienas ArcIMS pranašumas yra tas, kad programin ranga suteikia interneto taikomj program krimo ir administravimo išteklius bei priemones. Yra sukurtos tokios ArcIMS priemons: Savarankiška ArcIMS Author taikomoji programa yra naudojama žemlapio.axl srankos failui, kuris atitinka žemlap, sukurti. Šis AXL failas naudojamas kaip Image Service arba Feature service pradiniai duomenys. Author leidžia terpti duomen sluoksnius, nustatyti sluoksni simbolik, sukurti sukauptas užklausas ir nustatyti geokodavimo sluoksnius.axl srankos faile. Srankos faile yra nurodymai, kurie duomenys bus pateikiami, faktinis kelias iki t duomen ir prisijungimo informacija, taip pat tiksli toki duomen išvaizda. Pav. ArcIMS Author Žemlapi srankos failai yra rašomi ArcXML kalba, kuri yra XML išpltimas, skirtas ArcIMS (daugiau informacijos žr. 4 paskaitoje). Author galimybs neleidžia žemlapio srankos fail terpti vis ArcXML žym, kurias galima naudoti. Taiau.axl failus galima redaguoti kaip visus kitus XML dokumentus numatant papildomas galimybes (pvz., ranka galima rašyti žemlapio projekcij informacij). ArcMap paslauga Image Service ArcMap dokumento (.mxd) fail, sukurt ArcMap, naudoja kaip pradinius duomenimis. Lentel. Žemlapio sudarymas ArcIMS procesams Procesas Žemlapi krimo produktas Srankos failo formatas Klientai Paslaugos tipas Image Feature ArcMap Image Metadata Author Author ArcMap XML Editor ArcXML ArcXML Dvejetainis ArcMap dokumentas.mxd arba.pmf HTML Viewer, Java žirykls ArcMap, ArcPad, Custom HTML programa Java žirykls, ArcExplorer, ArcMap HTML Viewer, Java žirykls ArcMap, ArcPard ArcXML Metadata Viewer, ArcCatalog Nacionalin žems tarnyba prie Žems kio ministerijos,

192 Pav. Žemlapio failo krimo paslaugoms Image Service ir Feature Service procesai Pav. Srankos failo krimo paslaugoms ArcMap Image Service procesas Pav. Metaduomen srankos fail krimas paslaugai Metadata Service ArcIMS Administrator, kaip savarankiška taikomoji programa, arba Service Administrator, kaip interneto taikomoji programa, arba komandins eiluts administravimas, gali bti naudojamas ArcIMS paslaugoms, serveriams ir aplankams kurti ir tvarkyti. Pav. ArcIMS Administrator Administrator arba Service Administrator kuria, paleidžia, sustabdo, rašo ir pašalina paslaugas. Programa taip pat gali nustatyti ir keisti paslaugos savybes, pavyzdžiui, Virtual Server, Spatial Servers arba aplank priskyrimo Virtual Servers. Pavyzdžiui, Spatial Server procesai tvarkomi paleidžiant ar sustabdant Monitor arba naudojant Administrator ar Service Administrator. Failas.axl naudojamas ArcIMS žemlapi paslaugai sukurti. Nors ArcIMS paslauga ir failas.axl yra glaudžiai susij, jie yra visiškai savarankiški. Vienas.axl gali apibržti kelias ArcIMS paslaugas, o sukrus ArcIMS paslaug, fail.axl galima ištrinti arba pakeisti, ir tai neturs jokios takos ArcIMS paslaugai. Nacionalin žems tarnyba prie Žems kio ministerijos,

193 ArcIMS Web Manager ir Designer galima naudoti kuriant tinklalap, t. y. aplank, kuriame yra HTML, DHTML ir JavaScript failai. ArcIMS svetainje gali bti teikiama viena arba kelios paslaugos, kurios buvo sukurtos naudojant Administrator. Joje taip pat gali bti legenda, žemlapio navigacijos priemons, mastelio skal ir peržiros žemlapis. ArcIMS Designer tai vediklio valdoma taikomoji programa, kuri padeda sukurti svetains projekt. Designer sukuria tris žirykles: HTML Viewer standartinei naršyklei, kuri atitinka WMS, Java Custom Viewer ir Java Standard Viewer standartinei naršyklei su ESRI papildiniu, kuri atitinka WFS. Naujajame ArcIMS 9.2 Web Manager taip pat pateikiami išsams nurodymai, kurie padeda sukurti svetain. Jis turi daugiau galimybi lyginant su Designer. Projektuojant galima pasirinkti ne tik Image Service, Feature Service, bet ir ArcGIS Server paslaugas, ArcWeb paslaugas ir WMS paslaugas. Web Manager" gali sujungti kelias vartotojo pasirinktas paslaugas. Be to, Web Manager leidžia pasirinkti daugiau programos galimybi, pavyzdžiui, terpti suradimo užduot (adres programa arba objekt paieška), terpti tokius žemlapio elementus kaip turinys arba peržiros žemlapis, antrašts puslapio elementus pritaikyti svetainei ir pan. Interneto žemlapi programa, sukurta naudojant Web Manager, naudoja.net, Java ir AJAX technologij, kuri apima daug nauj savybi tolyd kadravim (angl. seamless panning), mastelio keitim pels ratuku (angl. scroll-wheel zoom), klaviatros navigacij ir funkcional turin su atkarpomis. Pav. ArcIMS Designer Be to, ArcIMS silo vairi ištekli ir galimyb kurti svetaines naudojant šablonus. Todl HTML žirykli šablonai Web Sites automatiškai diegiami su ESRI ArcIMS. Jie nustato kiekvieno naudotojo ArcIMS svetains grafin išvaizd ir funkcionalum. Žirykls naudojamos vairiems svetains grafiniams elementams žemlapiui, parankinei, legendai, peržiros žemlapiui ir k. t. Jeigu svetainei kurti naudojama programa Web Manager, Web Mapping Application šablon galima kelti Web Manager. Toliau pateiktoje lentelje apibendrinta, kaip naudojant ArcIMS Manager taikomsias programas sukurti interneto žemlapi taikomj program svetain. Nacionalin žems tarnyba prie Žems kio ministerijos,

194 Lentel. ArcIMS svetains krimo žingsniai ( angl kalba) Žemlapis ir atitinkamas žemlapio srankas failas, skirtas interneto taikomajai programai, kuriami naudojant Author, ArcMap arba rankiniu bdu. Žemlapio srankos fail galima optimizuoti, norint užtikrinti ger veikim. Naudojant Administrator arba Service Administrator, sukurt žemlap reikia publikuoti k paslaug. Pasitelkiant turimas paslaugas, interneto taikomj program svetain sukuriama naudojan Designer arba Web Manager. Galima taikyti adaptavim. Siekiant, kad sukurta svetain atitikt efektyvumo ir saugumo reikalavimus, j galima derint stebti. Norint kurti ir administruoti svetaines nuotoliniu bdu, ArcIMS tvarkytuves Author, Designer ir Administrator galima diegti kitame kompiuteryje, kuriame nra ArcIMS. Be to, Service Administrator program galima naudoti keliems kompiuteriams administruoti nuotoliniu bdu. Service Administrator bus naudojamas administruojant kelias ArcIMS Application Server programas. Nacionalin žems tarnyba prie Žems kio ministerijos,

195 5.4. ESRI ArcIMS komponentai: kliento pus ArcIMS Client Viewer yra ArcIMS komponentas, galintis teikti konkreias užklausas serveriui ir gauti norim atsakym, pavyzdžiui, žemlapio vaizd arba užklausos lentels rezultatus. Klientas taip pat turi žinoti, kaip elgtis su serverio ArcXML atsakymu (pvz., formatuoti ArcXML sraut HTML požymi lentel). ArcIMS palaiko šiuos pagrindinius žirykli tipus: Lengvus plonuosius klientus HTML arba DHTML interneto naršykles (pvz., Internet Explorer arba Netscape ) Storuosius klientus, kurie gali bti naudojami kaip savarankiškos programos (pvz., ESRI ArcExplorer ) arba kaip interneto naršykls programls (pvz., ESRI Java Viewer programl, kuri kliento kompiuter galima išsisti tik vien kart po pirmojo atsisiuntimo iš interneto žemlapi svetains. Be to, kliento kompiuteryje turi bti diegta Java Runtime Environment (JRE)). Užsakomuosius storuosius klientus, parašytus COM reikalavimus atitinkania kalba (pavyzdžiui, VB,.NET, J2EE ir pan.). Storuosius klientus, pavyzdžiui, ArcGIS taikomsias programas ( ArcMap ir ArcPad ). Nacionalin žems tarnyba prie Žems kio ministerijos,

196 5.5. ESRI ArcIMS ryšio srautas Kliento ir serverio ArcIMS Server ryšys yra laisvas, todl kiekvienas kliento prisijungimas atitinka vien transakcij. Transakcij sudaro užklausa, siuniama atitinkamam serveriui ArcIMS Server, ir klientui gržinamas atsakymas. Toliau lentelje ir paveiksle parodyta ArcIMS kliento ir serverio bendravimo seka: Lentel. ArcIMS kliento ir serverio ryšio ciklo etapai Etapai Veiksmai 2. ArcIMS klientas paruošia prašym ArcIMS svetainei. Jis siuniamas kaip užklausa paslaugai ArcIMS Service. Užklaus pavyzdžiai: naujo kitokio mastelio žemlapio prašymas, geoobjekto požymi informacijos gržinimas, sluoksnio vaizdavimo pakeitimas, sluoksni jungimas ir išjungimas ir pan. Prašym ArcIMS serveriui galima sisti naudojant POST ir GET HTTP užklaus metodus. 3. Interneto serveris gauna prašym ir j perduoda Server Connector arba treiosios šalies taikomj program serveriui, kuris prašym perduoda jungiai. 4. Jungtis atveria keli ArcIMS Application Server atsakyti, o prašymas iš jungties perduodamas Application Server. 5. Application Server prašym siunia atitinkamam Spatial Server, priklausaniam Virtual Server grupei. ArcIMS Spatial Server gauna ArcXML dokument <REQUEST>, kuriame gali bti toliau išvardytos ArcIMS ir (arba) OGC užklausos (žr. ArcXML programuotojo žinyn, skirt ArcIMS angl kalba): GET_IMAGE GET_FEATURES GET_GEOCODE GET_EXTRACT GET_SERVICE_INFO GET_RASTER_INFO GET_LAYOUT GET_Project GET_METADATA PUBLISH_METADATA GetCapabilities GetMap GetFeatureInfo GetCapabilities DescribeFeatureType GetFeature Prašymas gali atrodyti taip: <?xml version="1.0" encoding="utf-8"?> <ARCXML version="1.1"> <REQUEST> <GET_IMAGE> <PROPERTIES> <ENVELOPE minx="-125" miny="25" maxx="- 67" maxy="50" /> </PROPERTIES> </GET_IMAGE> </REQUEST> Nacionalin žems tarnyba prie Žems kio ministerijos,

197 </ARCXML> 6. Spatial Server sukuria atsakym, kur sudaro XML eilut (pvz., užklausos rezultatai arba vaizdo vieta), jeigu prašoma vaizdo ar WMS, arba duomen srautas, jeigu užklausa yra Feature arba WFS. Kiekvien ArcXML užklausos tip atitinka ArcIMS Spatial Server atsakymo tipas. Pavyzdžiui: GET_EXTRACT response is EXTRACT GET_FEATURES response is FEATURES GET_GEOCODE response is GEOCODE GET_IMAGE response is IMAGE Etc Jeigu siuniama užklausa GET_IMAGE, Spatial Server naudoja atitinkamo vaizd serverio ArcXML <CONFIG>.axl dokument ir rezultat kataloge sukuria žemlapio vaizd (pvz., gof formatu). Tada klientui išsiunia ArcXML <RESPONSE> dokument su to vaizdo pavadinimu ir URL, per kur klientas gali pasiekti vaizd. Atsakymas gali atrodyti taip: <?xml version="1.0" encoding="utf-8"?> <ARCXML version="1.1"> <RESPONSE> <IMAGE> <ENVELOPE minx="-87.5" miny="30.0" maxx="-59.5" maxy="50.0" /> <OUTPUT url=" savivaldybes jpg" /> </IMAGE> </RESPONSE> </ARCXML> Toliau pateikiamas žemlapio srankos failo pavyzdys. Šiame faile nustatomas pradinis žemlapio vaizdo mastas, naudojam duomen žemlapio vienetai, kelias iki shape" failo, po to shape" failo vardas ir atvaizdavimo simbolika. <ARCXML version="1.0.1"> <CONFIG> <MAP> <PROPERTIES> <ENVELOPE minx=" " miny=" " maxx=" " maxy=" " name="initial_extent"/> <MAPUNITS units="meters"/> <BACKGROUND color="0,0,210" transcolor="255,255,255"/> </PROPERTIES> <WORKSPACES> <SHAPEWORKSPACE name="transport" directory="\\website\data\shapes "/> </WORKSPACES> <LAYER type="featureclass" name="roads" visible="true" id="8"> <DATASET name="roads" type="line" workspace="transport"/> <SIMPLERENDERER> <SIMPLELINESYMBOL width="2" color="156,50,235" type="solid" captype="round" </SIMPLERENDERER> </LAYER> </MAP> </CONFIG> </ARCXML> Nacionalin žems tarnyba prie Žems kio ministerijos,

198 7. Atsakymas su prašoma informacija siuniamas pradins užklausos atvirkštine tvarka. Pav. ArcIMS užklausos ir atsakymo ciklas ( angl kalba) Nacionalin žems tarnyba prie Žems kio ministerijos,

199 5.6. ESRI ArcIMS diegimas Kartais interneto žemlapi serverio diegimas yra sudtingas. Reikia diegti kelet komponent, mint ankstesnse paskaitos dalyse. Todl ESRI pareng labai išsami ne tik ESRI komponent, bet ir treij šali komponent (pvz., interneto serverio su serverio programls moduliu) diegimo instrukcij. Paprastai tinklalapis yra viename kompiuteryje, taiau naudotojams vis tiek reikia pasirinkti geriausi svetains srankos sprendim, galbt net diegti ArcIMS paskirstytojoje sistemoje. ESRI ArcIMS diegimo instrukcijoje daroma prielaida, kad veikia interneto serveris ir serverio programls modulis, naudotojas žino, kaip administruoti interneto server, sustabdyti ir paleisti paslaugas bei tarnybas, kurti virtualiuosius katalogus. Taip pat daroma prielaida, kad naudotojas išmano interneto technologijas ir žino susijusi terminij. ArcIMS diegti ir paleisti reikia atlikti penkis diegimo veiksmus. Šie veiksmai yra tokie: 1. Patikrinimas, ar svetain atitinka ArcIMS sistemos reikalavimus. ArcIMS galima diegti keliose operacini sistem platformose Windows, Sun Solaris ir pan. ArcIMS reikalinga tokia sistemin programin ranga: Pav. Naudotojas turi pasirinkti ir diegti Java 2 Platform Standard Editon platformos Java Runtime Environment aplink (J2SE JRE), interneto server Web Server" ir modul Servlet Engine (daugiau informacijos pateikta ESRI ArcIMS diegimo instrukcijoje). ESRI teikia informacijos apie tai, kaip savo svetainje diegti Web Server ir Servlet Engine (pvz., &d=31218 angl kalba). ArcIMS Spatial Server ir ArcIMS ArcMap Server reikalingas ESRI prieigos failas. 2. ArcIMS svetains srankos planavimas Šis etapas yra sudtingiausias, kadangi ArcIMS svetain yra viename ar keliuose kompiuteriuose, taip pat yra ArcIMS pagrindinis kompiuteris (ArcIMS vartotojo ssajos Nacionalin žems tarnyba prie Žems kio ministerijos,

200 komponentai Author, Designer, Administrator ir Service Administrator, Connectors ir ArcIMS Application Server ), keli ArcIMS Spatial Server ir duomen bazs. Yra daug galim ArcIMS svetaini srank. Kai kuri svetaini visi ArcIMS komponentai yra viename kompiuteryje, o kitas svetaines sudaro keletas kompiuteri. Sranka priklauso nuo turim kompiuteri ištekli bei reikalingo teikiam žemlapi paslaug efektyvumo. Reikia atsakyti kelet klausim. Kiek paslaug bus kuriama vienu metu? Kaip vyksta sudtingos duomen apdorojimo funkcijos? Kiek naudotoj kasdien gals aplankyti svetain tuo pat metu? ESRI teikia ArcIMS svetains srankos planavimo rekomendacijas, pavyzdžiui: Connectors reikia diegti kompiuteryje, kuriame yra interneto serveris ArcIMS Servlet Connector turi bti diegta tik kompiuteryje, kuriame yra interneto serveris Author, Designer ir Administrator galima diegti bet kuriame kompiuteryje Spatial Server galima diegti viename arba keliuose kompiuteriuose Application Server galima diegti viename arba keliuose kompiuteriuose Toliau parodyti galimi vairi paskirstytj diegimo komponent srankos vairiose kompiuteri platformose scenarijai. ArcIMS komponentai, kurie diegimo srankos diagramoje pavaizduoti ta paia spalva, turi bti diegiami tame paiame kompiuteryje (žr. ESRI ArcIMS diegimo instrukcij). Pav. ArcIMS svetain viename kompiuteryje Pav. Du ArcIMS Spatial Server keliuose kompiuteriuose Pav. Web Server skirtas kompiuteris 3. ArcIMS diegimas Pav. Keli ArcIMS Application Server ArcIMS 9.2 diegimas apima diegimo srank ir srank po diegimo. Nacionalin žems tarnyba prie Žems kio ministerijos,

201 Diegiant programin rang yra diegiamos pasirinktos funkcijos. Visas procesas išsamiai aprašytas ESRI ArcIMS diegimo instrukcijoje. Sranka po diegimo yra konfigravimo veiksmas, skirtas ArcIMS diegimui baigti. Atliekant konfigracij po diegimo, atsižvelgiant pasirinktas funkcijas, galima parengti ArcIMS naudojimui, sukonfigruoti ArcIMS, sukonfigruoti ArcSDE Services Monitor, sukonfigruoti interneto serverio ir serverio programls model ir sukonfigruoti sistemos JRE. Šiame etape diegiant kiekvien Spatial Server reikia nurodyti, kuriame kompiuteryje diegtas Application Server. Vienas Spatial Server gali dirbti tik su vienu Application Server, taiau vienas Application Server gali dirbti su keliais Spatial Server". Diegiant kiekvien Application Server reikia nurodyti interneto serverio vard. diegus interneto server kiekvienam Application Server reikia nurodyti Web Server vard, galima redaguoti svetains parinktis ir diagnostikos savybi failus. 4. Interneto serverio konfigravimas Šiame etape reikia patikrinti Web Server" ir Servlet Engine" ir sitikinti, kad programos tinkamai bendrauja tarpusavyje. J konfigravimas gali bti automatinis arba rankinis. 5. ArcIMS konfigravimas Šiame etape galima nustatyti ArcIMS aplinkos parametrus. Nacionalin žems tarnyba prie Žems kio ministerijos,

202 5.7. ESRI ArcIMS ir ArcGIS Server adaptavimo galimybs Vienas iš ArcIMS ir ArcServer pranašum yra tas, kad skirtingoms programins rangos platformoms numatytos kelios adaptavimo parinktys, skaitant ir neprogramuojamas parinktis. Adaptuoti galima: Serveri svetaines ir šiuos j komponentus: o Tinklalapius: svetaines, kurios buvo sukurtos naudojant Designer arba Web Manager, galima adaptuoti atliekant HTML, CSS, JavaScript arba VBScript pakeitimus. Tokiam adaptavimui gali nereikti programavimo. ArcIMS naudoja žirykls šablonus ir apibržia, kaip galutiniai naudotojai matys svetaines bei kuriomis žemlapi tyrinjimo galimybmis jie gals naudotis. ArcIMS numato dviej rši žirykles: HTML žirykl naudojama ESRI vaizd paslaugoms ir jai reikalingas tik interneto naršykls palaikymas, o Java žirykl leidžia sisti objekt geometrij, atitinka ESRI objekt paslaugas ir jai reikalingas storasis klientas. HTML Viewer naudoja HTML, JavaScript ir kai kurias dinamines HTML (DHTML). Žirykl naudojama vairiems svetains grafiniams elementams žemlapiui, parankinei, legendai, peržiros žemlapiui ir k. t. Adaptavim galima atlikti serverio pusje redaguojant HTML ir JavaScript kodus (daugiau žr. ng_the_html_viewer.pdf ir ng_the_java_viewer.pdf angl kalba). Jeigu svetain buvo sukurta naudojant Web Manager su.asp technologija, galima terpti arba pašalinti sluoksnius ir užduotis, keisti žemlapi ir puslapi elementus naudojant Web Manager ( applications/intro_web_apps_mgr.htm angl kalba). Be to, interneto žemlapi taikomj program, sukurt naudojant Web Manager, galima atverti ir redaguoti integruotoje krimo aplinkoje (pvz., MS Visual Studio.NET). Taigi Web Manager programa sukuriama ArcIMS Web ADF (taikomj program krimo struktroje) ir galima naudoti visas interneto valdymo priemones bei API, susijusius su ADF (pvz., ASP.NET valdymo priemones). Programuotojas gali keisti valdymo priemoni savybes arba parašyti nauj kod, jeigu reikalingas sudtingesnis adaptavimas ( nding_manager_web_apps.htm angl kalba). Interneto taikomosioms programoms kurti ArcGIS Server naudoja ArcGIS Server Manager. Interneto žemlapi svetain, sukurt naudojant Manager", galima adaptuoti keiiant interneto valdymo priemoni savybes bei atliekant paprastus HTML pakeitimus. Taip pat galima naudoti programavim J2EE ir.net taikomj program programavimo ssajose (API) (žr. angl kalba). ArcGIS Server pakete yra ADF su priemonmis, skirtomis GIS interneto taikomosioms programoms kurti. Programos krjas interneto ADF valdymo priemones gali pele nutempti interneto form ir greitai sukurti taikomj program, kuri leidžia kurti žemlapius, redaguoti, koduoti ir apdoroti Nacionalin žems tarnyba prie Žems kio ministerijos,

203 geografinius duomenis ir pan. Galima naudoti ADF Designer bibliotekas. Interneto ADF taip pat leidžia kelet ArcIMS ir ArcWeb Services paslaug integruoti viename žemlapyje, numato ši paslaug rši programavimo pasitelkiant.net arba Java jimo taškus. diegimo metu interneto ADF automatiškai integruojama diegt krimo aplink, pavyzdžiui, MS Visual Studio, Eclipse arba Creator. o Jungtis: ArcIMS galima adaptuoti ir išplsti naudojant standartines interneto krimo aplinkas, pavyzdžiui, JSP, ASP,.NET ir k. t. (žr. ivex_connector.pdf, dfusion_connector.pdf angl kalba) o ArcXML srankos fail: ArcIMS klientai ir serveriai bendrauja naudodami ArcXML standartins XML kalbos ESRI išpltim. Keiiant ArcXML galima adaptuoti ArcIMS taikomsias programas. o Išorin taikomj program server (pvz., ColdFusion ). o ArcGIS Server užtikrina ArcObjects programins rangos serverio krimo aplink, kurioje galima naudoti GIS serverio ArcGIS taikomsias programas ir paslaugas. ArcGIS Server užtikrina turting taikomj program krimo struktr J2EE ir.net aplinkose. Kliento puss programas ir šiuos j komponentus: o Specialias taikomsias programas (pvz., ArcMap ) o Interneto naršykls programl, papildin ir pan. (pvz., naudojant Java programavim galima adaptuoti ESRI Java Viewer kliento programl). DBMS lygmen. Nacionalin žems tarnyba prie Žems kio ministerijos,

204 5.8. ESRI ArcIMS papildomos savybs Pasirenkami ESRI išpltimai GIS svetains publikavimo internete galimybes galima išplsti taikant varius pasirenkamus ArcIMS produkt išpltimus. ESRI taip pat silo šiuos ArcIMS išpltimus. ArcIMS Data Delivery" ( angl kalba) išpltim galima naudoti erdvini duomen publikavimui skirtingais erdviniais formatais, kurie naudojami GIS sistemose. ArcIMS Route Server ( angl kalba) išpltimas ArcIMS tinklalapius papildo maršrut krimo galimybe. Pav. Pasirenkami ESRI išpltimai Saugumo klausimai ArcIMS turi standartini ir papildom mechanizm, skirt duomen ir svetaini apsaugai, pavyzdžiui: Žemlapi paslaug naudotoj tapatybs atpažinimas, leidžiantis nustatyti, kurie naudotojai arba klientai (pagal IP adres) gali naudotis GIS duomenimis. Galima nustatyti papildomus apribojimus iki kurios dienos ir kuriuo laiku naudotojas gali naudotis paslaugomis, konkrei ArcXML element naudojim ir pan. Saugus hiperteksto perdavimo protokolas ir saugus programini jungi sluoksnio protokolas svetains saugumui valdyti. Keletas taisytj bd riboti prašom geoobjekt skaii, kai pateikiamos užklausos GET_FEATURES. Atsakydamos ArcMap kliento užklausas, ArcIMS vaizd paslaugos gržina ribot geometrij. Servlet Connector savybi faile nustatomi parametrai, ribojantys užklausas, siuniamas Spatial Server. Be to, naudotojo tapatybs nustatym, duomen užšifravim, prieig prie aplank galima riboti naudojant standartinius operacini sistem, interneto serveri, treij šali taikomj program serveri ir DBMS apsaugos mechanizmus. (Daugiau informacijos pateikta ArcGIS Enterprise Security: Delivering Secure Solutions", ESRI baltoji knyga, 2005 m. angl kalba). Papildomus apsaugos mechanizmus galima sukurti adaptuojant taikomj program serverio jungtis. Nacionalin žems tarnyba prie Žems kio ministerijos,

205 5.8.3 ArcIMS metaduomen paslauga ArcIMS turi Metadata Service metaduomen paslaugos teikimo mechanizm, kuris leidžia klientams teikti duomenis paslaugai ir atlikti paiešk paslaugoje. ArcIMS 9.2 versijoje yra interneto taikomoji programa Metadata Explorer. Ji traukta ArcIMS interneto ADF, skirt Java platformai, ir leidžia naudotojams iš interneto naršykls naršyti metaduomen paslaugos turinyje. Metadata Explorer panašus ssaj, skirt prieigai prie Geography Network. Pav. Geography Network ssaja, skirta erdvini duomen ir paslaug paieškai naudojant metaduomenis ArcIMS derinimo patarimai ESRI taip pat teikia kelet nurodym, kaip užtikrinti veiksming svetains veikim. Akcentuojami šie aspektai:.axl faile nustatomas nuo mastelio priklausantis atvaizdavimas naudojama paprasta simbolika ir žyms erdviniai duomenys apibendrinami naudojami konkrets vaizd tipai ir dydžiai dirbama su žemlapi projekcijomis sukuriami erdviniai indeksai Su šiais ir kitais nurodymais galima susipažinti svetainje (angl kalba) ir (arba) peržirint nemokam ESRI interneto mokomj kurs Introduction to ArcIMS (angl kalba). Nacionalin žems tarnyba prie Žems kio ministerijos,

El. pašto konfigūravimas

El. pašto konfigūravimas El. pašto konfigūravimas Outlook Express (integruota Windows XP) elektroninio pašto klientas Žemiau pateikta instrukcija, kaip sukonfigūruoti savo elektroninį paštą vartotojams, turintiems elektroninio

More information

Elektroninis.lt šakninių sertifikatų diegimas

Elektroninis.lt šakninių sertifikatų diegimas Elektroninis.lt šakninių sertifikatų diegimas Ši instrukcija aprašo, kaip į kompiuterį įdiegti šakninius elektroninis.lt sertifikatus. Diegimo darbus galima atlikti turint kompiuterio administratoriaus

More information

Amadeus On-Line Helpdesk

Amadeus On-Line Helpdesk Amadeus On-Line Helpdesk Vartotojo instrukcija Skirta kelionių agentūroms Turinys Įžanga... 3 Jungimasis prie Amadeus Helpdesk... 3 Patarimai ir pastabos... 7 Dokumento valdymas 2007 Apsauga Viešas Įmon

More information

HTML dokumentai. Praktinės užduotys

HTML dokumentai. Praktinės užduotys HTML dokumentai Praktinės užduotys 1. DzSoft PHP Editor šablonai Pakeiskite HTML šabloną į: ... Programos

More information

JAVA pagrindai Lek. Liudas Drejeris

JAVA pagrindai Lek. Liudas Drejeris JAVA pagrindai Lek. Liudas Drejeris Programa (1) Programa, tai eilė instrukcijų (vadinamų programiniais sakiniais), kurie vykdomi paeiliui, kol gaunamas norimas rezultatas. Programa (2) Programa (2) /*

More information

Kas yra masyvas? Skaičių masyvo A reikšmės: Elementų indeksai (numeriai): Užrašymas Turbo Paskaliu: A[1] A[2] A[3] A[4] A[5]

Kas yra masyvas? Skaičių masyvo A reikšmės: Elementų indeksai (numeriai): Užrašymas Turbo Paskaliu: A[1] A[2] A[3] A[4] A[5] Masyvas 2013 1 Vienmatis masyvas Veiksmai su masyvo elementais: reikšmių priskyrimas ir išvedimas, paieška, rikiavimas. Masyvų perdavimas procedūros (funkcijos) parametrais. 2 Kas yra masyvas? Masyvu vadinamas

More information

PHP PROGRAMOS EIGOS VYKDYMO VALDYMAS

PHP PROGRAMOS EIGOS VYKDYMO VALDYMAS PHP PROGRAMOS EIGOS VYKDYMO VALDYMAS Sąlygos sakiniai PHP skriptų vykdymo eigą galite valdyti naudodami sąlygos sakinius. Sąlygos sakiniai tai loginės struktūros, kuriose saugomas kodas, įvykdomas įgyvendinus

More information

Come to the TypeScript

Come to the TypeScript Come to the TypeScript we have type hinting! Sergej Kurakin Sergej Kurakin Amžius: 36 Dirbu: NFQ Technologies Pareigos: Programuotojas Programuoti pradėjau mokytis 1996 metais. Programuotoju dirbu nuo

More information

Trumpai-ilga istorija

Trumpai-ilga istorija Įvadas į Web Services Kas yra Web Service? Kas ką žino??? 70-ieji: Mainframe Trumpai-ilga istorija 80-ieji: Client-Server Istorijos 90-ieji: Web 2000: SOA 2010: Cloud Computing Šaltinis: Sergejus Barinovas,

More information

Informacijos apsaugos standartai serija

Informacijos apsaugos standartai serija Informacijos apsaugos standartai 27000 serija Pareng : Marius Celskis www.isec.lt 2007 m. balandis 12 d. ISO 27000 serija 2 iš 9 Tarptautin standartizacijos organizacija ISO informacijos apsaugos standartizavimui

More information

ios Uždara operacinė sistema skirta tik Apple įrenginiams: iphone ipad ipod touch Apple TV

ios Uždara operacinė sistema skirta tik Apple įrenginiams: iphone ipad ipod touch Apple TV ios Uždara operacinė sistema skirta tik Apple įrenginiams: iphone ipad ipod touch Apple TV Pagrindas OS X, skirtas ARM įrenginiams Programavimo aplinka: XCode ir Objective-C Programavimo kompiuteris -

More information

C programavimo kalba. 3 paskaita (Sąlygos ir ciklo operatoriai, funkcija scanf() )

C programavimo kalba. 3 paskaita (Sąlygos ir ciklo operatoriai, funkcija scanf() ) C programavimo kalba 3 paskaita (Sąlygos ir ciklo operatoriai, funkcija scanf() ) Sąlygos operatorius if - else Sąlygos operatoriai skirti perduoti programos vykdymą vienai ar kitai programos šakai. Operatorius

More information

Parengė ITMM Artūras Šakalys 1

Parengė ITMM Artūras Šakalys 1 2014.02.02 Parengė ITMM Artūras Šakalys 1 2014.02.02 Parengė ITMM Artūras Šakalys 2 Kaip suprantame masyvą? Pavyzdys: Peteliškių šeima; Gėlių laukas; 2014.02.02 Parengė ITMM Artūras Šakalys 3 Kaip suprasti

More information

HTML dokumentai aprašo tinklalapius. HTML dokumentus sudaro HTML gairės ir grynas tekstas. HTML dokumentai vadinami tinklalapiais.

HTML dokumentai aprašo tinklalapius. HTML dokumentus sudaro HTML gairės ir grynas tekstas. HTML dokumentai vadinami tinklalapiais. 1 P u s l a p i s HTML dokumentai HTML kalba HTML yra kalba, naudojama tinklalapių aprašymui. HTML kilo iš HyperText Markup Language. HTML nėra programavimo kalba, ji yra žymėjimo kalba. Žymėjimo kalba

More information

VERSLO KLIENTŲ APTARNAVIMAS TEL

VERSLO KLIENTŲ APTARNAVIMAS TEL paslaugos Virtualus biuras valdymas ir naudojimas VERSLO KLIENTŲ APTARNAVIMAS TEL. 1816 Skambučio kaina tel. 1816 TEO tinkle 0,16 Lt/min., sujungimo mokestis 0,12 Lt; iš Omnitel, Bitė Lietuva ir Tele2

More information

Paveikslėlių sąrašas

Paveikslėlių sąrašas TURINYS 1 1. Elektroninis paštas...3 1.1. Įvadas...3 1.2. Bendrieji principai...3 1.3. Microsoft Outlook Express programą...5 1.3.1. Darbo lango elementai...6 1.3.2. Elektroninio pašto laišku išsiuntimas

More information

Step-by step guide for MRU students to uploading Master s Thesis to elaba repository

Step-by step guide for MRU students to uploading Master s Thesis to elaba repository Step-by step guide for MRU students to uploading Master s Thesis to elaba repository www.elaba.lt Log in the repository Go to www.elaba.lt Select Submit to repository Select your institutional affiliation

More information

Asta Čitavičienė LIBRARY

Asta Čitavičienė LIBRARY elaba REPOSITORY USER GUIDE FOR A STUDENT Asta Čitavičienė LIBRARY 2016-09-10 Login Go to elaba website at www.elaba.lt Select a reference Deposit to elaba Login 1. 2. Select your institution: Kauno technologijos

More information

Interaktyviame režime: visi 5 etapai vykdomi nuosekliai; DBVS SQL sakinius interpretuoja. Programose: dalis etap gali bti atlikti kompiliuojant.

Interaktyviame režime: visi 5 etapai vykdomi nuosekliai; DBVS SQL sakinius interpretuoja. Programose: dalis etap gali bti atlikti kompiliuojant. 8. SQL sakiniai taikomosiose programose SQL gali bti vartojama dviem režimais: interaktyviai taikomosiose programose Dvilypumo privalumai: interaktyvaus režimo prieinamos ir programose; SQL derinamas interaktyviai

More information

WWW aplikacijų saugumas 2

WWW aplikacijų saugumas 2 WWW aplikacijų saugumas 2 Rolandas Griškevičius rolandas.griskevicius@fm.vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 2010-11-26 R. Griškevičius, Saugus programavimas, VGTU, 2009

More information

Gijos. Gijų modelis Javoje. R.Vaicekauskas, OP, 2017

Gijos. Gijų modelis Javoje. R.Vaicekauskas, OP, 2017 Gijos Gijų modelis Javoje R.Vaicekauskas, OP, 2017 1 Turinys Motyvacija Sukūrimas Valdymas Sinchronizacija Susijusios klasės 2 Motyvacija Gijos reikalingos tam, kad išreikšti lygiagretumą vieno proceso

More information

2. Pakopiniai stiliai

2. Pakopiniai stiliai 1 2. Pakopiniai stiliai 2.1. Pakopiniai stiliai (CSS) Pakopinius stilius (Cascading Style Sheets; CSS) kaip ir HTML sukūrė bei kontroliuoja Pasaulinis hipertekstinės informacijos tinklo konsorciumas (World

More information

Struktūrų sintaksė Struktūra tai vienodo arba skirtingo tipo kintamųjų rinkinys. Sintaksė: struct vardas { ; type1 var1; type2 var2;... typen varn; //

Struktūrų sintaksė Struktūra tai vienodo arba skirtingo tipo kintamųjų rinkinys. Sintaksė: struct vardas { ; type1 var1; type2 var2;... typen varn; // C programavimo kalba 10 paskaita (Struktūros) Struktūrų sintaksė Struktūra tai vienodo arba skirtingo tipo kintamųjų rinkinys. Sintaksė: struct vardas { ; type1 var1; type2 var2;... typen varn; // Gale

More information

Tautvydas Dagys Microsoft Lietuva

Tautvydas Dagys Microsoft Lietuva Tautvydas Dagys Microsoft Lietuva Programos akademinėms institucijoms ir studentams Studentų partnerių programa Akademinės institucijoms Studentams MSDN AA Tai efektyvus būdas aprūpinti savo laboratorijas/klases

More information

Redis Ma as, greitas, galingas. Specialiai VilniusPHP

Redis Ma as, greitas, galingas. Specialiai VilniusPHP Redis Ma as, greitas, galingas Specialiai VilniusPHP 2013.06.06 Sergej Kurakin Na, Jūs mane jau nekarta matėte, tai nieko nesakysiu apie save. Kaip aš susipa inau! Tai buvo prieš keletą metų! Projektas

More information

ONSCREENKEYS 5. Windows XP / Windows Vista / Windows 7 / Windows 8 / Windows 10

ONSCREENKEYS 5. Windows XP / Windows Vista / Windows 7 / Windows 8 / Windows 10 ONSCREENKEYS 5 Windows XP / Windows Vista / Windows 7 / Windows 8 / Windows 10 PREKĖS APRAŠYMAS Šis intelektualus ekrane klaviatūra su virtualių pelės paspaudimu funkcijų ir kalbos galia leidžia greitai

More information

Web servisai WSDL. Osvaldas Grigas

Web servisai WSDL. Osvaldas Grigas Web servisai WSDL Osvaldas Grigas Web servisų aprašymas Kiekvienas web servisas yra unikalus Jis turi adresą(arba kelis adresus), kuriuo į jį galima kreiptis. Jis supranta tik tam tikros struktūros įeinančius

More information

C++ programavimo kalba. Konstruktorius, destruktorius, klasių metodų modifikatoriai, objektų masyvai (4 paskaita)

C++ programavimo kalba. Konstruktorius, destruktorius, klasių metodų modifikatoriai, objektų masyvai (4 paskaita) C++ programavimo kalba Konstruktorius, destruktorius, klasių metodų modifikatoriai, objektų masyvai (4 paskaita) Konstruktorius Sukuriant objektą, jo duomenims paprastai turi būti priskiriamos pradinės

More information

Baltymų struktūrų modeliavimas naudojant HHpred ir SWISS-MODEL Laboratorinis darbas

Baltymų struktūrų modeliavimas naudojant HHpred ir SWISS-MODEL Laboratorinis darbas Baltymų struktūrų modeliavimas naudojant HHpred ir SWISS-MODEL Laboratorinis darbas Justas Dapkūnas 2017 1 Įvadas Šio darbo tikslas yra praktiškai išbandyti baltymų struktūrų modeliavimą, naudojant paprastus

More information

Apletai (įskiepiai) Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.

Apletai (įskiepiai) Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras. Apletai (įskiepiai) Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2008-2009 m. m. pavasario semestras Java grafinės bibliotekos AWT (Abstract Window Toolkit) Swing 2009.04.09 P.Kasparaitis. Objektinis

More information

Trigeris, realizuojantis dalykin taisykl darbuotojas negali dalyvauti daugiau nei 3 projektuose : trigerio kamienas - vienas ar keli SQL sakiniai,

Trigeris, realizuojantis dalykin taisykl darbuotojas negali dalyvauti daugiau nei 3 projektuose : trigerio kamienas - vienas ar keli SQL sakiniai, 7.5. Dalykins taisykls ir trigeriai 7.5.1. Dalykini taisykli užtikrinimas Duomen vientisumas yra tampriai susijs su vidine konkreios organizacijos darbo tvarka ir galiojaniomis joje taisyklmis, pvz.: darbuotojas

More information

Gintautas GRIGAS P R O G R A M A V I M A S P A S K A L I U

Gintautas GRIGAS P R O G R A M A V I M A S P A S K A L I U Gintautas GRIGAS P R O G R A M A V I M A S P A S K A L I U Vilnius 1998 Ši knyga yra programavimo pradžiamokslis. Aprašomos pagrindins Paskalio kalbos konstrukcijas bei j bei j panaudojimas algoritmams

More information

Pažintis su C++ Builder

Pažintis su C++ Builder Pažintis su C++ Builder Turinys C++ Builder aplinka... 2 Komponentai, jų savybės ir metodai, įvykiai... 2 Programos objektų savybių keitimas... 4 Vartotojo programos kūrimas, saugojimas ir vykdymas...

More information

Rekomendacijos asmens duomenų apsaugai internete

Rekomendacijos asmens duomenų apsaugai internete Valstybinė duomenų apsaugos inspekcija Rekomendacijos asmens duomenų apsaugai internete Vilnius 2001 Darbus atliko: Arnoldas Braškys Sistemų saugumo projektų vadovas AB Alna Koregavo: Tomas Tautkus Laura

More information

iuolaikini technologij taikymai mokykliniame intranete

iuolaikini technologij taikymai mokykliniame intranete IAULI UNIVERSITETAS FIZIKOS - MATEMATIKOS FAKULTETAS Giedrius Bagdonas iuolaikini technologij taikymai mokykliniame intranete Magistro darbas Darbo vadovas: Lekt. L. Kaklauskas Darbo recenzentas: Lekt.

More information

Polimorfizmas. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.

Polimorfizmas. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras. Polimorfizmas Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2009-2010 m. m. pavasario semestras Dar apie paveldėjimą Java kalboje kiekvienas paveldėtos klasės objektas gali būti naudojamas ten, kur

More information

Didelės apimties svetainės optimizavimas taikant SEO principus

Didelės apimties svetainės optimizavimas taikant SEO principus VILNIAUS UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS PROGRAMŲ SISTEMŲ KATEDRA Didelės apimties svetainės optimizavimas taikant SEO principus Large-scale website optimization applying SEO principles

More information

Įdiegus TVS, turintys programavimo pagrindus, gali ir patys nesunkiai šį tą pakoreguoti.

Įdiegus TVS, turintys programavimo pagrindus, gali ir patys nesunkiai šį tą pakoreguoti. Turinio valdymo sistemų apžvalga Turinio valdymo sistemos www svetainėms Turinio valdymo sistemos (TVS) (angl.: CMS Content Management System) padeda paskirstyti svetainės priežiūros darbus, automatiškai

More information

The Influence of Transport Layer to Ethernet Services Quality

The Influence of Transport Layer to Ethernet Services Quality ELECTRONICS AND ELECTRICAL ENGINEERING ISSN 139 115 010. No. 9(105) ELEKTRONIKA IR ELEKTROTECHNIKA TELECOMMUNICATIONS ENGINEERING T 180 TELEKOMUNIKACIJŲ INŽINERIJA The Influence of Transport Layer to Ethernet

More information

A125G/A226G, A4001N konfigūravimo instrukcija

A125G/A226G, A4001N konfigūravimo instrukcija Data: 2010-09-22 Papildyta: 2011-12-23 A125G/A226G, A4001N galinės įrangos paruošimo verslo internetui (UNI 1 planams) teikti INSTRUKCIJA Paskirtis. Šiame dokumente aprašytas ADBB (buvęs Pirelli) maršrutizatorių

More information

Kodėl programą sudaro daug failų? Sukurtos tipinės funkcijų galėtų būti panaudojamos dar kartą; Sudaroma aiškesnė programos struktūra; Sudaroma galimy

Kodėl programą sudaro daug failų? Sukurtos tipinės funkcijų galėtų būti panaudojamos dar kartą; Sudaroma aiškesnė programos struktūra; Sudaroma galimy C programavimo kalba 12 paskaita (Daugiafailinės programos, laiko ir datos funkcijos) Kodėl programą sudaro daug failų? Sukurtos tipinės funkcijų galėtų būti panaudojamos dar kartą; Sudaroma aiškesnė programos

More information

Teaching Mathematics in University Education through Internet

Teaching Mathematics in University Education through Internet Informatics in Education, 2004, Vol. 3, No. 1, 19 30 19 2004 Institute of Mathematics and Informatics, Vilnius Teaching Mathematics in University Education through Internet Javier BILBAO, Eugenio BRAVO,

More information

iphone Naudotojo vadovas Skirta ios 6.1 programinei įrangai

iphone Naudotojo vadovas Skirta ios 6.1 programinei įrangai iphone Naudotojo vadovas Skirta ios 6.1 programinei įrangai Turinys 7 Skyrius 1: Trumpai apie iphone 7 iphone 5 apžvalga 7 Priedai 8 Mygtukai 10 Būsenos piktogramos 12 Skyrius 2: Pradžia 12 Reikalavimai

More information

1. Pakuotės turinys ADSL įranga Techniniai reikalavimai ADSL įrangos diegimas PPPoE programinės įrangos diegimas 6

1. Pakuotės turinys ADSL įranga Techniniai reikalavimai ADSL įrangos diegimas PPPoE programinės įrangos diegimas 6 Turinys 1. Pakuotės turinys 4 2. ADSL įranga 4 3. Techniniai reikalavimai 4 4. ADSL įrangos diegimas 5 5. PPPoE programinės įrangos diegimas 6 6. Windows XP ir interneto prieiga 12 7. Prisijungimas prie

More information

KOMPIUTERIŲ TINKLAI. 5 paskaita Tinklo lygmuo, IP protokolas

KOMPIUTERIŲ TINKLAI. 5 paskaita Tinklo lygmuo, IP protokolas KOMPIUTERIŲ TINKLAI 5 paskaita Tinklo lygmuo, IP protokolas Lokalus tinklas (kartojimas) Lokalaus tinklo technologijos: Kokius žinote prieigos prie terpės metodus? Kas yra Ethernet, kokie jo skiriamieji

More information

Internetinių paslaugų paieškos technologijų vertinimas jų tinkamumo internetinei prekybai požiūriu

Internetinių paslaugų paieškos technologijų vertinimas jų tinkamumo internetinei prekybai požiūriu ISSN 1392-0561. INFORMACIJOS MOKSLAI. 2011 56 Internetinių paslaugų paieškos technologijų vertinimas jų tinkamumo internetinei prekybai požiūriu Albertas Čaplinskas Vilniaus universiteto Matematikos ir

More information

Pasirenkamojo modulio kūrybinio darbo atlikimas ir vertinimas

Pasirenkamojo modulio kūrybinio darbo atlikimas ir vertinimas Pasirenkamojo modulio kūrybinio darbo atlikimas ir vertinimas Pasirenkamojo modulio kūrybinis darbas atliekamas keliais etapais: kūrybinio darbo temos (problemos / užduoties) pasirinkimas ir derinimas

More information

Buferio perpildymo klaida Įvadas, techniniai klausimai

Buferio perpildymo klaida Įvadas, techniniai klausimai Buferio perpildymo klaida Įvadas, techniniai klausimai Rolandas Griškevičius rolandas.griskevicius@fm.vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 2009-10-16 R. Griškevičius, Saugus

More information

PROJEKTAS PROFESIJOS MOKYTOJŲ IR DĖSTYTOJŲ TECHNOLOGINIŲ KOMPETENCIJŲ TOBULINIMO SISTEMOS SUKŪRIMAS IR ĮDIEGIMAS (NR.: VP1-2.2-ŠMM-02-V ) 1

PROJEKTAS PROFESIJOS MOKYTOJŲ IR DĖSTYTOJŲ TECHNOLOGINIŲ KOMPETENCIJŲ TOBULINIMO SISTEMOS SUKŪRIMAS IR ĮDIEGIMAS (NR.: VP1-2.2-ŠMM-02-V ) 1 SISTEMOS SUKŪRIMAS IR ĮDIEGIMAS (NR.: VP1-2.2-ŠMM-02-V-02-001) 1 UGDYMO PLĖTOTĖS CENTRAS PROJEKTAS PROFESIJOS MOKYTOJŲ IR DĖSTYTOJŲ TECHNOLOGINIŲ KOMPETENCIJŲ TOBULINIMO SISTEMOS SUKŪRIMAS IR ĮDIEGIMAS

More information

2017 m. pagrindinės sesijos informacinių technologijų valstybinio brandos egzamino programavimo užduoties galimi sprendimai

2017 m. pagrindinės sesijos informacinių technologijų valstybinio brandos egzamino programavimo užduoties galimi sprendimai Pavyzdys A 2017 m. pagrindinės sesijos informacinių technologijų valstybinio brandos egzamino programavimo užduoties galimi sprendimai int konvertuojamas(int skaic, int id); char konvertuojamas2(int dal);

More information

Belaidis ryšys (tik tam tikruose modeliuose) Vartotojo vadovas

Belaidis ryšys (tik tam tikruose modeliuose) Vartotojo vadovas Belaidis ryšys (tik tam tikruose modeliuose) Vartotojo vadovas 2009 m., Hewlett-Packard Development Company, L.P. Windows yra JAV registruotas bendrovės Microsoft Corporation prekės ženklas. Bluetooth

More information

Vilniaus Gedimino technikos universitetas,

Vilniaus Gedimino technikos universitetas, INFORMATIKA 11-osios Lietuvos jaunųjų mokslininkų konferencijos Mokslas Lietuvos ateitis, įvykusios Vilniuje 2008 m. balandžio 9 11 d., straipsnių rinkinys VERSLO VALDYMO SISTEMOS MICROSOFT DYNAMICS AX

More information

Paprastų lentelių kūrimas

Paprastų lentelių kūrimas HTML lentelės Lentelės Informacijos pateikimas HTML-dokumentuose lentelių pagalba yra vienas iš dažniausiai naudojamų. HTML kalboje lentelės yra naudojamos ne tik tradiciškai, kaip duomenų pateikimo metodas,

More information

IBM Trusteer Fraud Protection

IBM Trusteer Fraud Protection Paslaugos aprašas IBM Trusteer Fraud Protection Šiame Paslaugos apraše apibūdinta Cloud Service, kurią IBM pateikia Klientui. Klientas reiškia susitariančiąją šalį, jos įgaliotuosius vartotojus ir Cloud

More information

I. FFDATA STRUKTŪROS APRAŠYMAS

I. FFDATA STRUKTŪROS APRAŠYMAS PATVIRTINTA Valstybinio socialinio draudimo fondo valdybos prie Socialinės apsaugos ir darbo ministerijos direktoriaus 2010 m. birželio 4 d. įsakymu Nr. V-243 (Valstybinio socialinio draudimo fondo valdybos

More information

Paskirstytos atminties lygiagretusis programavimas Įvadas į MPI

Paskirstytos atminties lygiagretusis programavimas Įvadas į MPI Paskirstytos atminties lygiagretusis programavimas Įvadas į MPI Distributed memory parallel programming Paskirstytos atminties lygiagretieji kompiuteriai Kiekvienas procesorius turi tik savo nuosavą atmintį

More information

I.SAF DUOMENŲ RINKMENOS XML STRUKTŪROS APRAŠO SPECIFIKACIJA

I.SAF DUOMENŲ RINKMENOS XML STRUKTŪROS APRAŠO SPECIFIKACIJA VALSTYBINĖ MOKESČIŲ INSPEKCIJA PRIE LIETUVOS RESPUBLIKOS FINANSŲ MINISTERIJOS I.SAF DUOMENŲ RINKMENOS XML STRUKTŪROS APRAŠO SPECIFIKACIJA Versija 1.2.1 159 lapai VILNIUS 2016-10-12 2 Dokumento versijos

More information

Maršrutizatorius ZTE MF253V Vartotojo vadovas

Maršrutizatorius ZTE MF253V Vartotojo vadovas Maršrutizatorius ZTE MF253V Vartotojo vadovas TEISINĖ INFORMACIJA Copyright 2017 ZTE CORPORATION. Visos teisės saugomos. Draudžiama bet kokia forma ir bet kokiomis, elektroninėmis ar mechaninėmis, priemonėmis,

More information

Register your product and get support at SHB9100. LT Vartotojo vadovas

Register your product and get support at   SHB9100. LT Vartotojo vadovas Register your product and get support at www.philips.com/welcome SHB9100 Vartotojo vadovas Turinys 1 Svarbu 4 Klausos sauga 4 4 Bendroji informacija 4 5 5 5 5 Kai garsas iš mobiliojo telefono perduodamas

More information

DTD aprašas gali būti XML failo viduje. Šiuo atveju jis įterpiamas į žymę DOCTYPE naudojant tokią sintaksę:

DTD aprašas gali būti XML failo viduje. Šiuo atveju jis įterpiamas į žymę DOCTYPE naudojant tokią sintaksę: XML DTD paskirtis DTD (angl. Document Type Definition) paskirtis nusakyti, iš kokių blokų gali būti sudarytas XML (o taip pat ir HTML) dokumentas. Taigi DTD apibrėžia dokumento struktūrą išvardindama leistinus

More information

VILNIAUS PEDAGOGINIS UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA EDITA MUDURYTĖ

VILNIAUS PEDAGOGINIS UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA EDITA MUDURYTĖ VILNIAUS PEDAGOGINIS UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA EDITA MUDURYTĖ MICROSOFT OPERACINIŲ SISTEMŲ SĄSAJŲ LYGINAMOJI ANALIZĖ Magistro baigiamasis darbas Darbo vadovai

More information

II SEKCIJA. Duomenų bazės ir modeliai

II SEKCIJA. Duomenų bazės ir modeliai II SEKCIJA Duomenų bazės ir modeliai VEIKLOS TAISYKLIŲ SAUGYKLA, INTEGRUOTA SU VEIKLOS TAISYKLIŲ IŠKVIETIMO MECHANIZMU 1 Rimantas Butleris, Liudas Motiejūnas Kauno technologijos universitetas Straipsnyje

More information

Resursų virtualizacija. 12 paskaita. Virtualizacija ir cloud computing

Resursų virtualizacija. 12 paskaita. Virtualizacija ir cloud computing Resursų virtualizacija 12 paskaita Virtualizacija ir cloud computing Virtualizacijos prielaidos Šiuolaikiniai kompiuteriai yra pakankamai galingi: 2, 4, 8, 32 branduolių procesoriai 4 128 GB operatyviosios

More information

PHP Lietuviškai. Turinys

PHP Lietuviškai. Turinys PHP Lietuviškai Informacija iš interneto pakampių surinko, visa savaitgalį prie Easy PDF sėdėjo ir kankinosi Justinas L. aka scooox. Taigi, kad visi girdėtų, sakau: šitas dokumentas yra surinktas iš visų

More information

GII-08. GEOGRAFINĖS INFORMACIJOS INFRASTRUKTŪROS STRUKTŪRA 4 užduotis: Pasauliniai geografinės informacijos infrastruktūros portalai

GII-08. GEOGRAFINĖS INFORMACIJOS INFRASTRUKTŪROS STRUKTŪRA 4 užduotis: Pasauliniai geografinės informacijos infrastruktūros portalai GII-08. GEOGRAFINĖS INFORMACIJOS INFRASTRUKTŪROS STRUKTŪRA 4 užduotis: Pasauliniai geografinės informacijos infrastruktūros portalai Praktinio darbo vertinimas: šis praktinis darbas vertinamas iki 30 balų,

More information

C programavimo kalba. 5 paskaita (Funkcijos, masyvai)

C programavimo kalba. 5 paskaita (Funkcijos, masyvai) C programavimo kalba 5 paskaita (Funkcijos, masyvai) Funkcijų pavyzdys // Skaičių lyginimo programa #include void pmax(int, int); /* prototipas */ int main() {int i, j; for (i = -10; i

More information

Kompiuterių tinklai. IPv6 ir tuneliai

Kompiuterių tinklai. IPv6 ir tuneliai Kompiuterių tinklai IPv6 ir tuneliai Rolandas Griškevičius rolandas.griskevicius@vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 00--08 R. Griškevičius, Kompiuterių tinklai, VGTU, 00

More information

1. AJAX įvadas. AJAX principai:

1. AJAX įvadas. AJAX principai: 1. AJAX įvadas AJAX principai: Naršyklė talpina programą (application), ne turinį. Serveris siunčia duomenis ne turinį. Asinchroniškumas - asinchroninio request/response siuntimo pagrindinis principas

More information

PAŽINTIS SU PROGRAMŲ LIETUVINIMU. Gintautas Grigas

PAŽINTIS SU PROGRAMŲ LIETUVINIMU. Gintautas Grigas PAŽINTIS SU PROGRAMŲ LIETUVINIMU Gintautas Grigas el. p. Gintautas.Grigas@mii.vu.lt Programos vertimas į kitą kalbą ir jos pritaikymas tos kalbos aplinkai vadinamas lokalizavimu. Atskiras lokalizavimo

More information

Naujos galimybės su Lotus Notes 8.5.1: naudotojams ir programuotojams

Naujos galimybės su Lotus Notes 8.5.1: naudotojams ir programuotojams Naujos galimybės su Lotus Notes 8.5.1: naudotojams ir programuotojams IBM Programinės įrangos diena 2009 m. spalio 21 d. Andrejus Chaliapinas, IĮ Infosana vadovas http://www.infosana.com Prezentacijos

More information

PK architektūra. Microsoft Windows 98 aplinka. I.Bendrosios žinios apie personalinius kompiuterius

PK architektūra. Microsoft Windows 98 aplinka. I.Bendrosios žinios apie personalinius kompiuterius PK architektūra Microsoft Windows 98 aplinka I.Bendrosios žinios apie personalinius kompiuterius Asmeninių kompiuterių tipai Staliniai (desktop). Susideda iš kelių atskirų dalių, lengvai telpa ant stalo.

More information

KAUNO TECHNOLOGIJOS UNIVERSITETAS ONTOLOGIJŲ VAIZDINIO PATEIKIMO MODELIS IR JO REALIZACIJA SEMANTINIAME TINKLE

KAUNO TECHNOLOGIJOS UNIVERSITETAS ONTOLOGIJŲ VAIZDINIO PATEIKIMO MODELIS IR JO REALIZACIJA SEMANTINIAME TINKLE KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS Aurelijus Saldauskas ONTOLOGIJŲ VAIZDINIO PATEIKIMO MODELIS IR JO REALIZACIJA SEMANTINIAME TINKLE Baigiamasis magistro projektas Vadovas prof.

More information

Microsoft Office PowerPoint 2010 gidas

Microsoft Office PowerPoint 2010 gidas Microsoft Office PowerPoint 2010 gidas Turinys Apie Microsoft Powerpoint 2010... 1 Patarimai, kaip sukurti gerą pateiktį... 2 Standartinio maketo naudojimas... 3 Pasirinkto maketo kūrimas... 4 SmartArt

More information

2-3 PASKAITOS. Paprasčiausia programa:

2-3 PASKAITOS. Paprasčiausia programa: 2-3 PASKAITOS Turinys: Paprasčiausios programos pavyzdys. Darbas su programavimo terpėmis. Duomenys. Duomenų tipai ir charakteristikos. Paprasčiausia įvestis/išvestis. Paprasčiausia programa: /* Pirmoji

More information

DUOMENŲ STRUKTŪROS IR ALGORITMAI. Rūšiavimo algoritmai (įterpimo, burbulo, išrinkimo)

DUOMENŲ STRUKTŪROS IR ALGORITMAI. Rūšiavimo algoritmai (įterpimo, burbulo, išrinkimo) DUOMENŲ STRUKTŪROS IR ALGORITMAI Rūšiavimo algoritmai (įterpimo, burbulo, išrinkimo) Rūšiavimo veiksmas Kasdieniniame gyvenime mes dažnai rūšiuojame: Failus kataloguose Katalogus lokaliame diske Kasdienines

More information

Paveikslėliai. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.

Paveikslėliai. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras. Paveikslėliai Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2008-2009 m. m. pavasario semestras Klasė Image Priklauso paketui java.awt Abstrakti klasė paveldėta iš Object Tai visų grafinių paveikslėlių

More information

Lokalizuojamųjų programinės įrangos išteklių metainformacijos formalizavimo metodas

Lokalizuojamųjų programinės įrangos išteklių metainformacijos formalizavimo metodas ISSN 1392-0561. INFORMACIJOS MOKSLAI. 2009 50 Lokalizuojamųjų programinės įrangos išteklių metainformacijos formalizavimo metodas Tatjana Jevsikova Matematikos ir informatikos instituto doktorantė Institute

More information

Vilniaus universitetas

Vilniaus universitetas PROGRAMAVIMO KALBŲ TEORINIAI PAGRINDAI Mokymo priemon bakalauro studijų programos Matematikos ir informatikos mokymas studentams Valentina Dagien Gintautas Grigas Vilniaus universitetas Matematikos ir

More information

char *strstmt; /* - kintamasis SELECT sakiniui */ / Išskiriame atmint kiekvieno stulpelio reikšmei. */

char *strstmt; /* - kintamasis SELECT sakiniui */ / Išskiriame atmint kiekvieno stulpelio reikšmei. */ 8.9. Dinamini užklaus vykdymas Sudarant program, kuri išvest vartotojo pasirinktos lentel s ir pasirinkt jos stulpeli reikšmes, negalime aprašyti bazini kintam j, nes nežinome: stulpeli skai iaus; stulpeli

More information

ipod touch naudotojo instrukcija Viskas, ką jums reikia žinoti apie ipod touch

ipod touch naudotojo instrukcija Viskas, ką jums reikia žinoti apie ipod touch ipod touch naudotojo instrukcija Viskas, ką jums reikia žinoti apie ipod touch Turinys KONFIGŪRAVIMAS IR DARBO PRADŽIA... 9 Apie ipod touch trumpai... 9 ipod touch apžvalga... 9 Mygtukas Miegas / pažadinimas...

More information

ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA. Mindaugas Gapšys BAKALAURO DARBAS

ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA. Mindaugas Gapšys BAKALAURO DARBAS ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA Mindaugas Gapšys Informatikos specialybės IV kurso dieninio skyriaus studentas Bash skriptų panaudojimas Unix/Linux operacinių

More information

INFORMACINĖS SISTEMOS INVENTORIAUS VALDYMO SISTEMA

INFORMACINĖS SISTEMOS INVENTORIAUS VALDYMO SISTEMA ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA Denas Pavlavičius Informatikos specialybės II kurso dieninio skyriaus studentas INFORMACINĖS SISTEMOS INVENTORIAUS VALDYMO

More information

Techninių interneto problemų sprendimas. Sudarė dėstytojas Adomas Pakalnis

Techninių interneto problemų sprendimas. Sudarė dėstytojas Adomas Pakalnis Techninių interneto problemų sprendimas Sudarė dėstytojas Adomas Pakalnis Mokymo programa 1. Šviesolaidinio interneto technologija 2. LAN, WLAN. IP, DNS, MAC adresai 3. Maršruto parinktuvo (angl. router)

More information

HP Photosmart M305/M307 skaitmeninis fotoaparatas su HP Instant Share funkcija. Vartotojo vadovas

HP Photosmart M305/M307 skaitmeninis fotoaparatas su HP Instant Share funkcija. Vartotojo vadovas HP Photosmart M305/M307 skaitmeninis fotoaparatas su HP Instant Share funkcija Vartotojo vadovas Teisin s pastabos Hewlett-Packard Development Company, 2004, LP. Šiame dokumente pateikta informacija gali

More information

UNIVERSALUS PROGRAMUOJAMAS INTERNETINI ROBOT K RIMO RANKIS

UNIVERSALUS PROGRAMUOJAMAS INTERNETINI ROBOT K RIMO RANKIS KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS KOMPIUTERI KATEDRA TVIRTINU Katedros ved jas doc. Egidijus Kazanavi ius UNIVERSALUS PROGRAMUOJAMAS INTERNETINI ROBOT K RIMO RANKIS Informatikos

More information

Virtualizavimo infrastruktūros parinkimas ir taikymas mažose ir vidutinio dydžio įmon se

Virtualizavimo infrastruktūros parinkimas ir taikymas mažose ir vidutinio dydžio įmon se KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS KOMPIUTERIŲ KATEDRA Žygimantas Žąsytis Virtualizavimo infrastruktūros parinkimas ir taikymas mažose ir vidutinio dydžio įmon se Magistro darbas

More information

WiFi komplekto. Vartotojo vadovas

WiFi komplekto. Vartotojo vadovas WiFi komplekto Vartotojo vadovas SAUGUMO REIKALAVIMAI Pastabos: Nedėkite ir neįrenginėkite įrangos tiesioginiuose saulės spinduliuose ar prie kitų šilumos šaltinių. Neįrenginėkite įrangos drėgnoje vietoje

More information

ELEKTRONINIŲ PROJEKTŲ RENGIMO IR VALDYMO SISTEMA

ELEKTRONINIŲ PROJEKTŲ RENGIMO IR VALDYMO SISTEMA ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA Asta Drukteinien ELEKTRONINIŲ PROJEKTŲ RENGIMO IR VALDYMO SISTEMA MAGISTRO DARBAS Darbo vadov : Doc. S. Turskien Recenzentas:

More information

2012 m. valstybinio brandos egzamino uþduotis, pagrindinë sesija

2012 m. valstybinio brandos egzamino uþduotis, pagrindinë sesija 1 iš 24 LIETUVOS RESPUBLIKOS ÐVIETIMO IR MOKSLO MINISTERIJA NACIONALINIS EGZAMINØ CENTRAS Kandidato (-ës) darbo vietos þymë 2012 m. valstybinio brandos egzamino uþduotis, pagrindinë sesija Egzamino trukmë

More information

Pailgasis garsiakalbis

Pailgasis garsiakalbis Pailgasis garsiakalbis Naudojimo instrukcija HT-MT500/MT501 ĮSPĖJIMAS Įrenginio negalima statyti mažoje erdvėje, pvz., knygų lentynoje arba uždaroje spintelėje. Kad nesukeltumėte gaisro, neuždenkite įrenginio

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba Operatorių perkrovimas (7 paskaita) Operatorių perdengimas Programavimo kalbose naudojami operatoriai pasižymi polimorfizmu (daugiavariantiškumu). Kaip pavyzdys gali būti operatorius

More information

ŽILVINAS VAIRA. Programinės įrangos kūrimo technologijos. Mokomoji priemonė

ŽILVINAS VAIRA. Programinės įrangos kūrimo technologijos. Mokomoji priemonė ŽILVINAS VAIRA Programinės įrangos kūrimo technologijos Mokomoji priemonė Projektas Socialinių mokslų kolegijos vykdomų studijų programų internacionalizacija kuriant atvirą aukštąją mokyklą užsienio šalių

More information

Vilniaus universitetas Fizikos fakultetas Radiofizikos katedra R. Grigalaitis Programavimas (Programavimo C++ kalba paskaitų konspektas)

Vilniaus universitetas Fizikos fakultetas Radiofizikos katedra R. Grigalaitis Programavimas (Programavimo C++ kalba paskaitų konspektas) Vilniaus universitetas Fizikos fakultetas Radiofizikos katedra R. Grigalaitis Programavimas (Programavimo C++ kalba paskaitų konspektas) Vilnius 2010 - 2 - Turinys PROGRAMAVIMO SAMPRATA... - 4 - KINTAMIEJI

More information

KLIENTŲ DUOMENŲ BAZĖS IR SANTYKIO SU KLIENTAIS VALDYMO PROGRAMA

KLIENTŲ DUOMENŲ BAZĖS IR SANTYKIO SU KLIENTAIS VALDYMO PROGRAMA KTU INFORMATIKOS FAKULTETAS HENRIKAS SINICKAS KLIENTŲ DUOMENŲ BAZĖS IR SANTYKIO SU KLIENTAIS VALDYMO PROGRAMA MAGISTRO DARBAS Darbo vadovas doc. dr. Ojaras Purvinis KAUNAS 2004 TURINYS 2 1. ĮVADAS... 3

More information

2006 m. valstybinio brandos egzamino užduotis

2006 m. valstybinio brandos egzamino užduotis LIETUVOS RESPUBLIKOS ÐVIETIMO IR MOKSLO MINISTERIJA NACIONALINIS EGZAMINØ CENTRAS 2006 m. valstybinio brandos egzamino užduotis 2006 m. gegužės 26 d. Egzamino trukmė 3 val. Testas 1 val. 25 min (85 min.)

More information

Plantronics Explorer 50. Naudojimo instrukcija

Plantronics Explorer 50. Naudojimo instrukcija Plantronics Explorer 50 Naudojimo instrukcija Turinys Įvadinės pastabos 3 Ausinės apžvalga 4 Porinimas ir krovimas 5 Patogus užsidėjimas 5 Porinimas ir krovimas 6 Porinimas 6 Porinimo režimo aktyvavimas

More information

PAIEŠKOS SISTEMŲ OPTIMIZAVIMO METODŲ ANALIZĖ

PAIEŠKOS SISTEMŲ OPTIMIZAVIMO METODŲ ANALIZĖ PAIEŠKOS SISTEMŲ OPTIMIZAVIMO METODŲ ANALIZĖ Donatas Veikutis, Simona Ramanauskaitė UAB Komeksimas, Šiaulių universitetas Įvadas Visuomenė, internetas ir jame esanti informacija dabar turi vieną didžiausių

More information

ESET NOD32 ANTIVIRUS 9

ESET NOD32 ANTIVIRUS 9 ESET NOD32 ANTIVIRUS 9 Vartotojo vadovas (skirta 9,0 produkto versijai ir naujesnėms) Microsoft Windows 10 / 8.1 / 8 / 7 / Vista / XP Jei norite atsisiųsti pačią naujausią šio dokumento versiją, spustelėkite

More information

IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4.

IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4. IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4. Why are the protocols layered? 5. Define encapsulation.

More information

NetSupport School Darbo pradţios vadovas

NetSupport School Darbo pradţios vadovas NetSupport School Darbo pradţios vadovas AUTORIŲ TEISĖS 2015 NetSupport Ltd Visos teisės ginamos. Turinys NetSupport School kas tai?... 5 Mokytojo asistentas... 5 Mokytojas su Windows 10... 6 Mokinio programa,

More information