Sistem Informatic Folosit Pentru Rezervari Turistice
Capitol 1 Introducere
Capitol 2 Testare Software
Capitol 3 Introducere in tehnologiile web
3.1 World Wide Web (www)
3.2 HTML si URL
3.3 Server Web
3.3.1 Serverul Web Apache
3.4 Limbajul PHP
3.5 Serverul de baze de date MySql
3.6 Limbajul Java Script
3.6.1 Evolutia limbajului Java Script
3.6.2 Java si Java Script
3.6.3 Caracteristici ale limbajului Java Script
Capitol 4 Descrierea aplicatiei
4.1 Tehnologii folosite
4.2 Utilitatea aplicatiei
4.3 Structura aplicatiei
4.3.1 Gestiunea intrarilor
4.3.2 Gestiunea rezervarilor
4.3.3 Modelarea cazurilor de utilizare
4.4 Functionalitatea aplicatiei
Capitol 5 Concluzii
Bibliografie
Capitolul 1. Introducere
În momentul de fata toate activitatile sunt direct legate de calculator, în domenii diverse ca marketing-ul, domeniul vânzarilor, servicii pentru clienti, servicii bancare, distribuirea sigura a informatiilor etc.
Noile activitati bazate pe Tehnologia Informatiei si Comunicatiilor (TIC) au un impact deosebit asupra societatii. Avantajele utilizarii noilor tehnologii în activitatile de comert si afaceri are un mare impact asupra afacerilor.
Principalele cerinte pentru aplicatie sunt:
· interfeta puternica
· fiabilitate foarte mare
· securitate ridicata
· viteza ridicata de prelucrare si transmitere a datelor.
În mod traditional, aplicatiile software se bazeaza pe arhitectura client/server.
Figura nr. 1 – Arhitectura client/server
Arhitectura client/server presupune existenta unui server de baze de date (server) si a unui modul software specific aplicatiei (clientul) care prelucreaza datele (logica aplicatiei) si prezinta rezultatele (logica prezentarii).
În acest sistem nu exista notiunea de obiecte, partea client lucreaza direct cu tabelele de date si procedurile stocate din baza de date, figura 1.
În cadrul arhitecturii multi-strat, un server de aplicatii se interpune intre aplicatia client si serverul de baze de date. Serverul de aplicatii implementeaza logica aplicatiei iar clientul implementeaza logica de prezentare a sistemului. Avantajul major al arhitecturii multi-strat fata de arhitectura client/server îl reprezinta cresterea flexibilitatii.
Principalele caracteristici ale unei aplicatii de succes sunt:
· Utilizabilitatea – problemele cu interfata utilizator duc la pierderea unui timp important;
· Siguranta – controlul accesului, autentificarea si integritatea sunt foarte importante;
· Fiabilitatea – defectele sunt de neînchipuit pentru un sistem informatic, testarea aplicatiilor având un rol foarte important;
· Disponibilitatea – caderea este prea scumpa pentru a fi tolerata.
· Eficienta – neutilizarea optima a resurselor hardware si software, duce la scaderea performantelor si a scalabilitatii aplicatiilor.
Capitolul 2. Testarea software
Testarea software este procesul cautarii erorilor în program, indiferent daca acestea au cauze logice sau fizice. Obiectivul principal al testarii software este gasirea erorilor, altfel spus, de a identifica neconcordanta dintre ceea ce este planificat sa efectueze aplicatia si ceea ce realizeaza în realitate. Testarea nu presupune identificarea cauzei erorilor si corectia acestora, acestea fiind activitati specifice depanarii.
Testarea este privita ca o componenta majora a calitatii software. Un produs software testabil se considera ca fiind inteligibil (structurat, concis si auto-descriptibil) si masurabil (accesibil si cuantificabil).
Testarea software este necesara pentru asigurarea calitatii, dar este un proces scump si laborios, ce consuma de la o treime pâna la o jumatate din costul unui proiect.
În procesul dezvoltarii software, exista un numar de produse care trebuie testate:
· modelele cerintelor;
· modelele analizei si proiectarii;
· modele arhitecturale;
· componentele individuale;
· codul integrat al sistemului.
De fapt, activitatea de testare trebuie asociata cu fiecare pas în procesul de dezvoltare. Acest lucru permite descoperirea erorilor devreme în procesul de dezvoltare software având drept consecinta costuri mai mici de corectie.
Exista doua strategii de testare: testarea functionala si testarea structurala. Testarea structurala necesita întelegerea structurii interne a programului (codul sursa) si pune accentul pe acoperirea prin test a cailor si ramificatiilor programului.
Testarea functionala nu necesita cunoasterea structurii interne a programului, cunostinte despre program, în schimb necesita cunoasterea a cum ar trebui sa fie comportamentul extern al programului, bazându-se pe specificatiile acestuia.
În cadrul ciclului de dezvoltare software exista testarea de module, testarea de integrare, testarea de sistem, testarea de acceptare. Corespondenta dintre fazele ciclului de dezvoltare software si etapele testarii este prezentata în figura 3.
Figura nr. 3 – Nivelele testarii în cadrul ciclului de dezvoltare software.
Testarea software are pe lânga obiectivul general al stabilirii masurii în care produsul software realizeaza sarcinile date în specificatii, obiective specifice legate de:
· testarea functiilor membre ale fiecarei clase
· testarea gradului de încapsulare si a efectelor acestuia
· testarea efectelor induse de nivelele de mostenire si de derivare
· testarea efectelor induse de polimorfismul functiilor membre
· testarea interactiunilor dintre clase.
Spre deosebire de software dezvoltat prin alte metode, în cazul programarii orientate obiect, testarea vizeaza si masura în care clasele sunt proiectate în vederea reutilizarii. Adica, se evidentiaza gradul de generalitate si mai ales concordanta dintre specificatiile fiecarei functii si ceea ce efectiv functia realizeaza.
Testarea aplicatiilor bazate pe arhitectura Web, în plus fata de testarea aplicatiilor clasice, necesita o serie de teste specifice cum ar fi: testarea de încarcare, testarea de compatibilitate, testarea functionala, testarea continutului, testarea serverului Web, testarea securitatii, testarea serverului de aplicatii si testarea bazelor de date.
Testarea de încarcare se utilizeaza pentru a verifica daca aplicatia Web poate gestiona un anumit numar de utilizatori care îl acceseaza concurent în limite acceptabile ca timp de raspuns.
Prin testarea de compatibilitate urmareste aspectul si comportamentul site-ului Web în raport cu o varietate de sisteme de operare si de navigatoare Internet. Aceasta testare scoate în evidenta problemele cu controalele ActiveX, applet-urile Java, functiile JavaScript sau VBScript si formulare din pagini. La ora actuala exista peste 100 de combinatii posibile între diverse sisteme de operare Windows si diverse versiuni ale navigatoarelor Netscape si Internet Explorer.
Testarea functionala se realizeaza pentru a constata daca aplicatia se comporta conform cu specificatiile sale. Detaliile acestui tip de testare depind de natura aplicatiei Web.
În general consta în verificarea legaturile paginilor, testarea formularelor, verificarea bazei de date, testarea applet-urilor Java.
Pentru testarea continutului se urmareste corectitudinea si asezarea în pagina a textelor, imaginilor si fisierelor de animatie si video din cadrul aplicatiei.
Testarea serverului Web are în vedere testarea interactiunilor dintre serverul Web si serverul de aplicatii, verificarea integritatii bazei de date în cadrul serverului de baze de date, verificarea faptului ca scripturile ASP, PHP sau JSP se executa corect pe server.
Testarea serverului de aplicatii se realizeaza tinându-se seama de caracteristicile functionale si structurale ale acestuia. Se testeaza componentele serverului, folosind metode clasice de testare, precum si metode de testare ce iau în considerare tranzactiile si comunicatiile asincrone dintre aceste componente.
Testarea bazelor de date presupune verificarea executarii corecte a interogarilor si operatiilor de adaugare si actualizare a datelor, precum, si verificarea conexiunilor dintre aplicatia Web si baza de date.
În prezent exista o multime de instrumente pentru testarea automata a aplicatiilor distribuite bazate pe web.
Astfel de aplicatii precum eValid, Rational SiteCheck, SilkPerformer, LoadRunner au urmatoarele caracteristici:
· ofera suport pentru testarea functionala
· analizeaza integritatea legaturile dintre pagini
· analizeaza încarcarea si capacitatii serverului web
· ofera o serie de indicatii pentru reglaje fine ale aplicatiei.
Elementele care stau la baza deciziei de contractare a unei firme specializate în testare sunt: lipsa resurselor pentru realizarea pe termen lung a testelor, dorinta de asigurare a unei obiectivitati asupra evaluarii calitatii si nu în ultimul rând analiza cost-beneficiu realizata pe baza estimatiei costurilor privind testarea.
Capitolul 3. Introducere in tehnologiile Web
3.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 . In 5 ani a evoluat de la o aplicatie pentru transmiterea de date utile pentru fizica energiilor inalte la o aplicatie despre care milioane de oameni cred ca este Internetul. Popularitatea sa enorma se datoreaza faptului ca are o interfata grafica plina de culoare, usor de utilizat de catre utilizatori si in acelasi timp ofera o cantitate imensa de informatie despre orice subiect posibil
WEB-ul a aparut din necesitatea de a permite cercetatorilor raspanditi in lume sa colaboreze uytilizand colectii de rapoarte, planuri, desene, fotografii si alte tipuri de documente aflate intr-o continua modificare. Propunerea initiala pentru crearea unei colectii de documente avand legaturi intre ele (WEB) a fost facuta de fizicianul Tim Berners-Lee, fizician la CERN, in martie 1989. Primul prototip (bazat pe text) era operational 18 luni mai tarziu. In decembrie 1991 s-a facut o demonstratie publica la conferinta Hypertext '91, in . Actiunea a continuat in anul urmator, fiind incununata cu realizarea primei interfete grafica, Mosaic, in februarie 1993.
Mosaic a fost atat de popular incat un an mai tarziu autorul sau Mark Andreessen a parasit NCSA unde Mosaic-ul a fost dezvoltat, pentru a forma o noua companie, Netscape Communication Corp. care se ocupa de dezvoltarea de software pe WEB.
In 1994 CERN si MIT au semnat o intelegere de a forma consortiul WORLD WIDE WEB, organizatie care are ca obiectiv dezvoltarea WEB-ului, standardizarea protocoalelor si incurajarea interoperabilitatii intre site-uri. De atunci, sute de universitati si companii au intrat in consortiu. MIT coordoneaza partea a consortiului, in timp ce centrul de cercetari INRIA coordoneaza partea europeana. Desi exista foarte multe carti despre WEB, cel mai bun loc pentru gasirea unor informatii la zi despre el este (in mod natural) chiar WEB-ul. Pagina consortiului are adresa htttp://www.w3.org. Cititorii interesati vor gasi acolo legaturi la pagini care acopera toate documentele si activitatile consortiului.
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. Despre paginile care indica spre alte pagini se spune ca utilizeaza hypetext.
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 nici o imagine.
Odata cu aparitia primului browser Web grafic in anul 1993, Web-ul a inceput sa se impuna cu adevarat. Nu cu mult timp in urma, browserul Navigator al firmei Netscape era cel mai popular progr 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. Despre paginile care indica spre alte pagini se spune ca utilizeaza hypetext.
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 nici o imagine.
Odata cu aparitia primului browser Web grafic in anul 1993, Web-ul a inceput sa se impuna cu adevarat. Nu cu mult timp in urma, browserul Navigator al firmei Netscape era cel mai popular program de navigare, insa browser-ul Internet Explorer de la Microsoft ocupa in momentul de fata mai mult de jumatate din piata.
Programul de navigare aduce pagina ceruta, interpreteaza textul si comenzile de formatare continute in text si afiseaza pagina, formatata corespunzator, pe ecran. Majoritatea paginilor de WEB incep cu titlu, contin informatii si se termina cu adresa de posta electronica a celui care mentine pagina. Sirurile de caractere care reprezinta legaturi la alte pagini se numesc hyperlegaturi, sunt afisate in mod diferit, fiind subliniate si/sau colorate cu o culoare speciala. Pentru a selecta o legatura, utilizatorul va plasa cursorul pe zona respectiva (utilizand mouse-ul sau sagetile de pe tastatura) si comanda selectia (cu ajutorul mouse-ul sau apasand tasta ENTER). 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 Worl Wide Web este cea client–server, care presupune urmatoarele etape:
Un calculator (clientul) formuleaza o cerere
Cererea clientului este expediata unui server
Serverul analizeaza aceasta cerere, o executa, formuleaza raspunsul si il expediaza clientului
Clientul receptioneaza raspunsul la cererea solicitata
Modelul de comunicare intre serverul WEB si clientul care acceseaza informatia este urmatorul (sa zicem ca aceseaza http://www.w3.org/hypertext/WWW/TheProject.html) :
· Programul de navigare determina URL (pe baza selectiei)
· Programul de navigare intreaba DNS care este adresa IP pentru masina care se numeste www.w3.org.
· DNS raspunde cu 18.23.0.23
· Programul de navigare realizeaza conexiunea TCP cu portul 80 al 18.23.0.23
· Trimite o comanda GET /hypertext/WWW/TheProject.html
· Serverul www.w3.org transmite fisierul "TheProject.html"
· Conexiunea TCP este eliberata
· Programul de navigare afiseaza formatat textul din "TheProject.html"
· Programul de navigare aduce si afiseaza toate imaginile din "TheProject.html"
3.2 HTML si URL
"Limbajul" in care sunt descrise paginile WEB se numeste HTML. El este derivat din SGML, si este format din seturi de tag-uri inserate in text, care dau directive asupra modului in care sa se formateze textul. In functie de posibilitatile hard ale sistemului pe care se vizualizeaza pagina, si de posibilitatile browserului, pagina va fi afisata cu mai multe sau mai putine caracteristici de formatare (un browser in mod text nu va putea folosi fonturi de marimi diferite). Tagurile sunt texte cuprinse intre '<' si '>'. Textul va trebui sa nu contina aceste caractere, aparitia lor trebuind inlocuita cu metacaractere inlocuitoare ("<" si ">") la randul lui, "&" trebuie si el inlocuit cu metasecventa "&". Si alte caractere se pot specifica prin metasecvente (de exemplu caractere care nu sunt in setul standard ASCII).
Numele tagurilor nu sunt "case sensitive", doar optiunile si argumentele pot face distinctie in anumite cazuri intre literele mari si mici (de exemplu calea intr-un URL care se gaseste in tagul <a>)
Textul este cuprins intre tagurile <html> si </html>. El cuprinde o sectiune de "head" si una de "body". Sectiunea de "head" contine informatii despre document care nu se vor afisa in pagina (eventual se va afisa pe bara de titlu a ferestrei browserului). Textul din sectiunea de "body" contine descrierea paginii propriu zise. In cadrul textului caracterul de sfarsit de linie este ignorat, la fel si taburile sau aparitile multiple de spatii (se retine numai unul).
URL (Uniform Resource Location) reprezinta o conventie de localizare a unei resurse informationale. El cuprinde (de la dreapta la stanga) identificarea fisierului referit pe masina pe care se afla, numele masinii pe care se gaseste si modul (protocolul) de accesare a acesteia. De exemplu in URL-ul: http://home.ro/pclaude din exemplu protocolul este http (acces prin portul 80 prin protocolul HTTP), masina este home.ro iar identificarea paginii este "pclaude" – adica pagina personala a userului pclaude. Serverul HTTP va rezolva acest identificator la calea interna /home/pclaude/public_html/index.html. Se observa ca sarcina localizarii pe server este sarcina serverului, care cunoaste propriul mod de identificare a resurselor sale publice.
Nu toate fisierele de pe un server WEB pot fi accesate prin HTTP. De obicei paginile publice se afla in directoare speciale, identificarea lor facandu-se cu calea relativa la acel director. Daca nu se specifica decat calea relativa a unui director, serverul intoarce un fisier cu nume implicit (de obicei numit index.html). Exista si alte conventii (de exemplu /~user/ reprezinta directorul radacina al informatiilor publice ale userului "user". URL-ul este un caz particular de mai putin cunoscutul URI (Uniforme Resource Identifier) care identifica unic pe Internet resursele care se pot accesa prin diferite protocoale
Paginile WEB pot contine imagini (tagul <img>), tabele (tagul <table>) , etc. In sectiunea de "head" se pot specifica prin tagul "<meta>" informatii despre autor, firma de care apartine si chiar informatii destinate motoarelor de cautare (descriere, cuvinte cheie, etc).
3.3 Server de Web
Serverul web este un calculator care gazduieste un site web si care e capabil sa raspunda cererilor de pagini web din partea clientilor. Pentru a realiza acest lucru, server-ul trebuie sa ruleze o aplicatie speciala numita httpd (HyperText Transfer Protocol Demon). Ca servere Web, cele mai intalnite sunt: Apache Server , Microsoft Web Server , Oracle Web Server.
In momentul de fata se folosesc foarte multe tipuri de calculatoare si sisteme de operare, majoritatea oferind software server Web de buna calitate. Cele mai cunoscute sisteme de operare pentru calculatoare ce deservesc pagini Web sunt UNIX si Microsoft Windows NT/2000.
Unix este folosit de la crearea Web-ului si majoritatea serverelor Web ruleaza in continuare acest sistem. Windows NT /2000 este mai nou in domeniu, dar si-a castigat rapid popularitatea. Din punctul de vedere al designer-ului Web, server-ul utilizat pentru livrarea unei pagini este in general irelevant, cu anumite exceptii:
• UNIX este dependent de tipul de litera folosit (litera mica sau majuscula), in timp ce Windows NT nu,
• UNIX este folosit de mai mult timp si este relativ stabil. Windows NT sufera actualizari majore si de aceea poate avea probleme in acest sens,
• Exista foarte multe companii care au baze de date Microsoft Access pe care vor sa le integreze in site-ul lor, acest lucru putandu-se face numai in mediul Windows NT,
• Furnizorii de servicii Internet (Internet Service Provider – ISP) percep in general taxe mai reduse pentru servere bazate pe UNIX, pentru ca intretinerea sistemului este mai putin costisitoare dacat Windows NT.
Intre calculatoarele interconectate informatia circula in pachete. Pachetele contin adresa expeditorului si cea a destinatarului, informatia, numele aplicatiei client care a formulat cererea si numele aplicatiei de pe server care va primi cererea. Aceste pachete sunt sunt dirijate pentru a ajunge la destinatie prin anumite mijloace de dirijare precum Internet Protocol (IP). Reteaua Internet dispune de asemenea si de mijloace de corectie a erorilor de transmitere a pachetelor. Un astfel de mijloc este Transfer Control Protocol (TCP) – Protocolul de Control al Transferului.
Site-urile Web reprezinta o serie de pagini Web care sunt interconectate. Site-urile pot contine legaturi catre alte site-uri, lucru care duce la obtinerea unor panze de informatii. Primul document dintr-un site se numeste Home Page (pagina de pornire). Ea contine legaturi catre toate celelalte documente.
Site-urile Web sunt publicate prin transferul fisierelor HTML si al fisierelor multimedia asociate pe servere Web. Protocolul de transfer al fiserelor (FTP) este un standard care permite mutarea, redenumirea sau stergerea fisierelor de pe un calculator la distanta.
3.3.1 Serverul de Web Apache
Istoric si caracteristici
Unul dintre cele mai utilizate servere de web, Apache Web Server este un efort de a oferi o alternativa viabila necomerciala, în domeniul serverelor de web. Reusita acestui proiect este în mare masura legata de fenomenele initiate prin oameni ca Linus sau Stalman, ce au avut ca rezultat produse extraordinare, puternice si eficiente cum ar fi Linux, Emacs precum si toate pachetele software aparute sub licenta GNU.
Crearea unui proiect de sine statator – The Apache Project este rezultatul reunirii unui mare numar de voluntari, comunicând prin intermediul Internet-ului. Acestia sunt cunoscuti sub numele de Apache Group. În plus, sute de utilizatori din întreaga lume au contribuit la proiect prin cele mai diverse mijloace, de la cod sursa pâna la documentatie HTML.
Apache isi are originea din ideile si codul aflat in cel mai popular server HTTP al timpului NCSA . În 1995 cel mai performant server de web era practic cel dezvoltat la NCSA , , de catre Rob McCool. În momentul în care acesta a plecat si nu a mai continuat dezvoltarea serverului sau, au început sa apara o multime de programatori ce produceau versiuni modificate si îmbunatatite ale acestui server. Un grup de asemenea programatori au decis în februarie 1995 sa se reuneasca într-un proiect de dezvoltare si îmbunatatire a serverului initial. Pornind de la NCSA httpd 1.3 ei au construit, prin adaugarea celor mai bune patch-uri, versiunea Apache 0.6.2 care a fost lansata în aprilie 1995.
Desi NCSA si-a reînceput dezvoltarea serverului în aceeasi perioada, Apache a continuat sa devina cel mai utilizat server de web din comunitatea unix în urmatorii doi ani. Acesta a fost implicat mai departe in cele mai multe sisteme UNIX care contin servere HTTP.
Designul unei noi arhitecturi si rescrierea serverului într-o maniera extrem de modulara si eficienta a dus la o popularitate crescânda serverului. Apache este, din ianuarie 1997, cel mai utilizat server WWW de Internet. Deasemenea Apache a aratat a fi cel mai rapid dintre serverele de tip free.
Serverul ofera desigur majoritatea facilitatilor gasite în cazul oricarui server de web modern. O îndelungata perioada de timp acesta chiar a stabilit standardele în domeniu. Astfel, din punct de vedere al securitatii gasim suport SSL, protectie de tip username/password asupra directoarelor, HTTPS etc.
Server-side includes a fost o inovatie a Apache Group. Suportul modular de adaugire a unor noi facilitati la server, content handlers, persistent connections, online statistics (incluzând aici chiar si broadcastingul de informatie de logging) etc, toate acestea sunt elemente în care Apache a adus elemente mai mult sau mai putin noi.
Detalii de instalare si configurare
În prezent serverul se prezinta sub forma unui pachet software de tip tar-gzip (exista si o versiune pentru Windows NT ) ce contine sursele complete precum si un set de documentatie pentru server. Compilarea serverului este extrem de facila si nu s-a întâlnit nici o platforma uzuala care sa aiba vreo problema la compilare. .
Rezultatul compilarii va fi în principal un fisier binar executabil numit în principal httpd, localizat în directorul src/. Se recomanda copierea acestui binar într-un loc mai sigur, eventual crearea unui director bin/ (de exemplu) si copierea în acel director. În unele versiuni mai vechi, calea (path-ul) catre locul unde este instalat serverul va trebui inserata în unele fisiere sursa, înainte de compilare. Deoarece acest fapt nu mai este de actualitate nu îl vom comenta însa se recomanda instalarea serverului la o locatie destul de comuna ,de exemplu: in /usr/local/http, /usr/http sau chiar /etc/http/. NU instalati serverul (fisierul binar) în sistemul de fisiere principal. (/usr/bin, /bin, etc.)
Dupa instalarea binarului (vom presupune /usr/http ca director principal de instalare si /usr/http/bin directorul în care se gaseste fisierul binar executabil httpd) va trebui configurat serverul prin modificarea unor fisiere de configurare. Acestea se gasesc în acest caz în /usr/http/conf. Ele sunt httpd.conf, access.conf, srm.conf. Fiecare dintre ele stabilesc parametri diferiti pentru serverul de web. Se recomanda citirea documentatiei de configurare. Nu trebuie modificate direct fisierele de configurare existente în acel director. De obicei numele acestora are o extensie ?-dist'. (Ex. httpd.conf-dist) . Se copie acestea în fisiere cu nume fara extensia respectiva (Ex. cp httpd.conf-dist httpd.conf) si abia apoi se va modifica fisierul copie.
Configurarea serverului în cazul cel mai simplu impune doar modificarea, în httpd.conf, a numelui serverului precum si, în toate fisierele, a cailor (path) ce definesc locul de instalare a serverului precum si a documentelor html.
Dupa configurarea serverului se impune pornirea acestuia. Exisa doua moduri de rulare a serverului. Modul implicit si cel mai utilizat de rulare este modul daemon. În mod daemon acesta este pornit si ruleaza în background, activându-se de la sine de mai multe ori, asigurând astfel un bun timp de raspuns la cereri HTTP. Al doilea mod ar fi rularea serverului prin intermediul daemonului inetd. În acest caz, inetd are grija de interceptarea unei cereri HTTP si pornirea unei copii a unui server de web pentru tratarea acelei cereri. Nu se recomanda acest mod de rulare decât în cazuri speciale.
Pornirea serverului (modul daemon) se rezuma la executarea binarului cu parametrii adecvati (în principal stabilirea caii fisierului primar de configurare httpd.conf) dupa care acesta va raporta orice erori sau probleme precum si accesele de web în cazul rularii, prin intermediul unor fisiere de log localizate în directorul logs/. In cazul unor erori sau porniri defectuoase se recomanda analizarea fisierului error-log din logs/.
Dupa ce ati pornit serverul exista posibilitatea accesarii unei documentatii complete chiar prin serverul proaspat instalat.
3.4 Limbajul PHP (Hypertext Preprocessor)
Scurt istoric
PHP a fost conceput în anul 1994 de Rasmus Lerdorf. El folosea versiuni personale de PHP ca să monitorizeze cine îi vizita pagina sa personală.
Prima versiune de PHP care putea fi folosită de toată lumea a fost disponibilă în anul 1995 și a fost cunoscută sub numele de Personal Home Page Tools. Aceasta consta dintr-un parser foarte simplu care recunoștea câteva macro-uri și un număr limitat de utilități care erau folosite pe paginile personale la acea vreme (cum ar fi guestbook, counter).
Parserul de PHP a fost rescris la jumătatea anului 1995 și s-a numit PHP/FI Version 2. FI vine Form Interpreter, un alt pachet pe care Rasmus l-a scris pentru interpretarea formelor HTML. El a combinat scripturile din Personal Home Page Tools cu Form Interpretor și a adăugat suport pentru mSQL și astfel a apărut PHP/FI. PHP/FI s-a răspândit foarte repede și a devenit foarte popular, deoarece mulți programatori au contribuit cu cod la perfecționarea lui.
Sunt greu de dat niște statistici exacte, dar se estimează că la sfârșitul anului 1996 PHP/FI era folosit de aproximativ 15.000 de site-uri web din toată lumea. Pe la mijlocul anului 1997 numărul acestora a crescut la 50.000.
Tot în anul 1997 s-a observat o schimbare în dezvoltarea PHP-ului.
PHP nu mai era proiectul propriu al lui Rasmus, ci era rezultatul eforturilor unei echipe de programatori, deoarece la perfecționarea lui contribuiseră mulți programatori.
Parserul a fost rescris de Zeev Surasky și Andi Gutmans și noul parser a format bazele PHP Version 3. Mare parte din codul PHP/FI a fost portat în PHP3 și altă parte de cod a fost complet rescrisă.
Ultima versiune, PHP4, folosește motorul de script Zend ca să ofere performanțe mai mari, suportă mult mai multe biblioteci și extensii, și rulează ca un modul natural server-ului de web.
Ce este PHP?
PHP (oficial “PHP: Hypertext Preprocesor”) este un limbaj de script HTML integrat de tip server-side, deci codul se execută pe server.
Este diferit de scripturile CGI scrise în alte limbaje ca Perl sau C++, în care se scrie mult cod pentru a genera HTML, deoarece se scrie script HTML cu cod de PHP încorporat. Codul PHP este încadrat de tag-uri speciale care ne permit să intrăm sau să ieșim din modul PHP.
Ce face PHP?
La o privire de ansamblu, PHP poate să facă tot ceea ce face alt programe CGI, cum ar fi: culegerea de date, generare dinamică de cuprinsuri pentru pagini, trimite și primește cookie-uri.
Probabil cea mai puternică și cea mai importantă caracteristică a PHP este suportul pentru o gamă cât mai largă de baze de date . Cu PHP este foarte simplu de citit din baze de date și de scris în baze de date.
PHP suportă următoarele tipuri de baze de date: AdabasD, dBase, Empress, FilePro, HyperWave, IBM DB2, Informix, Ingres, InterBase, Frontbase, mSQl, Direct MS-SQL, MySQL, ODBC, Oracle, Ovrimos, PostgreSQL, Solid, Sysbase, Velocis, UNIX dbm.
PHP prezintă suport, de asemenea, și pentru alte servicii de rețea folosind protocoale cum ar fi: IMAP, SNMP, NNTP, POP3, HTTP și altele mai puțin importante. Se pot deschide noduri brute de comunicație în rețea care interacționează folosind alte protocoale de comunicație.
Expresii
Expresiile sunt cele mai importante construcții ale PHP. În PHP, aproape orice scrii este o expresie. Modul cel mai simplu și cel mai corect de a defini o expresie este “tot ceea ce are o valoare”.
Cele mai primitive forme de expresii sunt variabilele și constantele. Exemple mai complexe de expresii sunt funcțiile.
Structuri de control
Toate scripturile PHP sunt compuse dintr-o serie de declarații. O declarație poate fi o atribuire, apelul unei funcții, un ciclu, o declarație condițională chiar dacă declarația nu face nimic. Declarațiile se termină de obicei cu ;. În plus, declarațiile pot fi grupate în grupuri de declarații fiind încadrate între acolade. Un grup de declarații este la rândul lui o declarație.
Orice cod valid de PHP poate să apare în interiorul declarației unei funcții, chiar dacă reprezintă declarația altei funcții sau clase.
Notă: În PHP3, funcțiile trebuie declarate înainte de a fi apelate. În PHP4 nu există asemenea restricții.
Notă: PHP3 nu suportă funcții cu număr variabil de argumente, decât argumentele cu care a fost declarată. PHP4 acceptă ambele tipuri de funcții.
Informațiile sunt transmise funcțiilor printr-o listă de argumente, care sunt variabile sau constante separate prin virgulă.
PHP suportă transmiterea argumentelor unei funcții prin valoare, prin referință sau prin valori predefinite ale argumentelor.
Prin definiție, argumentele funcțiilor sunt transmise prin valoare. Dacă dorim să transmitem argumentele unei funcții prin referință trebuie ca numele argumentului să fie precedat de &.
Dacă argumentul este transmis prin valoarea, modificarea valorii sale în corpul funcției nu afectează valoarea argumentului în afara funcției. Dacă dorim să modificăm valoarea unui argument trebuie să-l transmitem prin referință.
Adesea avem nevoie de clase cu variabile și funcții similare cu ale altei clase deja existente. În fond, este o idee bună să avem o clasă generică pe care să o folosim în toate proiectele și să o adaptăm specificațiilor proiectului. Ca să putem face acest lucru, clasele trebuie să fie extinse din alte clase. Acesta este conceptul de moștenire întâlnit în Programarea Orientată pe Obiecte. Clasa extinsă sau derivată are toate variabilele și funcțiile clasei de bază și funcțiile pe care le adăugăm în noua definiție. O clasă extinsă este totdeauna dependentă de o singură clasă de bază, ceea ce înseamnă că nu putem avea moștenire multiplă. În PHP pentru derivarea claselor se folosește cuvântul cheie extends.
Constructorii sunt funcții din clasă care sunt apelați automat când creăm o nouă instanță a clasei cu funcția new. O funcție devine constructor în momentul în care același nume ca și clasa.
Pentru a putea referi variabile și funcții din clasa de bază trebuie folosit cuvântul cheie parent, care se referă la numele clasei de bază, același ca cel dat în declarația extends a clasei folosite.
3.5 Serverul de baze de date MySQL
Scurta descriere
MySQL este un server de baze de date SQL (Structured Query Language) foarte rapid. O baza de date reprezinta o colectie de date organizate dupa anumite criterii. Pentru a accesa, adauga sau procesa date continute in baza de date este nevoie de un sistem de administrare a bazelor de date precum MySQL.
MySQL este foarte rapid, dar si usor de invatat. In plus, este si gratuit; pachetul MySQL este disponibil la www.mysql.com sub forma unei arhive zip care trebuie despachetata intr-un folder, de regula – C:/MySQL. MySQL a fost dezvoltat pentru a lucra cu baze de date foarte complexe. Conectivitatea, viteza si securitatea il fac foarte potrivit pentru accesarea bazelor de date in Internet.
Server-ul MySQL poate fi gestionat manual cu urmatoarele linii de comanda:
• mysqld.exe – porneste server-ul
• mysqladmin.exe – opreste server-ul
• mysql.exe – afiseaza consola MySQL
Comenzi uzuale in MySQL
O baza de date este formata din mai multe tabele, acestea fiind divizate in inregistrari (records), inregistrari ce pot fi considerate liniile tabelului. O linie a unui tabel este impartita in mai multe campuri, care pot stoca diferite tipuri de date.
Gestionarea tabelelor pentru a crea o baza de date la consola MySQL
create database nume_baza; – creeaza baza de date
use nume_baza; – comanda folosirea unei anumite baze de date
drop database nume_baza; – sterge o baza de date
show databases; – afiseaza bazele de date existente pe server
create table nume_tabel; – creeaza un tabel atunci cand baza de date este deschisa
show tables; – afiseaza tabelele din baza de date curenta
drop table nume_tabel; – sterge un tabel din baza de date
desc nume_tabel; – arata informatii despre structura unui tabel
Primary key este o instructiune folosita pentru definirea cheii primare. Aceasta creeaza un index pe baza coloanei al carei nume a fost specificat. Aceata coloana este considerata ca fiind cea mai importanta, des folosita, fiind vazuta drept cheia de sortare a tabelului. Primary key este o coloana de tip AUTO_INCREMENT.
insert into nume_tabel values ("val_1", "val_2",…..); – adauga date in tabel
select * from nume_tabel; – afisarea datelor dintr-un tabel specificat.
3.6 Limbajul JavaScript
Generalitati
JavaScript este un limbaj de tip script dezvoltat de firma Netscape cu ajutorul caruia putem adauga foarte usor efecte spectaculoase paginilor de Web , codul JavaScript introducandu-se direct în pagina HTML. Pentru a rula script-uri scrise în JavaScript este necesar un browser de Web capabil sa interpreteze cod JavaScript – cum ar fi Netscape Navigator (de la versiunea 2.0 în sus) sau Microsoft Internet Explorer (de la versiunea 3.0 în sus).
Spre doesebire de scripturile CGI, care se executa pe calculatorul gazda (server), script-urile JavaScript sunt incarcate de pe server pe calculatorul local. Interpretatorul va decodifica instructiunile script-urilor si le va executa la momentul potrivit: la incarcarea paginii pe server, la apasarea unui buton, la miscarea mouse-ului, etc. Script-urile JavaScript fac parte din codul sursa HTML al paginilor Web, dandu-le acestora un aspect dinamic, interactiv si mult mai atractiv.
JavaScript este cel mai cunoscut si, urmare fireasca, cel mai folosit limbaj pentru crearea de script-uri pe web. Bineinteles, ca e vorba despre un limbaj obiectual si, foarte important, multi-platforma – idea de baza este ca acelasi cod este sau ar trebui sa fie interpretat la fel indiferent de platforma pe care ruleaza browser-ul.
Spre deosebire de limbajele C++ sau Java care sunt limbaje orientate obiect , JavaScript este un limbaj scriptual bazat pe obiecte – si aceasta deoarece obiectelor JavaScript le lipsesc 3 caracteristici ale teoriei OOP(Object Oriented Programming): mostenirea , incapsularea si abstractizarea. Corporatia Netscape Communication a definit propriul concept – cunoscut sub numele de JavaScript Object Model – ce contine totalitatea obiectelor ,proprietatilor, metodelor dar si variabilelor si functiilor din universul Netscape . Obiectele Netscape nu trebuie totusi confundate cu cele ale limbajului JavaScript
JavaScript poseda o serie de obiecte ale sale. Toate obiectele organizeaza-ierarhizeaza o serie de date, dar si functii (metode) care opereaza asupra acestor date. Aceste obiecte – unele deja existente in JavasScript (predefinite) ,altele create de utilizator explicit – pot fi cuplate, respectiv sunt legate de elementele HTML si dau posibilitatea efectuarii diverselor calcule matematice sau a crearii diferitelor resurse: text, ferestre , formulare ,cadre , etc/
Pe osatura unui document HTML recurgandu-se la facilitatile limbajului JavaScript se pot afisa o serie de ferstre , cadre , casete de dialog , unde sa apara tot felul de mesaje, resurse grafice , se pot valida sau chiar evalua expresii in care apar variabile, date numerice , literali.
3.6.1 Evolutia limbajului Javascript
Ca tot ceea ce are legatura cu Web-ul, JavaScript este o tehnologie noua – mai noua chiar decât însusi limbajul Java. Initial, JavaScript a fost dezvoltat de Netscape sub denumirea LiveScript, un limbaj de scriptare care intentiona sa extinda capacitatile HTML si sa ofere o alternativa partiala la utilizarea unui numar mare de scripturi CGI pentru prelucrarea informatiilor din formulare si pentru a adauga dinamism în paginile utilizatorilor. Dupa lansarea limbajului Java, Netscape a început sa lucreze împreuna cu firma Sun pentru a oferi un limbaj de scriptare a carui sintaxa si semantica erau strâns legate de Java – motiv pentru care denumirea a fost schimbata în JavaScript. Dupa finalizarea limbajului, Netscape si Sun l-au lansat împreuna.
Una dintre motivatiile care au stat la baza limbajului JavaScript a fost recunoasterea necesitatii ca logica si inteligenta sa existe si pe partea de client, nu doar pe partea de server. Daca toata logica este pe partea de server, întreaga prelucrare este dirijata la server, chiar si pentru sarcini simple, asa cum este validarea datelor. În fapt, lipsit de suport logic pe parte de utilizator, mediul Web ar intra în arhitectura demodata „de la terminal spre calculatorul gazda", care a fost înlocuita de revolutia PC din anii '80. Asigurarea de logica în interiorul browserului îl înzestreaza pe client si face ca relatia sa fie un adevarat sistem client/server.
Java a însemnat un pas în aceasta directie dar a fost implementat ca auxiliar al HTML în sine si nu se intentionase integrarea sa din punctul de vedere al unui limbaj. Fiind un limbaj strict în privinta tipului de date, Java nu este optim ca liant pentru numeroasele tehnologii de care Webmasterii au nevoie în crearea paginilor lor si necesita capacitati de programare de nivel redus – ceva ce majoritatea programatorilor HTML prefera sa nu exercite exclusiv pentru a oferi logica în spatele elementelor unui formular. Un limbaj de scriptare de nivel ridicat, pe parte de client, parea a fi piesa lipsa din arena instrumentelor de programare pentru Web.
De la lansarea sa, în decembrie 1995, JavaScript si-a atras sprijin din partea principalilor distribuitori din domeniu, printre care Apple, Borland, Sybase, Informix, Oracle, Digital, HP si IBM. A continuat sa se dezvolte, obtinând recunoastere nu numai în majoritatea browserelor actuale, ci si în alte aplicatii pe care le-au lansat aceste companii, dar si altele.
Situatia s-a complicat însa atunci când a intervenit Microsoft. Întelegând importanta scriptarii Web, Microsoft a dorit sa ofere suport si pentru JavaScript. Când Netscape a preferat sa acorde licenta de tehnologie companiei Microsoft în loc sa o vânda, Redmond a analizat JavaScript, bazându-se pe documentatia publica, si a creat propria sa implementare, JScript, care este recunoscuta de Microsoft Internet Explorer versiunile 3.0 si ulterioare. JScript 1.0 este aproximativ compatibil cu JavaScript 1.1, care este recunoscut în Netscape Navigator 3.0 si browserele ulterioare. Totusi, numeroasele versiuni JavaScript si diversele bizarerii specifice platformelor de operare le-au dat dureri de cap programatorilor pentru Web, atunci când au încercat sa desfasoare situri Web capabile de JavaScript.
Din fericire, Netscape, Microsoft si alti distribuitori au acceptat sa predea limbajul unei organizatii internationale de standardizare, ECMA. De atunci, ECMA a finalizat o specificatie de limbaj, cunoscuta ca ECMAScript, pe care o recunosc toti distribuitorii. Desi standardul ECMA este util, atât Netscape cât si Microsoft au propriile lor implementari ale limbajului (JavaScript si JScript) si continua sa extinda limbajul dincolo de standardul de baza.
Pe lânga JScript, Microsoft are propriul sau concurent pentru JavaScript, numit VBScript, realizat pentru a usura patrunderea pe Web a actualilor programatori VB. În esenta, VBScript este un subset al limbajului Visual Basic. Deoarece Netscape nu recunoaste VBScript, principalele sale utilizari sunt pentru intraneturile (sau siturile Internet) unde se înregistreaza o abundenta de utilizatori de Microsoft Internet Explorer.
Chiar tinând seama de VBScript, JavaScript a devenit cunoscut ca limbajul de scriptare standard pentru Web. Întrucât distribuitorii produc instrumente de dezvoltare Web care necesita un limbaj de scriptare, JavaScript este frecvent folosit în acest scop; astfel, Netscape foloseste limbajul cunoscut ca Server-Side JavaScript (SSJS) pe parte de server.
Desigur, Microsoft nu a ramas în urma si, când a lansat tehnologia Active Server Pages (ASP), aceasta includea si recunoasterea motorului JScript.
3.6.2 Java si JavaScript
Una dintre cele mai intilnite intrebari referitoare la Javascript este legata de "gradul de rudenie" cu limbajul Java. Afinitatile dintre cele doua limbaje se regasesc la nivelul sintaxei, al structurilor de control si, intr-o anumita masura, la securitate (nu este permisa, spre exemplu, cititea fisierelor de pe calculatorul-client). In rest, Java este un limbaj mult mai complex ( ca majoritatea limbajelor orientate-obiect). Diferente exista inclusiv in legatura cu rularea codului .
Limbajul JavaScript a fost creat de firma Netscape. Spre deosebire de Java, care este un limbaj compilat (programele sunt compilate pe server si executate apoi local pe calculatorul client), JavaScript este un limbaj interpretat ( interpretarea limbajului se face de catre browsere, care au incorporate un interpretator ce analizeaza instructiunile JavaScript si le executa pe calculatorul client). Limbajele interpretate sunt mai simple decat cele compilate si mai usor de invatat. De asemenea, modificarea si depanarea este mult mai usor de realizat pentru ca nu mai este nevoie de compilare de fiecare data.
Dupa cum s-a specificat anterior , script-urile JavaScript sunt incarcate de pe server pe calculatorul local. Interpretatorul va decodifica instructiunile script-urilor si le va executa la momentul potrivit: la incarcarea paginii pe server, la apasarea unui buton, la miscarea mouse-ului, etc. ( deci mai general la producerea unui eveniment ) .Script-urile JavaScript fac parte din codul sursa HTML al paginilor Web, dandu-le acestora un aspect dinamic, interactiv si mult mai atractiv. Acest lucru insa are un mare dezavantaj: aceste script-uri pot fi copiate, modificate si reutilizate. In cazul applet-urilor Java nu apare aceasta problema, intrucat codul sursa al acestora nu este transferat de pe server pe calculatorul client. Ambele limbaje creeaza aplicatii independente de platforma pe care se executa. Programele Java sunt executate de masina virtuala Java iar script-urile de catre interpretator, ambele fiind incluse in navigator.
In timp ce Java este un limbaj complex, orientat obiect, JavaScript este un limbaj mai putin robust; are foarte multe asemanari cu Java, insa sintaxa este mai simpla, iar regulile mai putin complexe. Chiar daca Java si JavaScript au o sintaxa asemanatoare, aceste limbaje sunt folosite in scopuri diferite. Se poate mai degraba spune ca sunt complementare decat concurente.
3.6.3 Caracteristici ale limbajului JavaScript
Meritul principal al JavaScript este ca pune la dispozitia creatorilor de pagini web o metoda excelenta de "a dinamiza" paginile create. Si aceasta fara a apela la programarea pe partea de server (server-side programming). Fara a inlocui acest gen de programare mentionat, script-urile pot rezolva o serie de probleme (e drept, nu foarte complexe; cu toate aceste complexitatea e relativa, depinzind de abilitatile programatorului) cum ar fi validarea unui cimp dintr-o forma sau afisarea unui mesaj dupa un click pe un buton (in general, programarea evenimentelor). Iar avantajul integrarii complete in paginile HTML a capatat o noua dimensiune acum cu explozia interfetelor HTML .
JavaScript este "case sensitive", adica se face discriminarea intre literele mari si cele mici intilnite in numele identificatorilor (nume de variabile, functii, obiecte etc.).
JavaScript e un limbaj slab-tipizat in comparatie cu Pascal, C++ sau Java. Astfel tipul unei variabile nu este determinat in momentul crearii variabilei, iar pe parcursul executiei programului se poate schimba in functie de context. Acest fapt poate fi un avantaj, in sensul unei libertati in conceperea programului, dar si un dezavantaj legat de ambiguitatea ce poate sa apara, codul fiind mai greu de inteles. Totusi, daca la un moment dat, doriti sa aflati tipul unei variabile aveti la dispozitie operatorul typeOf. Prin aplicarea lui se obtine un string ce contine tipul variabilei (inclusiv undefined sau object, pe linga tipurile standard).
Raportat la variabile, exista asa-numita facilitate de "type-casting" (convertire automata a tipului). In acest caz, in functie de context, tipul variabilelor se modifica automat. In JavaScript casting-ul este partial. Astfel o variabila numerica se converteste automat la string , insa reciproca nu este valabila. De aceea, in multe script-uri veti intilni functia parseInt care converteste, in masura posibilului, unui string in numar.
Exista o valoare speciala in JavaScipt si anume null. Adica, dupa cum îi spune si numele, nimic. Exista diverse situatii cind o veti intilni cum ar fi folosirea de variabile nedefinite dar si unele rezultate de functii. null nu este acelasi lucru cu sirul vid (''), de pilda. De aceea, uneori trebuie sa fie testate cu grija anumite rezultate etc.
JavaScript permite folosirea expresiilor conditionale (existente, de atfel, si in alte limbaje de programare), ce se pot dovedi foarte utile. Exemplu: isNS = (document.layers) ? 1 : 0;
Daca browserul recunoaste aceasta colectie de obiecte (specifica Netscape Navigator) atunci expresia se evalueaza true si variablia noastra va lua valoarea 1, altfel 0. Aceasta este o metoda extrem de simpla de a identifica un browser. Pentru Internet Explorer: isIE = (document.all)
Cuvintul cheie this se poate dovedi extrem de util, caci intotdeauna se refera la obiectul curent. Cred ca puteti intui si acum cit de important e sa puteti folosi o expresie de genul self.proprietate pentru a accesa proprietatea obiectului curent (ma rog, formularea suporta critici), fara a sti care obiect este efectiv.
Data fiind caracteristica multi-platforma a JavaScript este important sa dispunem de functii care sa asigure compatibilitatea in diverse situatii. Doua asemenea functii complementare sunt escape si unescape. Sirul de caractere primit ca argumet este convert la codificarea standard ISO Latin-1 si invers. Este necesara mai ales in cazul cookie-urilor pentru a converti caractere depinzind de setul de caractere (dependent, la rindul sau, de platforma).
Macrosubstitutia este facilitate puternica a unor limbaje de programare (din fericire, intilnita si la JavaScript). Poate ca in acest caz e vorba de o mini-implementare a unei asemenea facilitati (prin functia eval), insa este foarte utila. Astfel eval executa string-ul primit ca argument ca si cum ar fi o linie de cod JavaScript: eval('alert(strA)') va genera o fereastra (prompt window) care va afisa valoarea string-ului strA. Utilitatea este data si de incompatibilitatile dintre browsere la nivelul referirii obiectelor suportate. In acest caz eval() ne ajuta in scrierea unui cod elegant.
Toate variabilele si obiectele sunt distruse la reincarcarea paginii web sau la incarcarea unei pagini noi. Singura solutie in acest caz (pentru crearea unei aplicatii mai complexe) ramine folosirea frame-urilor si, in speta, a unui frame ce nu isi reincarca continutul.
Capitolul 4. Descrierea aplicatiei
Sistemul informatic folosit pentru rezervari turistice poate fi folosit in orice tip de hotel sau pensiune turistica, fiind foarte usor actualizat cu configurat la cerintele existente pentru fiecare caz in parte.
Acest sistem asigură accesul usor si rapid la informatii despre camere, rezervari si date despre clienti.
Aplicatia ajuta utilizatorul pentru a fi cu un pas inaintea celorlalte hoteluri sau pensiuni.
4.1 Tehnologii folosite
Interfata aplicatiei este de fapt o interfață bazată pe pagini web dinamice care urmărește să le pună la dispoziția utilizatorului instrumentele necesare pentru programarea camerelor, pentru o evidenta cat mai rapida si mai eficienta.
Aplicația se bazează pe arhitectura clasică client – server. În centrul sistemului este dispus serverul web, pe care rulează de fapt aplicația propriu-zisă. Prin intermediul serverului, aceasta primește cererile clientului, le rezolvă și le trimite răspunsurile acestuia.
Ca si tehnologii folosite, enumeram, Serverul Apache, Php si serverul MySql, toate configurate in pachetul Easy Php.
4.2 Utilitatea aplicației
Avand in vedere activitatile de rezervare, aceasta aplicatie urmareste sa usureze munca depusa si sa elimine deficientele si in acelasi timp sa pastreze costurile de realizare, testare si intretinere ale aplicatiei.
Cu ajutorul acestei aplicatii s-a redus timpul cu completarea formularelor de rezervare pentru inregistrarea unui client vechi, deoarece la introducerea unei rezervari noi cu un client existent in baza de date se va face referire la client, pe cand alte sisteme inregistreaza a doua oara acelasi client in baza date.
In cazul unei noi inregistrari pentru o rezervare, clientul doreste o perioada anume intr-o camera anume, aplicatia verifica in baza de date daca pentru perioada respectiva este disponibila camera, daca sunt rezervari care se pot suprapune cu perioada pe care o doreste clientul.
Clientul este liber sa aleaga etajul, partea stanga sau dreapta a hotelului inclusive numarul de camera, in cazul in care camera dorita este ocupata, aplicatia poate recomanda o alta camera de pe acelasi etaj.
Aceasta aplicatie este conceputa pentru a elimina eroarea umana impotriva suprarezervarii – revervarea aceleasi camere pentru aceasi perioada a doi clienti diferiti, sau rezervarea aceluiasi client pe doua camere diferite pe aceasi perioada.
Interfata aplicatiei a fost in asa fel realizata pentru a face cat mai usoara comunicarea dintre aplicatie si personalul hotelier.
4.3 Structura aplicației
4.3.1 Gestiunea intrarilor
4.3.2 Gestiunea cazarilor
4.3.3 Diagrama claselor
4.3.4 Modelarea cazurilor de utilizare
4.4 Functioanalitatea Aplicatiei
La pornirea aplicatiei, prima pagina va fi cea de autentificare a administratorului sau a userului prestabilit in baza de date. In aceasta pagina se va introduce userul si parola pentru a continua. In cazul in care una din aceste doua variabile este gresita, va aparea mesajul “Logare Esuata”
Dupa o logare reusita se va deschide urmatoarea pagina, cu un meniu in partea stanga care ofera acces la categoriile de baza ale aplicatiei: camere, gestiune camere, categorii, locații, administratori.
O baza de date MySql stocheaza toate informatiile necesare aplicatiei.
Butonul “Camere” al aplicatiei va deschide pagina de adăugare a camerelor hotelului, dar pana la introducerea de camere se vor adauga locatiile (parter, etaj 1, etaj,2, etc.) si categoriile de camere (apartament, double, single, etc)
Pentru adaugarea unei camere noi se apasa butonul „Adăugare camera”.
Se va selecta locatia, denumirea (numarul camerei sau numele), o scurta descriere despre aceasta, pozitia fata de hol si una sau mai multe imagini ale camerei sau al interiorului dupa care se apasa butonul “Salvati”.
Butonul “Gestiune Camere” prezinta un meniu cu amplasarile camerelor pe etaje. Tot in acest meniu se va ocupa cu gestionarea camerelor.
Dupa selectarea unui etaj se va deschide urmatoarea pagina care contine toate camerele introduse pe acel nivel.
Dupa deschiderea listei de camere, administatorul va selecta o camera in care doreste sa faca o rezervare sau pentru care vrea sa vada detaliile camerei.
Prin apasarea butonului “Vezi detalii” administratorul poate vedea rezervari viitoare, rezervari in asteptare sau arhiva rezervarilor facute pana in prezent.
Prin apasarea butonului rosu “Vezi detalii” se pot vedea detaliile camerei si imaginile acesteia (mobilier, baie, etc)
Arhiva rezervarilor stocheaza in baza de date fiecare client cazat in camera respective, cu perioada de sedere si datele personale.
Daca din meniul de rezervare a camerei se apasa butonul “Ocupa” se va deschide un form java script pentru rezervare client pentru competarea a datelor personale si a datei de sosire si de plecare.
Dupa completarea cu toate datele cerute de acest form si intoarcerea la meniul anterior cu camere vom observa ca la camera la care s-a facut rezervare se va schimba fontul in rosu, aratand ca este ocupata in prezent.
Prin apasarea pe camera 001 va aparea o meniul prin care putem vedea detaliile camerei sau putem alege optiunea de eliberare a camerei, aparand o fereastra de confirmare a eliberarii camerei.
Butonul “Categorii” lasa administatorul sa creeze, sa editeze sau sa stearga tipul de camera (camera double, camera single, sau apartament).
Butonul “Locatii” lasa admininstratorul sa adauge, sa editeze sau sa stearga nivelul sau etajul hotelului pe care vor fi introduse camerele.
Butonul “Administratori” deschide o pagina in care se va configura administratorul sau administratorii aplicatiei, cu datele acestuia sau acestora.
Butonul “Logout” face iesirea in siguranta din aplicatie, facand intoarcere la pagina principala.
Capitol 5. Concluzii
Despre aceasta aplicatie s-ar putea scrie foarte mult, la fel si despre componenta sa, sistemul informatic, dar este mai importanta gasirea solutiilor pentru a le eficientiza decat a scrie despre acestea.
In lucrarea de fata am incercat sa prezint o imbunatatire a in turism, si in rezervarile hoteliere, creeand o aplicatie web destinata unei unitati hoteliere pentru preluare si prelucrare de date.
Consider ca aceasta aplicatie poate fi folosita in conditii cat mai apropiate de cele reale cu conditia alocarii unor resurse considerabile de timp pentru testarea acesteia.
Competiția înseamnă totul in zilele noastre si pentru a fi cel mai bun trebuie sa oferi un serviciu de cea mai buna calitate si la cel mai bun pret de pe piata.
Bibliografie
Manualul de referinta PHP , editia 2002
Manualul de referinta MySQL 3.23.38
Manualul de referinta JavaScript 1.3
Programarea in Web – Kris Jamsa , Steve Weakley, Editura ALL Education, 1999
Dezvoltarea aplicatiilor Web folosind PHP 4 – Bill McCarty, Editura Teora, 2002
MySQL – Paul DuBois, Editura Teora, 2001
Initiere in JavaScript si tehnologiile Netscape – Dan Somnea,Editura Tehnica, 1998
Specificatia de referinta pentru CSS-level1,pusa la dispozitie pe www.w3.org
Dibachi, Rhonda – Testing e-commerce, Software Testing & Quality
Engineering, 1999
Everett, Jerry – Software Testing Hits the Big Time, IBM, 2002
Ghilic-Micu, Bogdan, Stoica Marian – eActivitatile în societatea informationala, Editura Economica, Bucuresti, 2002
Hawknis, John L. – What’s e-business?, E-Business Advisor Magazine,1999
Hayes, Linda G. – Testing Distributed Applications: Unraveling the Web, 1996
Ivan, Ion, Pocatilu, Paul– Testarea software orientat obiect, Editura Inforec,Bucuresti, 1999
Ivan, Ion, Pocatilu, Paul, Sinioros, Panagiotis – Testarea aplicatiilor e-business,
Lucrarile Simpozionului SIMPEC, , 2000
Bibliografie
Manualul de referinta PHP , editia 2002
Manualul de referinta MySQL 3.23.38
Manualul de referinta JavaScript 1.3
Programarea in Web – Kris Jamsa , Steve Weakley, Editura ALL Education, 1999
Dezvoltarea aplicatiilor Web folosind PHP 4 – Bill McCarty, Editura Teora, 2002
MySQL – Paul DuBois, Editura Teora, 2001
Initiere in JavaScript si tehnologiile Netscape – Dan Somnea,Editura Tehnica, 1998
Specificatia de referinta pentru CSS-level1,pusa la dispozitie pe www.w3.org
Dibachi, Rhonda – Testing e-commerce, Software Testing & Quality
Engineering, 1999
Everett, Jerry – Software Testing Hits the Big Time, IBM, 2002
Ghilic-Micu, Bogdan, Stoica Marian – eActivitatile în societatea informationala, Editura Economica, Bucuresti, 2002
Hawknis, John L. – What’s e-business?, E-Business Advisor Magazine,1999
Hayes, Linda G. – Testing Distributed Applications: Unraveling the Web, 1996
Ivan, Ion, Pocatilu, Paul– Testarea software orientat obiect, Editura Inforec,Bucuresti, 1999
Ivan, Ion, Pocatilu, Paul, Sinioros, Panagiotis – Testarea aplicatiilor e-business,
Lucrarile Simpozionului SIMPEC, , 2000
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Sistem Informatic Folosit Pentru Rezervari Turistice (ID: 146623)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
