CATEGORII DOCUMENTE |
Arhitecturi pentru aplicatii Internet
Modelul standard pentru aplicatii in retea este client-server. Serverul este un proces asteptand sa fie conectat de un proces client pentru a oferi diverse servicii (acces la resurse). Resursele pot fi fisiere, structuri de date, informatii diverse sau resurse fizice ca imprimante, fax-uri, scannere, etc. Serverii si clientii sunt aplicatii care se pot executa oriunde in retea. Deplasarea in proiectarea aplicatiilor de la un sistem proprietar constituit in mare parte in jurul unui mainframe cu multe terminale, la un sistem deschis compus din multe servere de dimensiune mijlocie si workstations client inteligente s-a facut in urma adoptarii tehnologiei client-server.
In ultima perioada, tehnologia client-server se aplica din ce in ce mai mult si in Web. Dupa cum s-a mentionat, Web-ul la ora actuala este format din situri Web cu mii de pagini HTML de text si grafica si pentru interactivitate, formulare. Desigur, aceste situri devin asa de mari incat necesita management, analiza de sistem, etc, ca la sistemele normale de calcul. Aplicatiile client-server care se dezvolta in prezent in Web, spre deosebire de cele normale, care implica servere (mainframe) Unix cu statii cu interfata GUI scrisa intr-un limbaj, folosesc un browser ca mediu de executie. Astfel, in loc sa se scrie interfete GUI pentru fiecare masina sau sistem de operare (Unix, OS/2, Windows, Sparc, Intel, etc), se include codul client in browser (Netscape), urmand ca browserul sa rezolve problemele de compatibilitate. In acest fel se rezolva si problemele de compatibilitate de protocoale de comunicatie intre client si server, folosindu-se TCP/IP din Internet, serverul putand fi orice server Web, Ftp, etc.
O arhitectura simpla de aplicatie Internet/Web este prezentata mai jos si cuprinde modul standard de dispunere pentru organizarea si accesarea documentelor HTML din World Wide Web.
|
Utilizatorii de Web vad in paginile HTML, pline de text, grafica, multimedia posibilitatea de a face salturi prin intermediul legaturilor si deci gandesc ca "executa" o aplicatie. Proiectantii de aplicatii client-server traditionale, vad in paginile HTML fisiere fara cod de executat, deoarece informatiile din HTML pot fi regasite dar cele din diverse baze de date nu. Cu alte cuvinte fluxul de informatii este unidirectional, de la Web sa browserul client.
Utilizarea formularelor in paginile HTML, permite cum s-a mai spus un grad de interactivitate, in sensul formularii unor cereri si primirii de raspuns tot in pagina HTML Un formular este in general o suita de text field-uri, radio buttons, scroll bars, list-boxes care trebuie completate, protocolul HTTP le trimite la server, sunt interpretate si se activeaza un program CGI (Common Gateway Interface), care va trimite eventual inapoi un raspuns, formatat HTML.
document HTML World Wide Web Browser Web useri Server Web
document HTML cu
formulare cerere URL, date formular
|
De mentionat ca programele de aplicatie pentru formulare se gasesc pe acelasi server (in general) cu paginile HTML ce le acceseaza. De asemenea ele sunt scrise rareori in C, de cele mai multe ori in Perl, Tcl, etc. Acest tip de mediu de aplicatie este destul de raspandit in momentul actual in Web.
Dar, acest mediu de aplicatie tinde sa fie inlocuit de mediul Java, in care codul Java este adus pe masina client odata cu pagina HTML si executat local. Se elimina traficul de comunicatie dintre client si server (cu eventuale congestii pe server), scrierea de programe in limbaje mai putin familiare ca Perl. Problema care se pune este ce fisiere baze de date sa acceseze codul Java : numai de pe masina locala, din retea, etc. Evident apar probleme de securitate, daca baza de date este partajata si accesata de mai multi utilizatori (caz in care ea va fi gestionata pe un server).
Elementele principale care trebuie avute in vedere la dezvoltarea unei aplicatii Web/Internet sunt :
integrarea e-mail, FTP, HTML
securitatea
unelte vizuale cat mai variate pentru utilizatori
rezolvarea problemelor de configurare, versiuni, management
performanta
???
World Wide Web Browser Java document HTML cu applet useri
Server Web
|
document HTML cu applet applet Java
Trebuie ca browserul sa fie capabil sa incarce cod Java (appleturi). Userul acceseaza o pagina HTML si o aduce pe masina sa. Daca pagina contine tagul APP (se refera la un applet Java, localizat oriunde in Web), appletul este incarcat si el pe masina client si executat local in mediul browser.
In viitor, appleturile vor putea proveni nu numai de la Java, ci si de la Visual Basic,
Smalltalk, etc. Executia lor se va putea face downloadand exetensii plug-in pentru ca browserele sa poate executa diversele tipuri de cod. La acest moment, Netscape de exemplu, are plug-inuri pentru Java si capabilitati de multimedia.
Integrarea e-mail, FTP, HTML inseamna efectuarea de activitati specifice Web-ului in timp ce se executa o aplicatie client-server : trimiterea unui mesaj prin e-mail, regasirea unei pagini de HTML, etc. Un exemplu de aplicatie de includere/adaugare de capabilitati de Web este Internet-Assistant de la Microsoft adaugata Microsoft Word si Powerpoint.
Securitatea este una din problemele esentiale ale Internetului si ale aplicatiilor client-server in general. Un prim nivel este cel asigurat de browser, prin protocoale ca SSL si S-HTTP. Astfel, cele mai multe din aplicatiile client-server din Internet includ o parola si mecanisme de protectie a fisierelor pentru determinarea autorizarii utilizatorului in invocarea unor functionalitati sau accesarea unor date. Cele mai multe din aplicatii interactioneaza cu browserul pentru criptarea/decriptarea transmisiilor intre statia userului si server. Acest lucru va apare in clar sub forma unor mesaje de avertisment. Dar, un al doilea nivel exista deja si este cel al limbajului de programare sau al plug-in-urilor ce interpreteaza bytecode-urile appleturilor in mediul Web. Java are mecanism de verificare a securitatii in motorul de run-time, pentru a se putea vedea daca appleturile downloadate pe masina client nu au fost alterate. Microsoft a dezvoltat "semnaturile digitale" tot pentru verificarea corectitudinii appletului incarcat pe masina de la o anumita sursa) nu a fost schimbat de un hacker in timpul transmisiei). Se poate include in aplicatii un pachet ca PGP (pretty good privacy program), destul de folosit in criptarea transmisiei e-mailului, pentru securitate cu un sistem public de chei. De exemplu, in urma unui atac poate fi schimbat ceva in comanda SUBMIT dintr-o pagina HTML cu formular pentru a trimite informatii false sau poate fi schimbat chiar appletul Java cu unul propriu, pentru a ataca serverul.
O caracteristica a editoarelor de pagini Web este integrarea lor cu cele de Word. Astfel, o interfata user-friendy, vizuala, cu drag-and-drop, care sa permita grafica, formulare, multimedia, etc este comuna la majoritatea editoarelor (HoTMetaL, Internet Assistant for Word), etc. Versiunile ulterioare vor trebui sa cuprinda si editarea de cod (de exemplu, Java), pentru crearea de elemente grafice )butoane, meniuri, etc)
O alta problema este aceea a managementului. Din cauza legaturilor hypertext la diverse URL-uri din alte pagini, situatia poate scapa de sub control. Astfel, s-a impus o validare a link-urilor pentru organizatii ce cuprind mii de pagini HTML in siturile lor Web. Situatia devine mai complicata cand se folosesc scripturi CGI pentru conectarea la programe back-end sau userul are posibilitatea de aducere a unor appleturi pe masina sa. O aplicatie cu un numar mare de appleturi sau componente trebuie supusa la controale de configurare si versiune severe.
Din cele prezentate, fazele dezvoltarii unei aplicatii Internet pot fi :
analiza initiala nu implica nici un limbaj. Este o analiza clasica CASE cu implicatii SQL sau Web
ca front-end este folosit un browser iar comunicatia este cea din Internet, dar aplicatia trebuie sa raspunda la evenimente : cereri, actiuni ale clientului. Tehnica cea mai frecvent utilizata este bazata pe modelarea orientata-obiect.
partitionarea datelor si codului (obiectelor) implica decizii privind ce componente vor fi pe server si ce componente la client. Aceasta partitionare are unele aspecte particulare fata de o aplicatie client-server normala, deoarece timpul de transmisie este imprevizibil (poate fi oricat de mare). De exemplu, viteze de modem de 14.4 kbps, incetinesc performanta generala a aplicatiei. De aceea, transmisia intre server si client trebuie mentinuta la minimum. mai trebuie avut in vedere si viteza de executie a unui cod Java care este cam de 30 de ori mai mica decat a unui cod similar C++. Daca ne referim la marimea codului ce trebuie incarcat, trebuie spus ca un applet Java poate fi in medie de 30-50k, in timp ce incarcarea unei pagini Web ce contine o aplicatie Java compilata poate duce la 500k. Un alt aspect este daca aplicatia sa aiba un caracter static sau dinamic, in sensul rezidentei pe masina client si server, decizie care este cea mai dificila (de exemplu ce applet trebuie downloadat sau nu)
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1272
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved