25
Programimi i Shpërndarë Pjesa 2 Prof. Ass. Dr. Ermir Rogova 1

Programimi i Shpërndarë - rogova.info i shperndare 02.pdf · Programimi i Shpërndarë Pjesa 2 Prof. Ass. Dr. Ermir Rogova 1. Sfidat e projektimit apo dizanimit të Sistemeve të

  • Upload
    others

  • View
    45

  • Download
    2

Embed Size (px)

Citation preview

Programimi i ShpërndarëPjesa 2

Prof. Ass. Dr. Ermir Rogova

1

Sfidat e projektimit apo dizanimit të Sistemeve të Distribuara

Dizajnerët e sistemeve të shpërndara duhet të marrin parasysh sfidat e mëposhtme:

• Heterogjenitetin

• Komponentët heterogjene duhet të jenë në gjendje të ndërveprojnë.

• Hapja/përhapja (openness)

• Sistemi duhet të lejojë komponentët që të shtohen, zëvendësohen aporidizajnohen.

• Sigurinë

• Sistemi duhet të përdoret vetëm në mënyrën e synuar.

2

Sfidat e projektimit apo dizanimit të Sistemeve të Distribuara

• Shkallëzueshmëria

• Sistemi duhet të punojnë në mënyrë efikase edhe në rastet kur numri i përdoruesve është në rritje.

• Performanca e sistemit duhet të rritet apo përforcohet me përfshirjen e burimeve shtesë.

• Trajtimi i dështimit

• Dështimi i një komponenti (dështim i pjesshëm) nuk duhet të rezultojë në dështim të të gjithë sistemit.

• Transparenca

• Shpërndarja duhet të jetë e fshehur nga përdoruesit sa më shumë të jetë e mundur.

3

Heterogjeniteti

• Komponentët heterogjene që duhet të jenë në gjendje të ndërveprojnë, zbatohen në:

• Rrjetet

• Arkitekturën Harduerike

• Sistemet Operative

• Gjuhët Programuese

• Shembujt që maskojnë dallimet në rrjet, sistemet operative, harduerike dhe softuerike për të siguruar heterogjenitet janë:

• Middleware

• Protokollet e internetit

• Kodi Mobile

4

Heterogjeniteti

• Middleware

• Middleware aplikohet në shtresën softuerike.

• Middleware ofron një abstraksion të programimit.

• Middleware maskon heterogjenitetin e rrjeteve themelore, harduerike,sistemet operative dhe gjuhëve programuese.

• (CORBA - Common Object Request Broker ) është një shembull i middleware.

5

Heterogjeniteti

• Kodi Mobil

• Kodi Mobil është kodi që mund të dërgohet nga një kompjuter në tjetrin dhe të ekzekutohet në destinacion.

• Java applets janë shembull i kodit mobil.

• Makinë virtuale

• Makina virtuale siguron një mënyrë për të bërë kod ekzekutues në çdo harduer.

6

Përhapja

• Sistemet e shpërndara duhet të jenë të zgjerueshme.

• Përhapja e një sistemi kompjuterik është karakteristikë që përcakton nëse sistemi mund të zgjerohet dhe të ri-zbatohet në mënyra të ndryshme.

• Hapi i parë i përhapjes është publikimi i dokumentacionit tëkomponentëve softuerike dhe ndërfaqëve të komponentëve për t'i vendosur në dispozicion për zhvilluesit e programeve.

7

Siguria

Siguria e një sistemi kompjuterik është karakteristikë se burimetjanë të qasshme për përdoruesit e autorizuar dhe përdoren nëmënyrën se si janë të destinuara. Siguria për burimet einformacionit ka tre komponentë:

• Fshehtësinë

• Mbrojtja kundër zbulimit ndaj individit të paautorizuar.

• Integritetin

• Mbrojtja kundër ndryshimeve apo korrupsionit.

• Disponueshmërinë

• Mbrojtja kundër ndërhyrjeve me mjetet për të hyrë në burime.

8

Siguria

• Mekanizmat e sigurisë janë:

• Enkriptimi

• Authentikimi

• Autorizimi

9

Sfidat e sigurisë

• Sulmi i Mohimit të shërbimit

• Sulmi i mohimit të shërbimit është një përpjekje përtë bëjë të padisponueshëm burimin e kompjuterit përpërdoruesit e tij të destinuar.

• Siguria e kodit mobil

• Kodi Mobil duhet të trajtohet me kujdes.• Psh marrja e një programi të ekzekutueshëm si një shtojcë në postën elektronike

për të shfaqur një fotografi interesante, por në realitet ajo mund të hyjë në burimetlokale, ose ndoshta të jetë pjesë e sulmit të mohimit të shërbimit.

10

Shkallëzimi

• Sistemet e shpërndara të shkallëzuara operojnë në mënyrë efektive dhe efikase në shkallë të ndryshme, duke filluar nga një Intranet të vogël në Internet.

• Sistemet e shpërndara të shkallëzuara mbeten efektive, kur ka një rritje të konsiderueshme në numrin e burimeve dhe numrin e përdoruesve.

11

Shkallëzimi

Sfidat për dizajnimin apo projektimin e sistemeve të shpërndara të skallëzuara janë:

• Kontrollimi i kostos apo çmimit të burimeve fizike

• Kostoja duhet linearisht të rritet me madhësinë e sistemit, psh nëse një server mjafton të shërbejë 20 klientë, dy serverë duhet të mjaftojnë për 40 klientë

• Kontrollimi i humbjes së performancës

• Për shembull, në të dhënat e strukturuara në mënyrë hierarkike, humbja e performancës së kërkimit për shkak të rritjes së të dhënave nuk duhet të jetë përtej O (log n), ku n është madhësia e të dhënave.

12

Trajtimi i dështimeve

• Dështimet në sistemet e shpërndara janë të pjesshme, që do të thotë se përderisa disa komponentë dështojnë të tjerët vazhdojnë të funksionojnë.

• Teknikat për trajtimin e dështimeve:

• Zbulimi i dështimeve

• Psh. Checksums

• Maskimi i dështimeve

• Psh. Ritransmetimi i mesazheve të korruptuara

• Psh. Redundanca apo teprica e file-eve.

13

Trajtimi i dështimeve

• Tolerimi i dështimeve

• Psh. trajtimi me përjashtim apo Exception

• Psh. Përfundimi i kohës apo Timeouts

• Shërimi apo recovery nga dështimi

• Psh. mekanizmat për rikthim apo rollback

• Teprica apo redundanca

• Psh. Më shumë se një komponetë (rrugë, serverë, database)

14

Konkurenca

• Me konkurrencën, shërbimet dhe aplikacionet mund të ndahen nga klientët në një sistem të distribuar apo të shpërndarë.

• Që një objekt të jetë i sigurtë në një mjedis me konkurrencë, operacionet e tij duhet të sinkronizohen në mënyrë të tillë që të dhënat e tij mbeten konsistente.

• Konkurrenca mund të arrihet nga teknikat standarde të tilla si semaforët, të cilat përdoren në shumicën e sistemeve operative.

15

Transparenca

• Transparenca është përcaktuar si fshehje e ndarjes së komponentëve në një sisteme të shpërndara nga përdoruesi dhe programuesi.

• Me transparencë sistemi është perceptuar më shumë si një tërësi se sa një koleksion i komponentëve të pavarura.

• Format e transparencës:

• Transparenca e qasjes apo aksesit

• Mundëson burimet lokale dhe në largësi (remote) të arrihen duke përdorur operacionet identike.

16

Transparenca në qasje

• Një ilustrim i transparencës në qasje do të ishte një GUI me folderë të cilëve ju qasemi njëjtë sikur fajllat brenda tij të jenë lokalë apo në largësi (remote).

• Një shembull i mungesës së transparencës në qasje mund të konsiderohet një system i distribuar i cili nuk ju lejon qasje të një kompjuteri në largësi përveq nëse përdor një ftp program.

17

Transparenca

• Transparenca e vendndodhjes apo lokacionit

• Mundëson burimet të arrihen pa dijeninë e vendndodhjes së tyre fizike ose të rrjetit (për shembull, cila ndërtesë ose cila IP adresë).

• URL-të janë location-transparent sepse pjesa e URL-se e cilaidentifikon emrin e domenit të një web server i referohet njëemri të kompjuteri në domen e jo një Internet adrese.

18

Transparenca

• Transparenca e konkurencës

• Mundëson disa procese të veprojnë në të njëjtën kohë duke përdorur burimet e përbashkëta, pa ndërhyrje mes tyre.

• Shembull do të ishte përdorimi i printerit në një rrjet.

19

Transparenca

• Transparenca e replikimit

• Përdor raste të shumta të burimeve për të rritur besueshmërinëdhe performancën, pa dijeninë e replikimit nga përdoruesit apoprogramuesit.

• Shembull do të ishte databaza e facebook-ut.

20

Transparenca

• Transparenca e dështimit

• Mundëson fshehjen e gabimeve, duke i lejuar përdoruesit dhe programet e aplikimit të përfundojnë detyrat e tyre, pavarësisht dështimit të komponenteve harduerike ose softuerike.

• Transparenca e dështimit mund të ilustrohet në kontekstit të e-mailit i cili eventualisht do të dorzohet edhe kur komunikimi ndermjet serverëve dështon. Gabimet maskohen duke bërë ritransmetimin e mesazhit derisa ai të përcjellet me sukses edhe nëse zgatë me ditë.

21

Transparenca

• Transparenca e lëvizshmërisë

• Lejon lëvizjen e burimeve dhe të klientëve brenda një sistemi pandikuar në funksionimin e përdoruesve apo programeve.(telefonia mobile)

• Transparenca e performancës

• Lejon që sistemi të riformohet për të përmirësuarperformancën kur ngarkesa të ndryshojnë.

• Transparenca e shkallëzuar

• Lejon sistemin dhe aplikacionet të zgjerohen në shkallë pandryshim të strukturës së sistemit ose aplikimit të algoritmeve.

22

Transparenca

• Dy transparencat më të rëndësishme janë qasja apo aksesi dhe transparenca e lokacionit që së bashku i referohen transparencës së rrjetit.

• Prania ose mungesa e transparencës së rrjetit ndikon më fuqishëm në shfrytëzimin e burimeve të shpërndara.

23

Përmbledhje

• Sistemet e shpërndara janë gjithkund.

• Interneti na mundëson që tju qasemi shërbimeve të tij kudo që jemi në botë.

• Secila organizatë menaxhon një intranet, i cili siguron shërbime locale dhe shërbime të internetit për shfrytëzuesit lokalë dhe në përgjithësi siguron shërbime shfrytëzuesëve të tjerë në internet

• Sistemet e vogla të shpërndara mund të ndërtohen nga kompjuterët mobil dhe paisje të tjera të cilat janë lidhur për një rrejt pa tela.

• Ndarja e burimeve (resurseve) është faktori kryesor motivues për ndërtimin e sistemeve të shpërndara.

• Burime si printerët, fajllat, web faqet apo të databazat menaxhohen nga serverët e tipit të caktuar. P.sh. Web serverët menaxhojnë web faqet dhe burimet e tjerat të webit.

• Burimet qasen nga klientët – p.sh. Klientët e web serverëve quhen shfletues (browserë)

24

Pyetje???

25