Afaceri | Agricultura | Economie | Management | Marketing | Protectia muncii | |
Transporturi |
TEHNOLOGII SI INSTRUMENTE INFORMATICE UTILIZATE IN DEZVOLTAREA APLICATIEI
1. World Wide Web
World Wide Web (sau mai simplu WEB sau WWW) este un context arhitectural pentru accesul la documente raspandite pe mii de masini din Internet, intre care exista legaturi.Din punct de vedere al utilizatorului, WEB-ul se prezinta ca o colectie imensa de documente raspandite in toata lumea, numite pagini. Fiecare pagina poate sa contina legaturi (indicatori) la alte pagini, aflate oriunde in lume. Utilizatorii pot sa aleaga o legatura (de exemplu prin executia unui click) care ii va duce la pagina indicata de legatura. Acest proces se poate repeta la nesfarsit, fiind posibil sa se traverseze in acest mod sute de pagini legate intre ele.
Paginile Web sunt vizualizate pe calculatorul client cu ajutorul unui program special numit browser. La inceput, Web-ul consta numai din pagini de text, fara nicio imagine. In prezent, cel mai popular navigator web este Internet Explorer, urmat de Mozilla Firefox, Safari, Opera si Netscape.
Programul de navigare aduce pagina ceruta, interpreteaza textul si comenzile de formatare continute in text si afiseaza pagina, formatata corespunzator, pe ecran. Sirurile de caractere care reprezinta legaturi la alte pagini se numesc hyperlegaturi si sunt afisate in mod diferit, fiind subliniate si/sau colorate cu o culoare speciala. Desi exista programe de navigare fara interfata grafica, ca de exemplu Lynx, ele nu sunt atat de utilizate ca programele de navigare grafice.
Tehnologia folosita de World Wide Web este cea client-server, care presupune urmatoarele etape:
o Un calculator (clientul) formuleaza o cerere
o Cererea clientului este expediata unui server
o Serverul analizeaza aceasta cerere, o executa, formuleaza raspunsul si il expediaza clientului
o Clientul receptioneaza raspunsul la cererea solicitata
2. Baze de date online - principii de functionare
Plasarea pe Internet a unor colectii complexe de informatii presupune stocarea acestora in baze de date care pot fi apoi accesate on-line de catre utilizatori. Termenul de baza de date poate fi usor inselator deoarece in realitate sistemul care face vizibila aceasta baza de date pe Internet este mult mai complex.
Orice baza de date care ofera informatii utilizatorilor de servicii Internet trebuie stocata pe un server care este vizibil pe Internet si sa foloseasca o tehnologie de scripting. Informatiile din baza de date trebuie extrase in conformitate cu nevoile specifice ale utilizatorului si apoi formatate astfel incat sa fie corect afisate. Spre exemplu, cand cineva scrie cuvantul "Romania" pe motorul de cautare google.com sistemul va prelua solicitarea din formularul de cautare, va cauta in baza de date elementele in care apare cuvantul "Romania" dupa care va formata aceste rezultate astfel incat ele sa poate fi afisate de un navigator precum Internet Explorer.
Figura 1 - Arhitectura serverului Web cu suport de scripting
Dupa cum se observa din figura 1 arhitectura sistemului este structurata pe mai multe nivele. In momentul in care utilizatorul extern doreste sa acceseze informatii situate pe server, el va folosi un navigator Internet pentru a se conecta la acesta. Accesarea serverul se face prin intermediul unui URL.
Elementele principale care intra in componenta arhitecturii serverului sunt: serverul Web, interpretorul de scripturi tip server-side, driverele de acces la baza de date, baza de date si colectiile de fisiere.
Serverul Web care este o aplicatie complexa responsabila pentru comunicarea cu navigatoarele externe. Practic serverul de Web asculta portul HTTP (implicit 80) al masinii pe care este instalat. In momentul in care soseste o cerere pe acest port, serverul de Web o interpreteaza pentru a vedea ce informatii au fost solicitate. Informatiile solicitate de la server sunt de fapt fisiere care se afla pe hard-disc. Serverul de Web are rolul de a impacheta aceste fisiere astfel incat ele sa poata fi trimise mai departe.
Fisierele solicitate pot fi impartite in doua categorii:
Fisiere care contin informatii statice. Acestea se transmit mai departe catre navigatoare fara nici un fel de modificare. Fisierele statice sunt de obicei imagini, fisiere HTML, filme, documente oferite spre download, filme, animatii Flash etc.
Scripturi. Acestea sunt practic mici programe care se executa de catre un intepretor, trimitandu-se spre server-ul de Web doar rezultatul executiei lor. Principalul rol al acestor script-uri este de a genera in mod dinamic documente de tip HTML. Tehnica generarii dinamice a documentelor de tip HTML face posibila accesarea bazelor de date pe Internet.
In cazul in care un script are nevoie de inregistrari dintr-o baza de date acesta va interactiona cu acesta prin intermediul unui driver. El va executa in SQL o cerere la nivelul bazei de date. In urma executiei acestei cereri i se returneaza un cursor. Prelucrand acest cursor se genereaza cod HTML care odata ajuns la un navigator determina afisarea datelor dorite.
Driverele de acces la baza de date au menirea de a mijloci interactiunea dintre interpretorul de scripturi si baza de date propriu-zisa. Ele sunt instrumente software foarte specializate care de obicei nu sunt vizibile nici programatorului nici utilizatorului. Driverele sunt importante deoarece alegerea lor eronata afecteaza semnificativ performantele sistemului.
Baza de date consta dintr-un SGBD (sistem de gestiune a bazelor de date) relational care este fie instalat pe masina pe care se afla serverul Web, fie este accesibil prin retea sau Internet, fiind pe alta masina. Teoretic orice SGBD relational poate fi folosit pentru a stoca datele necesare unui server de Web. Practic, s-a observat ca SGBD-urile simple cum ar fi Fox Pro sau Access nu se preteaza pentru site-uri Web care sunt folosite intens. Pentru aplicatiile Web de dimensiune mare este nevoie de SGBD-uri de mare performanta capabile sa ruleze multe cereri simultan.
Principalele SGBD-uri folosite in aplicatiile Web sunt: MySQL, SQL Server si Oracle.
Tehnologii si componente utilizate
1.Triada MySQL + PHP + Apache
Crearea unui site web este o sarcina a carei dificultate variaza in functie de complexitatea site-ului vizat. Ideal ar fi sa se lucreze cu un program de editare HTML/PHP, de obicei de tipul WYSIWYG ('what you see is what you get' - ceea ce vezi este ceea ce obtii). Acest lucru faciliteaza crearea paginilor web prin adaugarea cu usurinta si in cunostinta de cauza a elementelor PHP/HTML de machetare si formatare vizuala a paginilor site-ului. Ulterior etapei HTML urmeaza abordarea unor aspecte mai subtile si implementarea unor functii extinse de rafinare a structurii atat vizuale cat si functionale precum: CSS, JavaScript, Java, XML,XSL,XHTML, PHP, etc
In dezvoltarea si implementarea aplicatiei am optat pentru avantajele oferite de triada Apache - server web, MySQL - server baze de date si PHP - limbaj de programare pentru server .
Internet-ul este in al treilea stadiu de dezvoltare, iar dinamic si interactiv sunt atributele esentiale ale oricarui site de succes.
PHP si MySQL reprezinta cea mai buna metoda actuala pentru crearea unor site-uri care folosesc baze de date. Aceasta combinatie a primit si titlul de "Database of the Year" la Webcon98.
MySQL este un server de baze de date mic si compact, ideal atat pentru aplicatii mici, cat si pentru dezvoltarea marilor proiecte. In afara faptului ca suporta standardul SQL (ANSI-92), poate rula pe mai multe platforme si permite sisteme multithreading pentru serverele Unix, ceea ce aduce o crestere importanta a performantei. Sub WindowsNT, 2000 sau XP, MySQL este lansat ca un serviciu, pe cand sub Windows95/98, ca un proces normal.
PHP este un limbaj de programare pentru server. Codul PHP poate fi integrat in interiorul codului HTML. Scriptul PHP va fi apoi procesat de catre server care va returna un fisier HTML. Acest tip de interactiune permite executarea unor operatii destul de complexe. Aplicatiile WEB reprezinta atat prezentul cat si viitorul, ele functionand pe baza unei arhitecturi client/server.
Aplicatiile realizate cu PHP si MySQL utilizeaza un singur client si anume browser-ul WEB. Limbajul de baza al browser-ului WEB este HTML. Acest limbaj dispune de o serie de tag-uri care descriu modul in care va arata o pagina WEB. Majoritatea prelucrarilor efectuate de aplicatiile Web au loc pe sever. O aplicatie specifica, numita server Web, va asigura comunicarea cu browser-ul. Un server de baze de date relationale stocheaza informatiile pe care le va accesa aplicatia. In final mai este nevoie de un limbaj care sa intermedieze interogarile ce apar intre serverul Web si serverul de baze de date. Acest limbaj va fi utilizat si pentru a executa anumite operatii asupra informatiilor care vin spre si dinspre serverul Web.
2. HTML
Un fisier HTML(Hyper Text Markup Language) este un fisier text cu extensia '.htm' sau '.html' continand pe langa text pur si instructiuni standard de machetare (web design).Efectul machetarii este vizibil in browserele de Internet (Internet Exlorer, Netscape Navigator,Opera,etc).Practic marcajele de tip HTML din cadrul documentului spun browser-ului cum sa afiseze continutul util al fisierului.
CSS
CSS reprezinta prescurtarea de la Cascading Style Sheets (denumirea oficiala a standardului). Un fisier CSS este un fisier text cu extensia '.css' definind stiluri pentru paginile HTML. Stilurile indica intr-un mod mult mai riguros decat atributele HTML cum sa afiseze browserul elementele componente ale unui document HTML (text, grafica, formulare, etc), oferind posibilitati mult superioare standardului HTML. Fisierele CSS permit stilizarea in bloc a documentelor HTML cu un efort semnificativ mai mic decat in cazul stilizarii elementelor de pagina in cadrul fiecarui document HTML in parte, prin intermediul atributelor tagurilor.
4. PHP
PHP, acronimul de la "PHP: Hypertext Prepocessor", este un limbaj de programare folosit cu precadere ca si limbaj scriptural server-side in generarea dinamica de continut Web. Modelul PHP implementeaza paradigma generarii dinamice de continut Web si a aparut ca alternativa necesara la traditionalele sisteme ASP/VBScript/Jscript al Microsoft-ului, JSP/Java al Sun Microsystems-ului si CGI/Perl.
In modelul PHP, structura unei pagini Web PHP este cea a unei pagini HTML care incapsuleaza pe alocuri cod PHP. Caracterul dinamic al unei pagini Web PHP este asigurat prin:
posibilitatea manipularii continutului paginii prin secventele incapsulate de cod PHP in structura de tag-uri a paginii, cod care poate insera text HTML direct in structura;
posibilitatea interpretarii datelor unui formular HTML
suport pentru intretinerea unei sesiuni, menita sa retina date intre doua cereri succesive de pagini catre acelasi server;
functii pentru transmiterea headere-lor HTTP pentru autentificare;
functii pentru setarea cookie-urilor;
posibilitatea redirectionarii cererilor de pagina;
librarii ce permit generarea, manipularea si trimiterea catre browser de imagini, animatii, PDF-uri;
interfata de conectare cu majoritatea SGBD-urilor;
interfata de conectare la un server de e-mail.
Principiul de functionare
Intr-un scenariu tipic de cerere de pagina Web venita din partea unui browser:
server-ul de Web "stie", prin configurarea sa si din extensia paginii cerute, ca pagina trebuie "preprocesata" de PHP anterior servirii acesteia catre browser;
PHP interpreteaza doar secventele incapsulate de cod PHP (delimitate de marcajele "<?php" si "?>") din pagina Web, secvente care pot completa dinamic pagina prin simple insertii de text in structura de tag-uri HTML a paginii (care este ignorata de preprocesor, dar reprodusa la iesire);
server-ul trimite browser-ului pagina pe care PHP i-o returneaza in urma interpretarii, pagina in format HTML.
Caracteristici :
sintaxa simpla, relaxata, usor de utilizat;
similitudinea sintaxei cu cea a limbajelor de programare structurata consacrate precum C si Perl ;
independenta de platforma: a fost portat pe toate sistemele de operare majore si interactioneaza cu majoritatea serverelor Web;
e open-source;
librarie open-source si extensibila de module: ofera suport pentru acces la API-ul Windows-ului, managementul proceselor pe sisteme de operare din clasa UNIX-ului, manipularea formatelor de comprimare ZIP/gzip/bzip2, generarea de documente in format PDF, Macromedia Flash, si multe altele;
eficienta: "scripting engine-ul Zend" din spatele limbajului este optimizat pentru timpul scurt de raspuns necesar aplicatiilor Web; poate chiar sa fie folosit ca si modul al server-ului Web, imbunatatind mai mult timpul de reactie;
interfata prietenoasa de conectare la o gama foarte mare de servere de baze de date;
incepand cu versiunea 4.0, detine suport minimalist pentru programarea orientata-obiect, suport devenit complet in versiunea 5.0;
Exemplu : fisierul de configurare al aplicatiei pe partea de utilizator config.inc.php(Anexa nr. 2).
5. MySQL
Fara o structurare a datelor in baze de date, nu ar exista o anumita ordine intre lucruri, gestiunea datelor devenind un lucru foarte greu, poate chiar imposibil. Bancile, universitatile si bibliotecile sunt doar trei exemple de organizatii care depind in mare masura de bazele de date si de gestiunea acestora. Pe Internet motoarele de cautare, procesele de cumparaturi on-line, si chiar conventiile de denumire a tuturor site-urilor Web sunt activitati care nu s-ar putea desfasura fara utilizarea bazelor de date.
Un Sistem de Gestiune a Bazelor de Date sau SGBD (in limba engleza DBMS - Data Base Management System) reprezinta un ansamblu de programe pentru gestiunea datelor sau un mediu de programare destinat gestiunii datelor din baza de date, care asigura incarcarea bazei de date, actualizarea si interogarea acesteia, interfata cu sistemul de operare in vederea simplificarii accesului la date.
Un sistem de gestiune a bazelor de date care este implementat pe calculator si care gestioneaza interfata cu aceste date, formeaza ceea ce se numeste un server de baze de date.
Arhitecturii client-server realizata de perechea de aplicatii browser - server de web (de obicei Internet Explorer - IIS, Apache) i se adauga inca o pereche de aplicatii, script asociat formularului - server de baze de date. In acest tandem scriptul asociat formularului (scris in PHP, C, C++, Perl, etc) este client, iar serverul de baze de date (MySQL, Oracle, etc) are rolul de server. Scriptul formuleaza comenzi SQL, iar serverul SQL le executa.MySQL este un sistem de gestiune a bazelor de date relationale foarte rapid si robust, fiind cel mai popular din clasa sa. MySQL Server a fost creat pentru a lucra cu baze de date mai rapid decat solutiile deja existente la ora actuala pe piata. Serverul MySQL controleaza accesul la datele utilizatorului, accesul este permis mai multor utilizatori autorizati. MySQL este un server multi-user si multi-thread si utilizeaza limbajul standard de interogare a bazelor de date (SQL - Standard Query Language).
Popularitatea MySQL se datoreaza in primul rand multiplelor facilitati oferite de acesta, dintre care vom aminti:
viteza de executie
usurinta in utilizare
accesul concurent la date de catre un numar nelimitat de utilizatori
conectivitatea si securitatea
distributia libera
Distributia MySQL include urmatoarele un server SQL, programe client pentru accesul la server, biblioteca client.
MySQL este un sistem client-server alcatuit dintr-un server SQL multi-thread care are facilitati pentru mai multi utilizatori, mai multe programe si biblioteci client, instrumente de administrare si un numar mare de interfete de programare. Server-ul de baze de date este un program localizat pe calculatorul responsabil cu stocarea datelor, care asculta cererile clientilor sosite prin retea si obtine acces la continutul bazei de date in functie de aceste cereri, in scopul de a furniza clientilor informatiile solicitate. Clientii reprezinta programe care se conecteaza la server-ul de baze de date si efectueaza interogari pentru a-i indica acestuia informatiile pe care le doresc.
Avand in vedere ca MySQL suporta o gama variata de produse software, exista posibilitatea ca multe din limbajele de programare deja folosite de anumiti utilizatori sa suporte deja interfata cu acest produs.Orice masina care doreste sa proceseze interogari asupra unei baze de date MySQL trebuie sa ruleze MySQL server - MySQLd -, care este responsabil de tot traficul de tip "incoming" sau "outgoing" cu baza de date. Ca orice server, MySQLd primeste pe un port particular (3306) eventualele cereri de conexiune ale unui client care trimite cereri catre o baza de date via MySQLd. Acest client poate fi un script in PHP care, gratie modelului DBI, poate trimite o cerere catre baza de date prin intermediul serverului MySQL, sau chiar clientului command-line MySQL. Clientul MySQL este o interfata interactiva pentru trimiterea de comenzi catre server.
Principalele motive pentru folosirea pe scara larga a MySQL sunt viteza, stabilitatea si facilitatea in utilizare. De asemenea MySQL are o serie de caracteristici care au fost dezvoltate prin colaborarea foarte apropiata cu utilizatorii acestui limbaj. Aceste caracteristici ale limbajului se datoreaza faptului ca a fost proiectat inca de la inceput pentru gestionarea unui volum foarte mare de date, iar experienta in folosirea sa acumulata de-a lungul anilor si-a spus cuvantul. MySQL ofera astazi un set complet si util de functii. Conectivitatea, viteza si securitatea fac ca MySQL sa fie unul din cele mai potrivite produse pentru gestiunea bazelor de date pe Internet.
Copyright © 2024 - Toate drepturile rezervate