2. Tehnologiile utilizate la realizarea aplicației În următorul capitol vom prezenta tehnologiile utilizate pentru realizarea aplicației web de… [622963]

5
2. Tehnologiile utilizate la realizarea aplicației

În următorul capitol vom prezenta tehnologiile utilizate pentru realizarea aplicației
web de gestionare angajaților dintr-un restaurant. Menționam că aceasta aplicatie va putea fi
accesata printr-un navigator web si va rula pe un server HTTP.

2.1 Prezentare generală a unei aplicații web

O aplicație web (web app) este definită ca orice fel de program cu o functie specifică
care foloseste browser-ul ca si client. Când vorbim de aplicații web ne referim in aceeași
măsură si la aplicații simple cum ar fi un forum sau un formular de contact, cât si la programe
complexe, ca de exemplu un joc multi – player pe care il descărcăm pe telefon.

Figura 2.1 Prezentarea grafică a unei aplicații web

Dezvoltarea web a devenit mai importantă pentru a modela felul în care oamenii
interacționează, lucrează, învață și consumă.[4]4

Aplicațiile web au apărut inainte ca World Wide Web să inceapă să devină foarte
popular. Primele aplicașii au fost relative simple dar sfârsitul anilor 90 a inceput sa vadă un
impuls spre aplicații mai complexe. In zilele noastre, milioane de oameni folosesc aplicații
web pentru diverse sarcini, cum ar fi plata facturilor sau a sta in contact cu prieteni si familie.
Dezvoltarea web a devenit mai importantă pentru a modela felul în care oamenii
interacționează, lucrează, învață și consumă.
Dacă ați folosit internetul suficient de mult sigur ați observat cum aplicațiile web
populare cum ar fi clienții de email de la Gmail sau Yahoo au evoluat de-a lungul timpului.
Mare parte din sofisticarea acestor aplicații se datoreaza tehnologiei AJAX, care este un
model de programare pentru crearea unor aplicații web mai receptive.

4 [4] Wellens, Paul (2015) „Practical Web Development”

6
Printre avantajele unei aplicații web se numar faptul ca usurează munca
dezvoltatorului care nu mai e nevoit să construiască aplicații diferite pentru fiecare tip de
calculator sau diverse sisteme de opererare; din moment ce aplicația rulează direct in browser
oricine cu o conexiune la internet o poate folosi. Deși unele aplicatii web necesită un browser
specific, in majoritatea cazurilor nu ne lovim de aceasta problemă. Alte avantaje ar fi
faptul că mentenanța este rapida si usoară și din cauza stocării pe server, nu ocupam
spațiu pe hard disk.
Aplicațiile web se contruiesc folosind o combinație de tehnologii pentru partea
de server(Java, PHP etc) si partea de client (HTML, CSS, JavaScript etc.) iar la
acestea se pot adăuga si tehnologii pentru legătura cu baza de date (MySql, Oracle
etc).. Partea de client se ocupă cu prezentarea informațiilor intr-un mod placut si ușor
de ințeles pentru utilizator, in timp ce partea de server se ocupa de lucrurile mai
dificile cum ar fi manipularea si stocarea informație.

2.2 Bootstrap

Bootstrap este probabil cel mai popular cadru frontal pentru dezvoltarea
proiectelor mobile de pe web în ultimii ani, depozitul său de pe github primește mai
mult de 100 de mii de stele. Milioane de site-uri web utilizează nu numai pentru că
este ușor de învățat și de utilizat, ci si din cauza flexibilității personalizării.[5]5
Boostrap este al treilea cel mai stelat proiect de pe Github, cu mai mult de
131,000 de stele, depăsit doar de freeCodeCamp (aproape 300,000) stele si depăsind
Vue.js. Potrivit Alexei Rank, bootstrap getboostrap.com se află in top 2000 in SUA in
timp ce vuejs.org este in top 7000 in SUA.[6]6
Bootstrap e un framework HTML, CSS, JavaScript cu clase si teme/ template-
uri predefinite folosit pentru a construi pagini web. Numele său original a fost Twitter
Blueprint si a fost dezvoltat de Mark Otto si Jacob Thornton cu scopul de a încuraja
consistența între diversele instrumente ale internetului.
Odată adaugat unui proiect, acest framework vine cu stiluri de bază predefinite
pentru elemente HTML si CSS precum formulare, navigare, butoane, tabele, alerte si
multe altele precum si extensii JavaScript opționale. Boostrap oferă abilitate de a crea
pagini web mai receptive si cu mai puțin efort iar rezultatul final este un aspect
uniform pentru tabele si formulare in orice browser.

2.2.1 HTML
HTML se referă la Hypertext Markup Language si este o abordare bazata pe
text pentru a descrie modul in care continutul unui fisier HTML este structurat. Acesta
indică unui browser web, cu ajutorul marcajelor, cum sa afișeze textul, imaginile si

5 [5] Feng, Bo (2017) „Make Boostrap Themes”
6 [6] "Website Traffic, Statistics and Analytics – Alexa"

7
alte forme de multimedia pe o pagina web cu ajutorul unor etichete (“tag-uri”). Printre cele
mai commune etichete găsim <H1>, <H2> care descriu un header de nivel 1, respective nivel
2, <p> pentru a descrie un paragraph, <table> pentru un tabel si multe altele. De asemenea,
un document care conține text poate fi marcat suplimentar pentru a descrie modul in care ar
trebui afișat documentul.
De exemplu, folosirea codului de mai jos va genera elementele din figura 2.2.1.2.

Figura 2.2.1 Exemplu element HTML

Limbajul HTML poate fi citit si editat folosind un simplu editor de text dar din cauză
că scrierea si modificarea paginilor solicita timp si multe cunoștinte ar putea fi de preferat să
se foloseasca editoare grafice precum Macromedia Dreamweaver, Adobe GoLive sau
Microsoft FrontPage.
Codul HTML a fost dezvoltat de către un om de știință în 1990, cu mult înainte ca
internetul a început să devină o afacere mare. Cu toate acestea, limbajul va continua să fie
unul dintre cele mai utilizate limbaje, deoarece este utilizat pe fiecare site web. Fără tagul
<html>, care este în esență modul în care funcționează HTML prin utilizarea etichetelor, un
site web nu ar funcționa corect deoarece ar arăta ca o grămadă de cuvinte amestecate in
browserele care încearcă să furnizeze vizitatorilor informații.[7]7
Aplicația noastră de gestiune a angajaților utilizeaza HTML in combinație cu
framework-ul Boostrap pentru afișarea conținutului într-un browser web si permite oricând
modificarea in funcție de cerințele clientului.

7 [7] Myers, Austin (2013) „Learn HTML Programming in 7 Days: Ultimate Beginners Guide to Build
and Design Your Own Website”

8
2.2.2 CSS
Deși există multe motive pentru care CSS este preferabil față de standardul HTML,
unul dintre cele mai convingătoare este că, spre deosebire de tabelele HTML, CSS vă permite
să păstrați conținutul separat de etichete și celălalt cod.[8]8
Scurt pentru “Cascading Style Sheets”, CSS este un limbaj folosit pentru a
descrie stiluri reutilizabile pentru prezentarea unor informații scrie într-un limbaj de
tip Markup (HTML). Acesta poate fi utilizat pentru schimbarea designului unei pagini
web, de exemplu pentru a schimba dimensiunea si culoarea unui element HTML
specific. Un singur fișier CSS poate fi legat la multe pagini web, lucru care permite
dezvoltatorului să schimbe designlui tuturor paginilor în același timp si fără prea mult
efort. Alte beneficii ar fi micșorarea codului paginii si implicit încarcarea mai rapid a
acestuia.
Sintaxa CSS se poate folosi pe trei nivele:
 Nivel 1 – In proprietătile etichetelor din documentul HTML, folosind atributul style
(tip inline)
 Nivel 2 – Informația introdusa in blocul HEAD, utilizând marcajrul <style> (tip
embedded)
 Nivel 3 – Informațtia scrisă într-o pagina separata si legata la o pagina HTML (tip
extern)
Sintaxa de nivel 1 are cea mai mare prioritate pe când cea de nivelul 3 o are pe
cea mai mica. Utilizarea celei de nivel 3 este recomandata deorece mai multe fișiere
HTML pot folosi același fișier CSS eliminând astfel timpul necesar unor anumite
schimbări.
Un exemplu concret îl găsim in codul de mai jos cu ajutorul căruia se poate realiza
pagina din figura 2.2.2.

8 [8] Harrel, William (2011) „HTML, CSS and JavaScript Mobile Development For
Dummies”

9

Figura 2.2.2 Exemplu de styling CSS pe un element HTML

2.2.3 JavaScript
JavaScript este un limbaj de programare pentru web, în continuă evoluție, care a
parcurs un drum lung de la începuturile sale. Posibil mai mult decât orice alt limbaj de
programare, a crescut și sa schimbat o data cu creșterea World Wide Web-ului.[9]9 Este
suportata de majoritatea browserelor web, inclusive Chrome, Firefox, Safari, Internet
Explorere, Edge, Opera etc și de majoritatea browselor de telefoane mobile.
Acesta este folosit în principal pentru a îmbunătăți paginile web si pentru a oferi o
experiență mai plăcută pentru utilizator. Acestea includ actualizarea dinamică a paginilor
web, îmbunătățiri ale interfeței cu utilizatorul, cum ar fi meniuri și casete de dialog, animații,
grafică 2D și 3D, hărți interactive, playere video și multe altele. Acest mod de utilizare a
JavaScript în browser-ul web este denumit și “client-side javasript”.
Când luam in considerare componentele care alcătuiesc o pagina web, JavaScript este
a treia componenta a triadei, celelalte doua fiind HTML si CSS (Figura 2.2.3). Așa cum
HTML descrie pagina iar CSS este folosit pentru a personaliza aspectul, JavaScript este
folosit pentru a adăuga componența dinamică.
Figura 2.2.3 Triada paginii web

9 [9] Timms, Simon (2014) „Mastering JavaScript design Patterns”

10
JavaScript are o serie de avantaje care îl fac o alegere bună, mai ales in
anumite cazuri de utilizare. Printre acestea amintim faptul că nu aveti nevoie de un
compilator deorece browserele web il interpreteaza cu HTML; este mai ușor de
învatat decât alte limbaje de programare, functionează in mai multe browsere și
platforme si nu în ultimul rând faptul că face site-urile mai interective si mai plăcute
utilizatorului.
Pe de altă parte, există deficiențe în fiecare limbaj de programare la care vă
puteți gândi. O parte a problemei este că atunci când un limbaj devine la fel de
popular ca și JavaScript, există un stimulent suplimentar pentru hackerii, escrocii și
alte părți terțe răuvoitoare pentru a încerca să găsească lacune și deficiențe de
securitate. Printre punctele slabe se numără faptul ca poate fi folosit pentru a executa
cod rau intentionat pe computerul unui utilizator, fragmentele de cod sunt destul de
mari si că poate fi redat diferit pe diverse dispositive, lucru care duce la incosistentă.
JavaScript este, de obicei, fie încorporat direct într-o pagină web, fie referit
printr-un fișier .js separat. Este o limbă a clientului, ceea ce înseamnă că scriptul este
descărcat pe mașinile vizitatorilor și procesat acolo, spre deosebire de limbajul unui
server care este executat pe server înainte de a trimite fișiere vizitatorilor.
Cel mai comun mod de a adauga JavaScript unei pagini web este de a folosi o etichetă
HTML de tip <script>. In funcție de nevoile fiecaruia, putem să folosim una din următoarele
metode:
 Incărcâm un fișier javascript extern:

 Specificăm URL-ul complet in caz că folosim javascript de pe o altă pagină web

 Direct in HTML

11
2.3 Stripes
2.3.1 Prezentare generală a framewok-ului Stripes
Stripes este un cadru de aplicații web open source bazat pe modelul model-view-
controller (MVC). Scopul său este să fie un cadru de greutate mai ușor decât Struts, prin
utilizarea tehnologiilor Java, cum ar fi adnotările și genericele care au fost introduse în Java
1.5, pentru a atinge "convențional peste configurație". Acest lucru pune accentul pe ideea că
un set de convenții simple utilizate în întreg cadrul reduc cheltuielile de configurare. În
practică, aceasta înseamnă că aplicațiile Stripe au nevoie de fișiere de configurare, reducând
astfel activitatea de dezvoltare și întreținere.[10]10
Stripes "ActionBean” este un obiect care primește datele transmise în cereri și
procesează intrarea utilizatorului. Ambele definesc proprietățile formei și logica de procesare
a formei. Stripes descoperă automat ActionBeans la timpul de desfășurare prin scanarea căii
de clasă a aplicației web. Pachetul ActionResolver.Packages init-param al filtrului Stripes (în
web.xml) stabilește una sau mai multe rădăcini de pachete.
Rezoluția este un obiect creat ca răspuns la cererea procesată. O rezoluție poate
transmite la o pagină JSP, poate transmite date sau poate returna un mesaj de eroare.
Rezoluțiile sunt returnate de metodele Handler ale ActionBeans.

2.3.2 Java
Java este un limbaj de programare utilizat pe scară largă, conceput în mod expres
pentru utilizarea în mediul distribuit al internetului. Este cel mai popular limbaj de
programare pentru aplicațiile smartphone Android și este, de asemenea, printre cele mai
favorizate pentru dezvoltarea dispozitivelor de vârf și a internetului lucrurilor.
Java a fost dezvoltat datorită necesității unui limbaj neutru pentru a fi folosit in
crearea de software care să fie încorporat în diferite dispozitive electronice de consum, cum
ar fi cuptoarele cu microunde și telecomenzile. [11]11
Java a fost de asemenea conceput și pentru a avea aspectul limbajului de programare
C ++, dar este mai simplu de utilizat și impune un model de programare orientat pe obiect.
Java poate fi folosit pentru a crea aplicații complete care pot fi difuzate pe un singur
computer sau pot fi distribuite între servere și clienți dintr-o rețea. Acesta poate fi, de
asemenea, utilizat pentru a construi un modul de aplicație mic sau un applet pentru utilizare
ca parte a unei pagini Web.
Este dificil să furnizăm un singur motiv pentru care limbajul de programare Java a
devenit atât de popular. Cu toate acestea, caracteristicile majore ale limbii au jucat cu toții un
rol în succesul său, incluzând următoarele componente:
 Programele create în Java oferă o portabilitate într-o rețea. Codul sursă este
compilat în ceea ce Java numește bytecode, care poate rula oriunde într-o rețea, pe

10 [10] Daoud, Frederic (2008) „Stripes: … and Java Web Development is Fun Again ”
11 [11] Chaudhary,H. Harry (2014) „Core Java Professional: Think Twice – Code Once”

12
un server sau pe un client care are o mașină virtuală Java (JVM). JVM
interpretează codul bytecode în cod care se va difuza pe hardware-ul computerului.
În schimb, majoritatea limbajelor de programare, cum ar fi COBOL sau C ++, vor
compila codul într-un fișier binar. Fișierele binare sunt specifice unei platforme,
deci un program scris pentru o mașină Windows bazată pe Windows nu poate rula
un Mac, un dispozitiv bazat pe Linux sau un mainframe IBM. Ca o alternativă la
interpretarea unei instrucțiuni bytecode la un moment dat, JVM include un
compilator opțional just-in-time (JIT), care compilează dinamic codul bytecode în
cod executabil. În multe cazuri, compilația dinamică JIT este mai rapidă decât
interpretarea mașinii virtuale.

 Java este orientat pe obiecte. Un obiect este alcătuit din date ca câmpuri sau
atribute și codificat ca proceduri sau metode. Un obiect poate fi o parte a unei clase
de obiecte care să moștenească un cod comun clasei. Obiectele pot fi considerate
ca "substantive" pe care un utilizator le poate face referire la "verbe". O metodă are
capabilitățile sau comportamentele obiectului. Java utilizează, de asemenea, un
colector automat de gunoi pentru a gestiona ciclurile de viață ale obiectului. Un
programator va crea obiecte, dar colectorul de gunoi automat va recupera memoria
când obiectul nu mai este folosit.

 Codul este robust. Spre deosebire de programele scrise în C ++, obiectele Java nu
conțin referințe la date externe pentru ele sau alte obiecte cunoscute. Acest lucru
asigură faptul că o instrucțiune nu poate include adresa datelor stocate într-o altă
aplicație sau în sistemul de operare în sine, oricare ar determina încetarea sau
prăbușirea programului și, eventual, a sistemului de operare. JVM face o serie de
verificări pe fiecare obiect pentru a asigura integritatea.

 Datele sunt sigure. Spre deosebire de C ++, Java nu foloseste pointeri, care pot fi
negarantate. Datele convertite în bytecode de către Java nu sunt, de asemenea,
lizibile oamenilor. În plus, Java va rula programe în interiorul unei cutii de nisip
pentru a preveni schimbările din surse necunoscute.

 Applets oferă flexibilitate. În afară de a fi executat pe client mai degrabă decât pe
server, un applet Java are alte caracteristici proiectate pentru a face să ruleze rapid.

 Dezvoltatorii pot învăța Java rapid. Cu sintaxa similară cu C ++, Java este relativ
ușor de învățat, mai ales pentru cei cu fundal în C.
O concepție greșită este că există o asociere între Java și JavaScript. Cele două limbi
împărtășesc asemănări în sintaxă, dar, altfel, există două construcții foarte diferite. In figura
2.3.2.1 avem un classic program care printeaza “Hello World| in Java iar in figura 2.2.2.2
avem omologul sau in Javascript.

13

Figura 2.3.2.1 Cod pentru a printa “Hello World” scris in Java

Figura 2.3.2.2 Cod pentru a printa “Hello World” scris in Javascript

2.4 AJAX

AJAX nu este un limbaj de programare sau un instrument, ci un concept. AJAX este
un script pe partea clientului care comunică către și de la un server / bază de date fără a fi
nevoie de o postback sau o reîmprospătare completă a paginii, mai exact este metoda de
schimb de date cu un server și actualizarea unor părți dintr-o pagină web – fără reîncărcarea
întregii pagini.. Ajax este în mare parte un termen generic pentru diverse tehnici JavaScript
folosite pentru a vă conecta un server web dinamic, fără a încărca în mod necesar mai multe
pagini.
AJAX folosește un obiect XMLHttpRequest încorporat în browser pentru a obține
date de la serverul web și de la JavaScript și HTML DOM pentru a afișa acel conținut către
utilizator. În ciuda numelui "AJAX", aceste apeluri pot transporta de asemenea date ca text
simplu sau JSON în loc de XML. In figura 2.4 putem observa grafic cum funcționeaza
apelurile AJAX.

14

Figura 2.4 Modul de funcționare al apelurilor AJAX

2.5 jQuery

jQuery este o bibliotecă JavaScript. Aceasta înseamnă că este construit folosind
JavaScript, acceptă metode și funcții Javascript. Dar, jQuery poate face mai mult într-o
singură linie de cod decât poate face JavaScript într-o întreagă funcție. Acest lucru scurtează
timpul de dezvoltare și face munca dezvoltatorului mai ușoară.
Unul din motivele pentru care jQuery a devenit atât de populară este probabil
capabilitățile cross-platform. Se remediază automat erorile și rulează în același mod
pe cele mai frecvent utilizate browsere, cum ar fi Chrome, Firefox, Safari, MS Edge,
IE, Android și iOS.
jQuery face si lucrul cu Ajax mult mai ușor. Ajax funcționează asincron din
restul codului iar asta înseamna că o bucată de cod scrispă cu Ajax poate comunica cu
serverul și să-și actualizeze conținutul fără a mai trebui să reîncarce pagina. Acest
lucru vine totuși cu probleme. Diferitele browsere execută API-ul Ajax diferit. Astfel,
codul trebuie să adere la toate browserele. Manual, aceasta este o muncă dificilă și
consumatoare de timp. Din fericire, jQuery face toată munca mai ușoară și adaptează
codul la toate browserele web.
Apoi, există manipularea DOM (Document Object Model), care are mai multe
metode în care se poate folosi. jQuery vă permite să inserați și / sau să eliminați
elemente DOM într-o pagină HTML într-un mod foarte ușor.

15
Eleganța bibliotecii se datorează parțial designului și parțial datorită procesului
evolutiv stimulat de comunitatea vibrantă care a apărut în jurul proiectul. Utilizatorii jQuery
se adună pentru a discuta nu numai despre dezvoltarea pluginurilor, dar și despre îmbunătățiri
ale bibliotecii de bază. Utilizatorii și dezvoltatorii ajută de asemenea imbunătățind continuu
documentația oficială a proiectului, care poate fi găsită la http://api.jquery.com.[12]12
In bucătile de cod de mai jos aratăm diferența dintre codul JavaScript și codul jQuery:

2.6 JSON

JSON este prescurtare pentru notația “JavaScript Object Notation” și este o modalitate
de a stoca informațiile într-un mod organizat, ușor de accesat. Pe scurt, ne oferă o colecție de
date citite de om, pe care le putem accesa într-o manieră cu adevărat logică.
Deși Douglas Crockford a afirmat inițial că JSON este un subset strict al JavaScript,
specificația sa permite de fapt documente JSON valabile care nu sunt JavaScript. În mod
specific, JSON permite ca terminatoarele de linie Unicode U + 2028 LINE SEPARATOR și
SEPARATORUL PARAGRAFIC U + 2029 să apară neevaporate în șiruri cotate, în timp in
ECMAScript 2018 nu se regasesc.[13]13
Mai jos avem un exemplu simplu despre cum arata cod in format JSON:

Acest cod creează un obiect pe care îl accesăm folosind variabila “jason”. Prin
includerea valorii variabilei în acolade, indicăm faptul că valoarea este un obiect. În interiorul
obiectului, putem declara orice număr de proprietăți folosind o pereche "cheie": "valoare",
separate prin virgule. Pentru a accesa informațiile stocate în Jason, putem pur și simplu să ne
referim la numele proprietății de care avem nevoie. De exemplu, pentru a accesa informații
despre mine, am putea folosi următoarele fragmente:

12 [12] Chaffer,Jonathan; Swedberg, Karl (2013) „Learning Jquery”
13 [13] Holm, Magnus (2011) „JSON: The JavaScript subset that isn’t”

16

2.7 MySQL

MySQL este un sistem de gestiune a bazelor de date relațional, creat de compania
suedeza MySQL AB (în momentul de față deținută de Oracle). MySQL rulează ca un server,
facilitând conectarea mai multor utilizatori și accesul la mai multe baze de date. Este printre
cele mai populare sisteme de gestiune a bazelor de date, și chiar cel mai popular dintre
sistemele cu sursă deschisă (open-source) la ora actuală. MySQL este totodată un element
important al utilitarelor de tip LAMP (Linux, Apache, MySQL, PHP), care fac ușoară
configurarea și utilizarea unui server web.
Administrarea bazelor de date MySQL se poate face atât folosind modul linie
de comandă, cât și prin intermediul unor interfețe grafice precum: Heidi, MySQL
Administrator, MySQL Workbench sau phpMyAdmin.
Principalele caracteristici ale MySQL sunt:
 faptul că este un sistem de baze de date relațional;
 arhitectura client/server: mysql lucrează ca un server de baze de date la care se pot
conecta mai mulți clienți (programe de aplicație). Clienții pot rula pe aceeași
mașină fizică sau pot fi localizați pe un alt calculator, comunicând prin rețeaua
locală sau prin Internet;
 compatibilitatea SQL: după cum reiese și din denumirea sa, este folosit limbajul de
baze de date SQL, ca și limbaj standardizat pentru interogarea și actualizarea
datelor;
 viteza: MySQL este considerat una dintre cele mai rapide aplicații de lucru cu
bazele de date;
 independența de platformă: aplicațiile client pot rula pe o varietate de sisteme de
operare, iar MySQL ca și server poate de asemenea să fie executat pe platforme
precum: Apple Macintosh OS X, Linux, Microsoft Windows, dar și alte variante
de Unix, cum ar fi: AIX, BSDI, FreeBSD, HP-UX, Open BSD sau Solaris.
O altă caracteristică importantă a MySQL este faptul că poate rula pe
platforme cloud cum ar fi Amazon EC2, existând mai multe posibilități pentru
realizarea acestei facilități precum: utilizarea unei mașini virtuale cu MySQL instalat,
sau oferirea de servicii MySQL de către operatorul de găzduire.
Per ansamblu, popularitatea MySQL a atras mulți dezvoltatori web, dintre care
unii fara experiență IT anterioară. Când se confruntă cu sarcina de a transforma un
site static într-unul dinamic / tranzacțional sau de a integra date corporative în site,
dezvoltatorii sunt uneori înclinați să improvizeze o structură de date. Această structură
(sau lipsa structurii) poate funcționa pentru o anumită perioadă de timp, dar mai târziu
eșuează din cauza lipsei de adâncime. Poate că sistemul funcționează inițial pentru că

17
a fost mic, cu doar câteva funcții planificate și implementate, dar se destramă atunci când
utilizatorii solicită mai mult. O structură de date prost concepută nu poate fi modificată decât
într-o anumită măsură. [14]14

2.8 Apache Tomcat

Tomcat a fost introdus pentru prima dată în grupul open source în 1999 și prima sa
versiune lansată a fost 3.0.x. De atunci, a fost susținută în mod considerabil de comunitatea
open source și acceptată pe scară largă în industria IT. În scenariul actual, Tomcat rulează în
medii de producție, fiind folosit și pentru proiecte critice în diverse industrii. [15]15
Apache HTTP Server este un server web open source, recunoscut ca fiind cel mai
popular. Inițial a fost destinat mediilor de lucru Unix, dar apoi a fost portat în Windows și
alte sisteme de operare în rețea. Apache a avut un rol important în dezvoltarea web,
cunoscând o creștere impresionantă, iar în prezent este folosit la peste jumătate din paginile
de Internet active.
Apache a apărut ca o primă alternativă de calitate pentru Netscape Communications
Corporation, iar apoi s-a dezvoltat ca un rival competitiv pentru toate serverele web bazate pe
Unix. Fiind un program cu sursă deschisă , Apache este dezvoltat de o comunitate de
programatori coordonați de Apache Software Foundation. Apache poate rula pe o mare
varietate de sisteme de operare, precum: Unix, FreeBSD, Mac OS X, Linux, Microsoft
Windows.
Funcționalitatea Apache poate fi extinsă de o multitudine de module care variază de la
programarea pe partea de server, până la anumite scheme de autentificare dinspre client.
Printre limbajele de programare suportate de Apache putem enumera: mod_perl,
mod_python, Tcl și PHP. O calitate aparte a serverului Apache este reprezentată de găzduirea
virtuală, care constă în posibilitatea ca pe același server să fie găzduite mai multe site-uri
simultan.
Apache sau orice alt server web obișnuit nu poate gestiona Servlets și JSP. Deci,
folosim serverul Tomcat din subproiectul Apache numit Jakarta. Tomcat este implementarea
oficială de referință pentru specificațiile Servlet 2.3 și JSP 1.2. Tomcat este un container de
aplicație web bazat pe Java, este open source și este complet gratuit (Tomcat este lansat sub
licența software-ului Apache) si este dezvoltat de un grup de programatori voluntari.

14 [14] Delisle, Marc (2006) „Creating your MySQL Database: Practical Design Tips and Techniques
15 [15] Khare, Tanuj (2012) „Apache Tomcat 7 Essentials ”

18

Figura 2.8 Arhitectura Tomcat

2.9 Inteliji Idea

IntelliJ IDEA este un mediu de programare special sau un mediu integrat de
dezvoltare (IDE) destinat în mare măsură limbajului de programre Java. Acest mediu
este folosit în special pentru dezvoltarea de programe. Este dezvoltat de o companie
numită JetBrains, denumită în mod oficial IntelliJ. Acesta este disponibil în două
ediții: ediția comunitară, care este licențiată, și o ediție comercială cunoscută sub
numele de Ultimate Edition. Ambele pot fi utilizate pentru crearea de software care
poate fi vândut. Ceea ce face IntelliJ IDEA atât de diferit de omologii săi este ușurința
în utilizare, flexibilitate,designul său solid si usurinta de verificare a erorilor.
Într-un raport al Infoworld din 2010, IntelliJ a obținut cel mai mare scor al
centrului de testare din cele patru instrumente de programare Java: Eclipse, IntelliJ
IDEA, NetBeans și JDeveloper. [16]16

16 [16] Binstock, Andrew (2010) „InfoWorld review: Top Java programming tools”

Similar Posts