|
Cadrul de lucru al aplicatiilor pentru Web
Folosirea Internetului ca mediu de dezvoltare este un fenomen relativ nou. Dupa ce au aparut Java, JavaScript, ActiveX si alte tehnologii, ideea dezvoltarii unor aplicatii legate de Internet are multe puncte de atractie.
Ca mediu de dezvoltare, Internetul pare destul de derutant. Din cauza naturii sale distribuite, o aplicatie Web poate sa fie formata din mai multe parti si sa foloseasca mai multe tehnologii.
Intr-o arhitectura traditionala client/server bazata pe LAN, se poate avea o aplicatie a clientului atasata unui server de baze de date din retea. Frecvent se va dezvolta aplicatia client, folosind un singur instrument, cum ar fi Delphi sau Visual Basic. Partea server a aplicatiei este de obicei dezvoltata si intretinuta, folosind instrumentele administrative SQL ale serverului.
Se constituie realmente un exemplu de suma, care ofera mai multe facilitati decat partile sale componente. In sine, fiecare dintre aceste tehnologii este limitata si mai degraba ingusta ca domeniu de actiune. Combinate in aplicatii legate, ele ofera insa o modalitate eficienta de a dezvolta solutii pentru Internet si pentru intranet.
Partea de client a cadrului de lucru al aplicatiilor pentru Web consta din patru blocuri fundamentale:
- Browsere
- HTML (Hypertext Markup Language)
- Extensii pe parte de client (miniaplicatii Java, controale ActiveX si module plug-in Netscape)
Limbaje de scriptare (JavaScript si VBScript).
Figura 1 Cadru de lucru al unei aplicatii Web
Browsere
Componenta cea mai importanta a unei aplicatii Web este chiar browserul, care reprezinta fereastra utilizatorului spre Web si serveste ca interfata cu utilizatorul pentru aplicatie. Tehnologia browser este relativ simpla (citirea codului HTML si afisarea corespunzatoare pe ecran), dar aparitia unor imbunatatiri non-standard, cum sunt straturile Netscape si JavaScript, a facut ca alegerea software-ului browser sa fie esentiala atunci cand se determina o platforma de dezvoltare pentru Web.
Daca se doreste crearea unei aplicatii intranet, se poate asigura ca toti utilizatorii folosesc un browser Web standard, pentru ca apoi, cand se dezvolta aplicatia, sa se porneasca de la anumite ipoteze. Totusi, daca se doreste crearea unei aplicatii Internet care sa fie folosita de toata lumea, deciziile privind designul acesteia devin mai complicate, fiind necesar sa se puna in balanta caracteristicile si compatibilitatea.
HTML
In mod evident HTML este una dintre principalele tehnologii pe baza careia este construit sistemul Web. HTML este un limbaj de marcare folosit pentru a asigura structura si formatarea unui fisier text simplu. Ca tehnologie , este relativ banala - unii ar spune chiar depasita -, dar tocmai banalitatea confera forta limbajului.
Desi browserul asigura fereastra prin care se afiseaza utilizatorului continutul bazat pe Web, continutul in sine este sub forma de text HTML. Nu conteaza daca prezentati documente statice, intorcand rezultatul unei interogari, asigurand un formular de feedback, sau afisand o aplicatie bazata pe JavaScript. Indiferent de mijloacele prin care se obtin aceste date, finalmente ele sunt transformate in etichete HTML pentru prezentare.
Extensii pe parte de client
Pe masura ce a crescut cerinta pentru pagini Web active, simpla dezvoltare a browserelor pentru Web n-a fost considerata solutia cea mai buna. Unele extensii au fost programe de completare a software-ului browser realizate de terti, pentru a-l face mai puternic. In acelasi timp insa, exista necesitatea de a lucra cu continut executabil in interiorul browserului. Desi browserul trebuia sa recunoasca tehnologia, aceasta nu trebuia sa fie legata de browser ca sa ruleze.
Se cunosc actualmente trei extensii distincte pe parte de client. Ele prezinta similitudini, dar au identitati aparte. Iata-le:
- Miniaplicatii Java
- Controale ActiveX
- Module plug-in Netscape
Miniaplicatii Java
Java este un limbaj de programare independent de platforma, dezvoltat de Sun Microsystems. Motivul pentru interesul extraordinar pe care l-a starnit este capacitatea sa de a crea un continut care poate fi executat pe o multime de platforme.
In mediul browserului, programele Java sunt numite miniaplicatii. O miniaplicatie este legata prin intermediul unei etichete <applet> in documentul HTML si poate fi descarcata pe calculatorul client. Miniaplicatia vine la browser in cod de biti. Daca browserul recunoaste Java, el interpreteaza acest cod de biti si-l executa pe calculatorul client. Referirea la miniaplicatia Java este ignorata in browserele care nu recunosc Java.
Miniaplicatiile Java au o serie de utilizari si, pe masura ce limbajul in sine s-a maturizat, utilizarile au devenit mai sofisticate.
Controale ActiveX
Cunoscute anterior ca OCX-uri, controalele ActiveX constituie raspunsul companiei Microsoft la miniaplicatiile Java. Ele sunt similare miniaplicatiilor Java, deoarece se pot folosi ca modalitate de asigurare a unui continut executabil in Web. Spre deosebire de Java, controalele ActiveX sunt actualmente limitate la mediul de operare Microsoft Windows.
Desi limitate la rularea intr-un singur mediu de operare, controalele ActiveX nu sunt neaparat limitate la aplicatii pentru Web. De exemplu, se poate folosi acelasi control ActiveX intr-o aplicatie Web cu un browser care accepta ActiveX si cu un instrument de programare Windows, cum ar fi Delphi sau Visual Basic.
Juriul inca nu a decis daca Java sau ActiveX va deveni miniaplicatia standard, pe masura ce mediul de dezvoltare Web se maturizeaza, dar deocamdata pare sa incline decisiv catre Java (in principal, datorita recentelor temeri cauzate de virusii care sunt posibili prin intermediul controalelor ActiveX). Amandoua au puncte tari si slabe. Din fericire, ca programator JavaScript, programele dumneavoastra pot interactiona cu ambele tehnologii.
Module plug-in Netscape
Modulele plug-in reprezinta o tehnologie usor diferita, dar sunt tot o extensie pe parte de client a browserului Web. In esenta, un modul plug-in extinde capacitatile normale ale browserului Netscape Navigator, oferind suport pentru tipuri de date suplimentare si pentru alte caracteristici. Mai exact, un modul plug-in se foloseste pentru a afisa un fisier de tip MIME (Multipurpose Internet Mail Extension).
Cand se porneste Netscape, browserul isi cerceteaza dosarul sau programplugins pentru a cauta module plug-in pe care sa le inregistreze. Dupa aceea, Netscape apeleaza un modul plug-in, atunci cand are nevoie de el - mai precis, cand intalneste un fisier MIME potrivit.
O data instalate, modulele plug-in devin module adaugate pe browser si nu necesita interactiune din partea utilizatorului pentru a porni. Ele se dovedesc utile mai ales pentru date multimedia, de tipul sunetelor, imaginilor video si graficii.
Pentru comunicarea cu modulele plug-in, se poate folosi JavaScript.
Limbaje de scriptare ale clientului
Ultimele piese ale puzzle-ului pe parte de client sunt limbajele de scriptare ale clientului. JavaScript este principalul limbaj de scriptare in ziua de azi, insa Microsoft promoveaza VBScript ca alternativa si, gratie milioanelor de programatori in Visual Basic, probabil ca VBScript se va dovedi de asemenea popular pentru aceasta comunitate.
Partea de server a cadrului de lucru al aplicatiilor pentru Web consta din serverul Web in sine, alaturi de extensiile la software-ul serverului. Aceste extensii pot lua diverse forme si pot fi intrebuintate cu multe tehnologii.
Servere
Serverul Web raspunde de tratarea cererilor pentru documente HTML de la clienti si returnarea lor pentru vizualizare. Software-ul serverului este o aplicatie care ruleaza pe un calculator ce recunoaste protocolul TCP/IP. Dintre serverele cele mai raspandite astazi fac parte Netscape Enterprise Server (NES), Microsoft Internet Information Server (IIS) si Apache.
Extensii pe parte de server
In sine, serverul Web ofera clientului pagini HTML statice, atunci cand i se solicita, si executa o multime de alte functii. Cateva extensii ale serverului asigura totusi capacitati pe care serverul in sine nu le recunoaste, printre care CGI, API pentru servere, JavaScript si Java.
CGI
Common Gateway Interface (CGI) este actuala modalitate standard de stabilire a interfetei intre programe externe si servere Web. Folosind CGI, se pot executa pe server programe sau scripturi CGI, pentru a genera continut creat dinamic care sa fie afisat utilizatorului. Un scenariu tipic este generarea unei cereri de un formular HTML, care dupa aceea este expediata serverului. Cererea ruleaza programul sau scriptul CGI care se afla intr-un director special pe server. CGI proceseaza cererea, apoi intoarce un document HTML care contine rezultatul.
Se poate scrie un program CGI folosind orice limbaj de programare - Java, C++, Visual Basic sau PHP - atata timp cat acesta poate fi executat pe serverul Web. Cei care lucreaza in UNIX obisnuiesc sa scrie scripturi CGI in limbaje de scriptare ca Perl, sau intr-un program de tip Shell UNIX.
API pentru servere
O alta modalitate de integrare cu serverul este prin intermediul interfetei native pentru programele de aplicatie (API). Doua dintre cele mai folosite interfete API pentru servere Web sunt Netscape Server API (NSAPI) Microsoft Internet Server API (ISAPI). Folosirea API asigura o integrare mai stransa cu serverul. De exemplu, cei care lucreaza in Windows vor crea un fisier cu extensie DLL care este accesat de server, nu un fisier cu extensie EXE separat.
Avantajul utilizarii de interfete API pentru servere este eficienta mai mare decat in cazul programelor CGI. CGI necesita ca o instanta separata a programului sa fie executata pentru fiecare cerere sau inaintare a clientului, ceea ce este mai costisitor si, in acelasi timp, limiteaza volumul datelor ce pot fi partajate.
Dezavantajul folosirii unui API particular pentru server este ca solutia este specifica acelui unic server. Fisierul DLL pentru ISAPI nu va functiona cu un server Netscape. Daca de lucreaza in principal cu unul din aceste servere, atunci aspectul negativ al limitarii mentionate este minimizat.
JavaScript pe parte de server
O mare parte din atentia acordata pana acum limbajului JavaScript s-a datorat capacitatilor sale pe parte de client, dar JavaScript poate fi folosit si ca instrument de scriptare pe parte de server. Primul asemenea mediu a fost Netscape.
Mediul Netscape Server - Side JavaScript (SSJS) permite folosirea scripturilor pentru construirea aplicatiilor pentru Web controlate de serverul Netscape. Exista cateva extensii pe parte de server ale limbajului JavaScript care ofera capacitatile suplimentare de generare de HTML dinamic, de comunicare cu clientul, de accesare a fisierelor externe de pe server si de conectare la bazele de date SQL (LiveWire).
In plus, Microsoft recunoaste JScript in cadrul sau de lucru Active Server Pages, ca limbaj de scriptare pe parte de server.
Java
Java pe parte de server a pornit realmente in tromba prin lansarea tehnologiei JavaServer Pages (JSP) de catre compania Sun. JSP reprezinta concurenta pentru ASP si SSJS; acum, cand Sun si Netscape au format alianta iPlanet, este posibil ca JSP si SSJS sa fie cuplate intr-un singur mediu de tehnologie foarte puternic.
Aplicatiile de tip servlet sunt componente micute, asemanatoare controalelor ActiveX din mediul ASP, care sunt apelate pe masura ce paginile sunt construite sau pentru a construi pagini. Aceasta permite programatorilor sa aplice cunostintele de Java, care este un limbaj mai usor de invatat decat C, pentru a construi componente rapide si fiabile, independente de platforma, in vederea crearii de pagini.
Aplicatii pe parte de client
JavaScript se poate folosi pentru a dezvolta aplicatii intregi pe parte de client. Desi JavaScript nu este un limbaj atotcuprinzator ca Java, el ofera capacitati substantiale cand este vorba despre lucrul cu etichete HTML si obiecte asociate. Una dintre cele mai cunoscute aplicatii JavaScript este hIdaho Design's ColorCenter. Aceasta aplicatie JavaScript se poate folosi pentru a selecta culori asociate browserului si pentru a le previzualiza intr-un cadru separat. Incercarea de a proiecta o asemenea aplicatie folosind Java ar fi mult mai complexa, din cauza interactiunii necesare cu HTML. In anumite cazuri, JavaScript ofera baza de programare ideala pe care sa se dezvolte aplicatia.
Validare de date
JavaScript ofera programatorilor in Web o modalitate esentiala de validare a datelor provenite de la utilizator, fara a mai trece pe la server. In interiorul programului JavaScript, se poate determina daca valorile introduse de utilizator sunt valide sau corespund formatului corect. JavaScript este o metoda de validare mult mai eficienta decat expedierea valorile nedefinite pentru a fi prelucrate de un server. Nu numai ca procesul este mai eficient pentru utilizatorul care introduce datele, dar este preferabil si pentru server. Pana ce datele sunt transferate serverului pentru prelucrare, se poate asigura ca au fost definite intr-o stare corespunzatoare pentru a fi inaintate.
Creare de formulare interactive
O alta intrebuintare frecventa pentru JavaScript este animarea formularelor HTML. O parte din aceasta sarcina poate include validarea datelor si caracteristici suplimentare care u sunt disponibile cu HTML simplu, cum ar fi oferirea de informatii utilizatorului pe bara de stare, deschiderea unei ferestre de browser secundare pentru asistenta etc.
Tabele de cautare pe parte de client
Pe langa validarea datelor, o alta modalitate de minimizare a necesitatii accesarii serverului este folosirea limbajului JavaScript pentru a genera si a intretine tabele de cautare pe parte de client. Datele trebuie insa inglobate chiar in documentul HTML, asa ca va trebui sa se limiteze utilizarea tabelelor de cautare la baze de date mici, protejate la scriere.
Pastrarea starii
In mediul fara stare al Web-ului, se utilizeaza JavaScript pentru a se pastra starea in schimburile dintre client si server. Pastrarea starii se realizeaza mai ales prin intermediul fisierelor cookie (informatii despre client stocate pe browser); JavaScript ofera o modalitate de a stoca si a recupera fisierele cookie despre client.
Lucrul cu miniaplicatii Java, Controale ActiveX si module plug-in
Pe masura ce limbajul JavaScript este imbunatatit, ii sporesc capacitatile in lucrul cu extensiile pe parte de client, adica miniaplicatiile Java, controalele ActiveX si modulele plug-in Netscape. Se pot accesa proprietatile unui obiect Java sau ActiveX si sa i se execute metodele sau se poate determina daca un anumit modul plug-in este instalat. Intrucat aceasta capacitate este imbunatatita, JavaScript va deveni liantul care tine laolalta HTML, miniaplicatiile si extensiile pe parte de client.
Recunoasterea limbajului JavaScript de catre browsere
Comparativ cu alte aplicatii, browserele sunt software-uri relativ simple, dar ele evolueaza in aplicatii mai puternice pe masura ce tehnologia Web se maturizeaza. Un browser este fereastra spre Web; de aceea, indiferent care ar fi potentialul limbajului JavaScript, acesta nu slujeste la nimic daca nu este recunoscut de browser.
Deoarece JavaScript este un limbaj interpretat si inglobat in documentele HTML, functionarea sa este complet dependenta de software-ul browser. Daca se foloseste un browser vechi, acesta nu va sti cum sa procedeze cu programul JavaScript si-l va ignora.
Netscape Navigator
La mijlocul anilor '90, Netscape a devenit probabil cea mai importanta companie independenta din industria Web, lansand prima pe piata multe realizari tehnologice importante si aliindu-se cu alti lideri in domeniu - de exemplu, Sun - pentru impinge limitele tehnologiei pe mai multe fronturi in Web.
Evident, deoarece Netscape a dezvoltat JavaScript, era de asteptat ca browserul sau Navigator, care a cunoscut un succes fenomenal, sa recunoasca limbajul de scriptare. Navigator 2.0 a fost primul browser care a recunoscut JavaScript. Versiunile ulterioare au oferit imbunatatiri importante ale limbajului in sine. In prezent, Navigator a fost transformat in Mozzila.org, zona Open Source a lui Netscape, si sigur programatorii din toata lumea vor continua sa-l faca implementarea cea mai de succes.
Microsoft Internet Explorer
Microsoft Internet Explorer 3.0 a fost primul browser non-Netscape care a recunoscut JavaScript. Versiunile mai vechi de Internet Explorer nu recunosc JScript, implementarea limbajului JavaScript realizata de Microsoft.
JavaScript nu este singurul limbaj de scriptare disponibil pentru Web. In prezent, in aceasta arena se gasesc doi concurenti: JavaScript/JScript si VBScript. Cele doua limbaje au incetat aproape complet sa se mai concureze; in ultima vreme se pare ca ele se completeaza reciproc.