Una din facilitatile cheie ale arhitecturii Internet este distribuirea procesarii informatiei pe baza programelor mobile. Programele de navigare web, executate la nivel de statie de lucru, pot nu numai sa vizualizeze pagini web si sa execute tranzitia catre alte resurse, dar pot si sa activeze programe la nivel de server, sa le interpreteze si sa le lanseze în executie, dupa cum cere documentul web care este deschis. Aceste programe sunt transferate împreuna cu documentul web curent de pe serverul web. Acest tip de procesare distribuita a informatiilor asigura concentrarea întregului sistem al aplicatiei la nivel de server web.
Exista trei tipuri mari de programe care pot fi asociate unui document web si transferate catre o statie de lucru în vederea executiei:
Applet-uri Java, pregatite si executate de tehnologia Java;
Programe scrise în diverse limbaje de scripting (JavaScript, VBScript, VRML, etc);
Componente ActiveX, legate de tehnologia ActiveX.
Faptul ca exista o astfel de varietate de programe mobile poate fi explicata atât prin capacitatile si functionalitatile diferite c 545g61f ât si prin competitia dintre marile companii dezvoltatoare de aplicatii (Sun Microsystems, Microsoft, Macromedia etc.).
Java a fost creata de Sun Microsystems la începutul anilor 1990, ca raspuns la cererea acuta de programe orientate înspre utilizare în mediul de retea si integrate cu tehnologia Web. Forta conducatoare din spatele tehnologiei Java consta în combinarea cererii de mobilitate si independenta de hardware si sisteme de operare, cu siguranta si eficienta procesarii informatiei. Ca rezultat, a fost dezvoltat limbajul Java, iar tehnologia integrata care presupune crearea si utilizarea de programe mobile este cunoscuta sub denumirea de tehnologie Java.
Java este un limbaj de programare simplu, orientat-obiect, construit pe baza limbajului C++, din care au fost eliminate unele facilitati care nu au fost considerate necesare, în timp ce au fost adaugate altele, care sa ofere siguranta si eficienta pentru calcula distribuit. Multe din aceste facilitati au fost împrumutate din limbajele Objective C si Smalltalk. Atât dezvoltarea modulara a programelor, implementata în limbaj cât si simplitatea însasi a limbajului permit nu numai dezvoltarea rapida de noi programe, ci si actualizarea aplicatiilor scrise si testate anterior în Java. Pe lânga elementele standard de limbaj, Java cuprinde o serie de biblioteci utile, din care se pot construi aplicatii de orice complexitate. De asemenea, setul standard de biblioteci poate fi oricând suplimentat cu functii noi importante.
Programele Java create pentru
executia pe statii de lucru în mediul de executie al unui
browser web sunt numite applet-uri Java, sau applet-uri. În
concordanta cu natura sa proprie, fiecare applet reprezinta un
mic program în care trebuie specificate anumite functii în mod
obligatoriu. Applet-ul este încarcat de pe server prin retea si
executat în mediul de lucru al browser-lui, conform figurii urmatoare.
Applet-urile nu sunt cuprinse în documentele web, ci sunt stocate în
fisiere separate pe server, fiind descarcate numai daca
documentele web au specificate tag-uri speciale pentru acest lucru (tag-ul <APPLET>
Figura : Transferul si executia applet-urilor Java.
Independenta byte-code a Java de platforme hardware si software este posibila prin implementarea unei aplicatii numite "procesor virtual Java", creat pentru interpretarea applet-urilor pe fiecare din aceste platforme.
Programele de tip Java byte-code au urmatoarele facilitati:
acestea pot fi interpretate si compilate "on the fly" sau "din zbor", direct în cod-masina pentru orice platforma hardware existenta;
marimea comenzii din byte-code este redusa la minimum prin reducerea complexitatii si marimii applet-urilor Java, în comparatie cu orice alte programe;
fiecare byte-code al programelor contine informatii complete despre program, permitând testarea în vederea sigurantei executiei.
Compilarea "din zbor", cunoscuta si sub numele de compilare dinamica, se refera la conversia applet-urilor Java în codul masina nativ de executie al statiei de lucru, chiar înainte de executie. Dupa conversie, aceste programe pot fi executate ca si programe native. Aceasta compilare dinamica utilizeaza un compilator specializat în locul unei masini virtuale, accelerând viteza de executie a applet-urilor. Cu toate acestea, sunt pierdute anumite masuri luate pentru siguranta procesarii informatiilor, de aceea compilarea dinamica a applet-urilor Java în interiorul browser-elor web nu se practica.
Nu numai applet-urile, adica aplicatiile mobile, pot fi scrise în limbajul Java, ci si aplicatii statice. Pentru a obtine un nivel mai înalt de performanta, codul sursa al programelor se compileaza nu în byet-code, ci în cod dependent de masina, care permite executia directa de catre procesor.
Astazi exista o multime de instrumente de dezvoltare pentru crearea atât a applet-urilor Java, cât si a aplicatiilor Java. Printre acestea se numara Microsoft Visual J++, Borland Jbuilder, Sun Microsystems Java Workshop etc.
Tehnologiile pentru dezvoltarea programelor mobile bazate pe utilizarea limbajelor de scripting au aparut si s-au dezvoltat în paralel cu tehnologia Java. Cea mai importanta diferenta între tehnologiile sau limbajele de scripting si Java este interpretarea comanda-cu-comanda a sursei programelor de scripting, ceea ce nu face necesara compilarea în byte-code, în vederea executiei. În acest caz, functia de interpretare a codului este realizata de catre browser-ul web.
Natura limbajelor de scripting, numite de asemenea si macro-limbaje, faciliteaza depanarea si dezvoltarea programelor scrise cu ele. Printre principalele limbaje de scripting create în vederea dezvoltarii de programe mobile se numara:
JavaScript, dezvoltate în colaborare de Netscape si Sun Microsystems;
VBScript, dezvoltat de Microsoft pentru utilizarea în Internet Explorer;
Virtual Reality Modeling Language (VRML), dezvoltat de Silicon Graphics;
Flash ActionScript, realizat de Macromedia pentru realizarea interactivitatii cu obiectele Flash.
JavaScript a fost dezvoltat initial de Netscape si a aparut pentru prima data în browser-ul web Netscape Navigator 2.0 sub denumirea de LiveScript. Dupa începerea colaborarii cuSun Microsystem si apropierea sau trecerea sub influenta Java, limbajul s-a numit JavaScript. JavaScript nu este un limbaj derivat din Java si, cu toate ca au în comun unele atribute, ele pot fi numite doar rude îndepartate. O comparatie între Java si JavaScript se poate observa si în tabelul urmator:
Java |
JavaScript |
Programul trebuie compilat în byte-code pentru a se putea executa la nivelde client |
Programul este interpretat la nivel de client în forma initiala, bazata pe text |
Este orientat obiect. Applet-urile constau din obiecte descrise cu ajutorul claselor si mostenirii |
Bazat pe obiecte. Nu exista clase pentru mecanismul de mostenire |
Applet-urile sunt apelate de catre paginile web, dar sunt stocate separat de acestea, în fisiere individuale |
Programele sunt apelate de catre paginile web si pot fi construite atât direct în documentele web cât si separat de acestea |
Toate tipurile de date si variabilele trebuie declarate înainte de utilizare |
Tipurile de date si variabilele nu trebuie declarate |
Legare statica. Legaturile dintre obiecte trebuie sa existe în momentul compilarii |
Legare dinamica. Legaturile dintre obiecte sunt verificate în timpul executiei |
Applet-urile nu pot scrie pe disc sau executa functii sistem |
Applet-urile nu pot scrie pe disc sau executa functii sistem |
Tabelul : Comparatie între Java si JavaScript.
JavaScript este un limbaj simplificat, interpretat, bazat pe functii orientate-obiect. Simplitatea i se datoreaza lipsei rigiditatii arhitecturii de tipuri si a semanticii. Natura orientata-obiect se manifesta prin abilitatea de a opera cu fereastra browser-ului, cu bara de stare sau cu alte unitati ale interfetei browser-ului web sau cu alte obiecte din ierarhie. JavaScript nu este atât de bogat ca si limbajul Java, dar este mult mai usor si mai eficient în realizarea unor sarcini legate de procesarea documentelor Web sau pentru interactiunea cu utilizatorul în momentul vizualizarii paginilor. Având o multime de functii la dispozitie, JavaScript poate lucra cu ferestre de dialog, executa calcule matematice, produce noi documente, gestiona apasarea pe butoanele din ferestre etc. Iar tot cu ajutorul JavaScript se pot seta o serie de atribute si proprietati ale modulelor (plug-in-urilor) care sunt utilizate de catre browser-ul web.
Comenzile JavaScript sunt scrise direct în pagina web si sunt executate de catre browser în timpul încarcarii acesteia sau în timpul operatiilor specifice executate de utilizator în timpul interactiunii cu pagina web (de exemplu, apasarea unui obiect din pagina, pozitionarea cursorului de mouse pe un anumit obiect sau introducerea de date în formulare). La fel ca si în orice alt limbaj, siguranta procesarii informatiilor este prioritara. JavaScript, desi nu este considerat a fi un limbaj cu un grad înalt de securitate, întruneste cele mai multe cerinte prin ne-includerea în limbaj a unor functii care ar fi dus la vulnerabilitati. La fel ca si applet-urile Java, programele scrise cu JavaScript nu pot executa operatiuni cu fisiere si nu suporta functii de retea. Un program scris în JavaScript nu poate, de exemplu, sa deschida un port TCP/IP si este capabil numai sa încarce obiectele la adresele indicate si sa formeze datele care vor fi transferate catre server. Browser-ele moderne permit utilizatorilor sa seteze diferite niveluri de securitate, astfel încât programele scrise în JavaScript sa se concentreze numai asupra unui interval îngust de informatii.
JavaScript si-a cîstigat popularitatea prin faptul ca programele se pot dezvolta rapid, acestea sunt mici si ofera acces simplificat la functiile oferite de catre browser-ul web. Principalul dezavantaj al JavaScript este rata mica de executie, datorata naturii interpretate a limbajului.
Trebuie sa notam faptul ca Netscape si Microsoft au implementat JavaScript în mod diferit, aceste discrepante putând avea ca rezultat incompatibilitatea utilizarii programelor realizate pentru Nescape în Internet Explorer si invers. Pentru a elimina aceste neplaceri, este necesar sa se verifice facilitatile oferite de diverse programe de tip browser web.
VBScript (Visual Basic Script) este similar cu Java în multe privinte. VBScript este un subset al Visual Basic, fiind de asemenea orientat pentru programarea paginilor web la nivel de client. Cu VBScript se pot utiliza obiecte diverse, inclusiv obiecte scrise în alte limbaje.
ActiveX reprezinta un set de tehnologii de la Microsoft care se concentreaza asupra integrarii si unificarii metodelor de reprezentare si procesare a informatiilor din retele de calculatoare, construite în concordanta cu arhitectura web. Ideea principala a tehnologiei ActiveX consta în mijloacele identice de a accesa informatii din retea, în care tehnologia web a fost selectata ca baza pentru unificarea acestor mijloace de acces.
Potrivit filosofiei ActiveX, browser-ul web ar trebui sa devina parte integranta a sistemului de operare. Mai mult, metodele de obtinere a accesului la orice informatii din calculator, de pe serverul local, din reteaua locala sau din Internet, ar trebui sa fie absolut identice si transparente pentru utilizator. Acest concept a fost implementat în browser-ul Microsoft Internet Explorer înca de la versiunea 4.
Figura : Acces uniform la resursele din retea.
Din punct de vedere al mobilitatii programelor, tehnologiile ActiveX reprezinta o alternativa la tehnologiile Java si JavaScript, fiind în acelasi timp si o modalitate de suplimentare a acestora din urma. ActiveX ofera nu numai posibilitatea dezvoltarii si executiei de programe mobile, ci implementeaza si un numar de posibilitati alternative, facând posibila, de exemplu, apelarea unor functii pentru vizualizarea si editarea documentelor Word, Excel, PowerPoint direct din mediul de lucru al browser-ului.
Dynamic HTML (DHTML) este doar HTML simplu în care au fost adaugate cîteva elemente împreuna cu modalitatea de acces la ele prin intermediul limbajelor de scripting. Noile elemente permit control precis al layout-ului paginii, în timp ce noul model obiectual permite manipularea acestor elemente prin intermediul scripturilor client/server si server/side.
Deoarece HTML a fost creat pentru layout-uri "curgatoare", nu exista control asupra modalitatii de asezare a texului si a imaginilor si înainte ca paginile sa fie vizualizate pe o multime de platforme si masini diferite, care sa aiba ecrane si fonturi de tipuri diferite.
Mai târziu au fost adaugate tag-urile <table> si <font> care au permis un control mai riguros asupra asezarii în pagina si a stilurilor de afisare, dar si acestea au limitarile lor. Chiar si JavaScript, care permite manipularea prin programare a elementelor paginii, precum imagini sau a câmpurilor din formulare, are anumite limitari.
DHTML a adaugat elemente care permit controlul precis al layout-ului paginii:
foile de stiluri: permit definirea de stiluri diferite pentru prezentarea texului, precum culori, marimea marginilor, fonturi etc;
pozitionarea continutului: permite determinarea cu exactitate a pozitionarii elementelor de continut în fereastra browser-ului. Elementele se pot suprapune, pot fi ascunse sau pot fi mutate în mod dinamic;
fonturi descarcabile: presupun ca va fi utilizat fontul care este ales pentru text, chiar daca fontul nu este disponibil pe masina client.
Document Object Model (DOM) defineste atât proprietatile diferitelor elemente ale paginii, cât si metodele de utilizare pentru modificarea acestora, prin utilizarea limbajelor de scripting putându-se modifica în mod dinamic continutul paginii (de exemplu pot fi aplicate diferite schimbari în functie de tipul de browser utilizat sau în functie de actiunile utilizatorului).
Trebuie sa notam faptul ca toate companiile producatoare de software de navigare pe Internet ofera suport pentru DHTML, dar acesta difera de la browser la browser.
|