Arkitektura baze e aplikacioneve web Hyrje ne PHP

32
Leksion 7

description

Arkitektura baze e aplikacioneve web Hyrje ne PHP. 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. - PowerPoint PPT Presentation

Transcript of Arkitektura baze e aplikacioneve web Hyrje ne PHP

Page 1: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

Leksion 7

Page 2: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

Arkitektura Klient/ServerNe 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.

Page 3: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

Arkitektura Klient/ServerArkitektura Klient/Server

Klienti

Serveri

Kerkese

Pergjigje

Page 4: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

KlientiAplikacionet 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.

Page 5: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

ServeriPothuajse 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

Page 6: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

ServeriSe 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.

Page 7: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

Arkitektura e Aplikacioneve Web

Page 8: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

Sistemi i shfrytezimitKa 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.

Page 9: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

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.

Page 10: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

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.

Page 11: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

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.

Page 12: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

Web serveriWeb 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:

Page 13: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

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.

Page 14: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

ApacheWeb 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.

Page 15: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

ApacheMegjithese 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.

Page 16: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

MiddlewarePHP 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.

Page 17: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

MiddlewareMiddleware 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.

Page 18: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

Databazat RelacionaleSistemet 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.

Page 19: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

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.

Page 20: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

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).

Page 21: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

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-embeddedKodi PHP shkruhet ne skedare qe permbajne nje perzierje te instruksioneve PHP dhe kodit HTML

Server-sideProgramet 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)

Page 22: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

Cfare eshte PHP-ja?Gjuhe skriptimi ne webProgramet 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.

Page 23: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

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.

Page 24: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

Paraqitja e nje faqeje web

Page 25: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

Hapat per paraqitjen e nje faqeje web1. Autori shkruan instruksionet2. Klienti kerkon faqen web3. Web serveri lokalizon skedarin e

instruksioneve 4. Web serveri perpunon instruksionet per te

krijuar HTML5. Rreshtat HTML kthehen ne browser 6. Browseri perpunon HTML dhe afishon faqen.

Page 26: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

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

Page 27: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

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

Page 28: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

Paraqitja e nje faqeje web

Page 29: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

Pjeset e ndryshme te nje programi PHP

Page 30: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

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

Page 31: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

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.

Konceptet Parsing dhe Ekzekutim

Page 32: Arkitektura baze e aplikacioneve web Hyrje  ne PHP

Pyetje???