Arkitektura baze e aplikacioneve web - InfoEkonomike

Download Report

Transcript Arkitektura baze e aplikacioneve web - InfoEkonomike

Leksion 7

Arkitektura Klient/Server

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

Kerkese Pergjigje

Klienti Serveri

Klienti

 Aplikacionet qe mund te zhvilloni me MySQL dhe PHP perdorin nje klient te vetem: Web browser-in.

 Per aplikacione shume te sofistikuara qe kerkojne me shume procesim ne anen e klientit, 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.  Siç e dini, gjuha kryesore per browser-at eshte HTML.  Natyrisht shumica e browser-ave pranojne perveç HTML-se, te gjitha llojet e plug-ineve, duke perfshire RealPlayer, Flash, Shockwave, etj. Gjithashtu 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 çdo informacion qe kerkon aplikacioni.

Klient Web Server 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.

Arkitektura e Aplikacioneve Web

Sistemi i shfrytezimit

 Ka shume sisteme shfrytezimi, nder te cilet me populloret jane Windows, Macintosh OS, Unix. Pavaresisht nga lloji i sistemit te shfrytezimit, qe jeni mesuar te perdorni, per te ndertuar aplikacione ne Web duhet te njihni 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 software-ve 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. 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 Linux-it. Ne shumicen e rasteve, softwaret open-source 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ç i 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 PHP 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 gjithashtu punon mire edhe 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 Apache-it. 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.  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, ColdFusion, etj.

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.

Cfare eshte PHP-ja?

 PHP: Hypertext Preprocessor, eshte nje gjuhe programimi per te ndertuar web site dinamike interaktive, e shpikur nga Rasmus Lerdorf ne 1995. Qe atehere PHP-se i jane bere shume ndryshime dhe eshte pershtatur nga programues web-i kudo neper bote.

Cfare eshte PHP-ja?

 Ne terma teknike PHP eshte nje gjuhe skriptimi ne server (server-side web scripting language), platform kryq (cross-platform), i futur ne HTML (HTML embedded).

Cfare eshte PHP-ja?

Platform-kryq

 Kodi PHP mund te ekzekutohet ne disa sisteme shfrytezimi te ndryshme. Nje skript PHP qe ekzekutohet ne Linux zakonisht ekzekutohet edhe ne Windows.

HTML-embedded

 Kodi PHP shkruhet ne skedare qe permbajne nje perzierje te instruksioneve PHP dhe kodit HTML

Server-side

Programet PHP ekzekutohen ne web server. Nje skript ne server eshte nje instruksion qe perpunohet nga serveri dhe gjeneron HTML. (Ndersa nje faqe HTML e thjeshte nuk perpunohet ne server por dergohet ne browser dhe perpunohet nga browser-i)

Cfare eshte PHP-ja?

Gjuhe skriptimi ne web

Programet PHP ekzekutohen nepermjet nje web browser-i. Ne aksesojme web serverin ne te cilin ndodhen programet PHP, dhe ai ekzekuton programin duke i kthyer browserit rezultatet output. Kjo do te thote qe do te shkruajme programe qe perziejne kod PHP me HTML se bashku, duke perdorur PHP-ne per kontroll dhe HTML-ne per formatim. Me pas na duhet te vendosim keto programe ne nje web server per t’i ekzekutuar ato. Ne fund ato do t’i aksesojme nga nje web browser, i cili afishon rezultatet si HTML. Pra programi jone mund te behet i perdorshem nga njerez te tjere nepermjet web-it, thjesht duke e vendosur ate ne nje web server publik.

Cfare eshte PHP-ja?

Me ane te PHP-se mund te programoni site qe:  Paraqesin te dhena nga nje shumellojshmeri burimesh, si baza te dhenash apo skedare.  Inkorporojne elemente interaktive, si psh: lehtesi kerkimi, tabela mesazhesh, sondazhe, etj.

 Lejojne perdoruesit te kryejne veprime si dergime email-esh, ose blerje.

Pra, PHP mund te perdoret per te shkruar ato lloj web sitesh te cilat, çdo njeri qe eshte i familjarizuar me Web in, i perdor çdo dite.

Paraqitja e nje faqeje web

Hapat per paraqitjen e nje faqeje web

1.

2.

3.

4.

5.

6.

Autori shkruan instruksionet Klienti kerkon faqen web Web serveri lokalizon skedarin e instruksioneve Web serveri perpunon instruksionet per te krijuar HTML Rreshtat HTML kthehen ne browser Browseri perpunon HTML dhe afishon faqen.

Paraqitja e nje faqeje web

Ne hapin 3 web serveri duhet te lokalizoje faqen qe u kerkua dhe nese eshte faqe PHP, atehere web serveri duhet ta perpunoje PHP, ne menyre qe te gjeneroje kodin HTML qe i kthehet browserit (hapi 4). Ne kete faze, nese emri i faqes web ka prapashtesen .php, serveri e dergon ate , per t’u perpunuar, tek interepretuesi (parseri) i PHP-se (i cili i bashkangjitet web serverit).

Paraqitja e nje faqeje web

 Me pare permendem qe faqet PHP ndahen ne tekst, kod HTML dhe skripte PHP.  HTML-ja na lejon qe te vendosim skripte pothuajse ne çdo vend ne kodin HTML. Keshtu qe kur kerkohet faqja, çdo skript brenda faqes dergohet ne interpretuesin e PHP-se dhe gjeneron HTML-ne ekuivalente.

Paraqitja e nje faqeje web

Pjeset e ndryshme te nje programi PHP

Konceptet Parsing dhe Ekzekutim

 Interpretimi i skriptit PHP mund te ndahet ne dy nen procese. Kur nje faqe web dergohet tek interpretuesi i PHP-se ndodhin dy gjera: 1) Skripti PHP fillimisht kontrollohet per saktesi ne nje proces qe njihet si parsing

.

Kjo eshte njelloj si te kontrollohet nje fjali per gabime gramatikore. Kjo nuk siguron qe skripti PHP eshte i sakte, por thjesht kontrollon nese eshte konform nje bashkesie rregullash te paracaktuara.

Konceptet Parsing dhe Ekzekutim

2) Procesi i dyte qe quhet ekzekutim ndodh pasi eshte kontrolluar (parsed) skripti. Ketu zbuloni nese skripti juaj ka kuptim. Ekzekutimi eshte procesi i marrjes se nje rreshti te vetem skripti PHP dhe kthimin e tij ne kodin HTML ekuivalent. Ka dy vende ku interpretuesi i PHP-se mund te ktheje gabime: gjate parsing dhe gjate ekzekutimit. Nese ndodh kjo, kthehen gabime ne browser, ne te kundert ne browser kthehet nje faqe HTML te krijuar dinamikisht.

Pyetje???