Arkitektura baze e aplikacioneve web - Faqja Kryesore

Download Report

Transcript Arkitektura baze e aplikacioneve web - Faqja Kryesore

Arkitektura baze e
aplikacioneve web
Leksion 1
Ne nivelin baze, Web-i funksionon ne nje
arkitekture klient/server.
 Pra edhe serveri qendror, edhe nje aplikim
klient, jane secili pergjegjes per nje pjese te
procesimit te te dhenave.
 Kjo ndryshon nga nje program si Microsoft
Word, i cili punon pa patur nevoje per
ndihmen e nje serveri.
Arkitektura Klient/Server
Serveri
Klienti
Klienti
 Aplikacionet qe mund te zhvilloni me MySQL dhe
PHP perdorin nje klient te vetem: Web browser-in.
 Kjo nuk eshte mundesia e vetme per aplikacionet
te bazuar ne Internet. Per aplikacione shume te
sofistikuara qe kerkojne me shume procesim ne
anen e klientit, ose qe u nevojitet te ruajne
gjendjen, mund te jete i nevojshem nje aplet Java.
 Por ne shumicen e rasteve Java ne klient nuk
eshte e nevojshme, prandaj i vetmi klient per te
cilin duhet te shqetesoheni eshte Web browseri.
Klienti
 Aplikacionet do te nevojitet qe te shfaqen ne
browser.
 Siç e dini, gjuha kryesore per browser-at HTML.
HTML ka nje bashkesi tagesh qe pershkruajne se
si duhet te duket nje faqe Web.
 Natyrisht shumica e browser-ave pranojne perveç
HTML-se, te gjitha llojet e plug-ineve, duke
perfshire RealPlayer, Flash, dhe Shockwave.
Shumica e browserave suportojne JavaScript dhe
XML.
Serveri
 Pothuajse e gjithe puna e aplikacioneve ne Web ndodh ne
server. Nje aplikacion specifik ne Web server, do te jete i
pergjegjshem per komunikimin me browserin.
 Ndersa nje server i databazes relacionale ruan çfaredo
informacioni qe kerkon aplikacioni.
DB Server
Serveri
 Se fundi nevojitet nje gjuhe per te shkembyer
kerkesat ndermjet serverit web dhe serverit te
databazes.
 Kjo gjuhe do te perdoret gjithashtu per te kryer
detyra programatike ne informacionin qe hyn dhe
del nga serveri Web. Figura I-1 paraqet kete
sistem.
 Por natyrisht asnje nga keto nuk eshte e mundur
pa nje sistem shfrytezimi. Serveri Web, gjuha e
programimit dhe serveri i databazes qe perdorni
duhet te punojne mire me sistemin tuaj te
shfrytezimit.
Sistemi i shfrytezimit
 Ka shume sisteme shfrytezimi, nder te cilet me
populloret jane Windows dhe Macintosh OS.
Pavaresisht nga lloji i sistemit te shfrytezimit,
qe jeni mesuar te perdorni, per te ndertuar
aplikacione ne Web duhet te njiheni mire
Windows NT/2000 ose Unix, sepse keto dy
sisteme perbejne mbi 90% te te gjithe Web
serverave.
Cilin sistem shfrytezimi duhet te
perdorni?
 Kjo eshte nje pyetje komplekse dhe pergjigja
varet nga besimi i secilit.
 PHP dhe MySQL i perkasin nje klase te softwareve te njohura si open source (me kod burim te
hapur). Kjo do te thote qe kodi burim i
aplikacioneve te tyre eshte i perdorshem per kedo
qe deshiron ta shohe ate. Ata perdorin nje model
zhvillimi open-source, i cili lejon kedo qe eshte i
interesuar, te marre pjese ne zhvillimin e projektit.
Cilin sistem shfrytezimi duhet te
perdorni?
 Ne rastin e PHP-se, koduesit ne te gjithe boten marrin
pjese ne zhvillimin e gjuhes dhe kane nje pagese te
menjehershme per punen e tyre te vertete. Shumica e
ketyre njerezve jane te apasionuar rreth softwareve dhe
kodit te mire dhe kane kenaqesi te shohin se si njerez si
ne, perdorin mjetet e tyre.
 Kjo metode e zhvillimit ka qarkulluar per shume kohe, por
ka dominuar me shume me rritjen e popullaritetit te Linuxit. Ne shumicen e rasteve, softwaret opensource jane
falas. Mund ta download-oni aplikacionin, ta instaloni ate
dhe ta perdorni pa i marre leje kujt dhe pa i paguar asgje
askujt.
Cilin sistem shfrytezimi duhet te
perdorni?
 Ndersa Microsoft, Oracle, dhe kompani te tjera te
softwareve tradicionale nuk e perdorin kete metode
zhvillimi. Nese nuk jeni nje fanatik i open-source, ka arsye
te forta per te perdorur NT/2000. Zakonisht ajo qe i drejton
njerezit NT/2000 eshte inercia. Nese kompania ku punoni
ka zhvilluar me produkte te Microsoft-it per vite, do te jete
me e lehte qe te qendroni brenda atij mjedisi. Nese keni
nje ekip zhvilluesish qe dine Visual Basic, ndoshta do t’ju
duhet te punoni me NT/2000. Edhe ne kete rast, nuk ka
asgje qe ju pengon te zhvilloni me PHP dhe MySQL. Te dy
keto produkte punojne ne Windows 95/98 dhe Windows
NT/2000.
Web serveri
 Web serveri kryen ate qe duket te jete nje pune e
drejtperdrejte. Ai qendron aty, duke punuar mbi sistemin e
shfrytezimit, duke degjuar per kerkesat qe ben dikush ne
web, i pergjigjet ketyre kerkesave dhe kthen faqet Web te
pershtatshme.
 Ne realitet kjo eshte me e nderlikuar se kaq dhe per shkak
te natyres se Web-it, qendrueshmeria e Web serverit
eshte nje problem me madhor. Ka shume web servera,
por dy web servera dominojne tregun: Apache dhe
Internet Information Server (IIS) i Microsoft-it:
INTERNET INFORMATION SERVER (IIS)
 IIS eshte i lidhur ngushte me Windows dhe eshte
nje komponent kyç Microsoft’s Active Server
Pages (ASP).
 Prandaj nese keni zgjedhur menyren Microsoft-it,
me siguri do te perfundoni duke perdorur IIS-ne.
Ka integrim te madh mes gjuhes se programimit
dhe Web serverit, por edhe PHP4 integrohet mire
me IIS-ne.
Apache
 Web serveri Apache eshte Web serveri me
popullor.
 Ai eshte nje projekt open-source, ashtu si Linux,
PHP, dhe MySQL. Jo per çudi Apache punon me
mire ne mjediset Unix, por gjithshtu punon mire
eshte ne Windows.
 Apache perdor module te paleve te treta. Meqe
eshte open source, kushdo qe ka aftesi mund te
shkruaje kod qe zgjeron funksionalitetin e
Apache-it. PHP shpesh do te ekzekutohet si nje
zgjerim Apache-it, i njohur si nje modul i Apacheit. Apache eshte nje Web server i madh, shume i
shpejte dhe i qendrueshem.
Apache
 Megjithese Apache punon me mire ne sisteme
Unix, ka gjithashtu versione qe ekzekutohen ne
sisteme shfrytezimi Windows.
 Por nese keni vendosur qe te perdorni platforma
Windows per te shfaqur faqet web, eshte me mire
te perdorni IIS-ne. Mund te ekzekutoni Apache,
PHP, dhe MySQL ne nje makine Windows dhe me
pas t’i transferoni keto aplikacione ne Linux,
praktikisht pa asnje ndryshim ne skripte.
Middleware
 PHP i perket nje klase gjuhesh te njohur si
middleware – software i mesem.
 Keto gjuhe punojne drejteperdrejte me serverin
Web, per te interpretuar kerkesat e bera nga
World Wide Web, i procesojne keto kerkesa,
nderveprojne me programe te tjera ne server per
te permbushur kerkesat dhe pastaj i tregojne Web
serverit saktesisht se cfare duhet te dergojne ne
browserin e klientit.
Middleware
 Middleware eshte vendi ku do te kryeni pjesen me
te madhe te punes.
 Me pak perpjekje mund te vihet serveri ne pune
dhe pasi te jete ne pune, nuk do t’ju duhet te
shqetesoheni per te. Por gjate kohes qe te jeni
duke zhvilluar aplikacionet tuaja, do te kaloni
shume kohe duke shkruar kodin qe ve ne pune
aplikacionet.
 Perveç PHP-se, ka shume gjuhe qe kryejne te
njejtet funksione. Disa nga me populloret jane
ASP, Perl dhe ColdFusion.
Databazat Relacionale
 Sistemet e Manaxhimit te Databazave Relacionale
(RDBMS) sigurojne nje menyre te mire per te ruajtur dhe
per te aksesuar informacion kompleks. Ka nje kohe te
gjate qe ata jane ne qarkullim. Ne fakt ato datojne qe
perpara Web-it, Linux-it dhe Windows NT, prandaj nuk
eshte per t’u çuditur qe ka shume RDBMS qe mund te
zgjedhim. Te gjithe databazat kryesore perdorin Structured
Query Language (SQL).
 Disa nga RDBMS-te me popullore jane Oracle, Sybase,
Informix, SQL Server i Microsoftit, dhe db2 i IBM-se.
Perveç MySQL-se, databaza relacionale open-source jane
edhe PostgreSQL dhe Interbase.
Pyetje?