Pagina documente » Informatica, Matematica » Programarea orientata obiect in sisteme distribuite

Cuprins

lucrare-licenta-programarea-orientata-obiect-in-sisteme-distribuite
Aceasta lucrare poate fi descarcata doar daca ai statut PREMIUM si are scop consultativ. Pentru a descarca aceasta lucrare trebuie sa fii utilizator inregistrat.
lucrare-licenta-programarea-orientata-obiect-in-sisteme-distribuite


Extras din document

CUPRINS
1 INTRODUCERE 4
2 DCOM (DISTRIBUTED COMPONENT OBJECT MODEL) 6
2.1 Introducere 6
2.2 Independenta fata de locatie 7
2.3 Independenta fata de limbaj 8
2.4 Arhitectura DCOM 9
2.5 Apelul metodelor la distanta: Marshaling si Unmarshaling 12
2.6 Gestionarea conexiunilor 14
2.7 Apartamente, Tipuri de apartamente, 15
2.7.1 Creerea unui apartament 15
2.7.2 Tipuri de apartamente. 16
2.7.3 Creerea unui apartament. 17
2.8 Obiecte, interfete si apartamente 18
2.8.1 Modele de concurenta. 19
2.8.2 Accesul intre apartamente 22
2.8.3 impachetarea pointerilor la interfete. 23
2.8.4 Despachetarea pointerilor la interfete. 26
2.8.5 Formatul impachetat al pointerilor la interfete. 27
2.9 Scalabilitatea 30
2.9.1 Multiprocesarea simetrica 30
2.9.2 Repartizarea flexibila a componentelor 30
2.9.3 Repartizarea paralela a componentelor 31
2.10 Performanta modelului DCOM 33
2.10.1 Repartizarea incarcarii 35
2.10.2 Balansarea incarcarii static 35
2.10.3 Balansarea incarcari dinamic 36
2.11 Securitatea in cadrul modelului DCOM 38
2.11.1 Securitatea accesului: protectia obiectului 39
2.11.2 Securitatea generarii: protectia masinii server 40
2.11.3 Identitatea: controlul obiectelor 40
2.11.4 Politica Conexiunilor: protectia datelor 41
2.11.5 Identificarea apelantului: autentificarea 41
2.11.6 Protectia Apelantului, 43
2.11.7 Proiectarea securitati 44
2.11.8 Configurarea securitatii 45
2.11.9 Securitatea accesului 45
2.11.10 Securitatea la lansare in executie 46
2.11.11 Identitatea 47
2.11.12 Securitatea implicita a calculatorului. 48
2.11.13 Programarea securitati 48
3 PREZENTAREA APLICATIEI 50
4 BIBLIOGRAFIE 53

Alte date

?

Programarea orientata obiect in sisteme distribuite. Studiu de caz DCOM

1 Introducere

Programarea orientata obiect s-a concentrat multi ani asupra platformelor monoutilzator. Pe masura ce complexitatea aplicatiilor a crescut si a aparut tehnologia client/server sa simtit nevoia de-a putea partaja obiecte intr-un context multiutilizator

Importanta retelelor a crescut enorm in ultimi ani, mai ales de cand reteaua internet a inregistrat o dezvoltare exploziva. Calculatoarele trebuie sa fie capabile sa comunice intre ele intr-un mod eficient, si aici e locul unde programarea distribuita isi face aparitia.

Prin sistem distribuit sau sistem de calcul distribuit intelegem o colectie de noduri care pot fi: calculatoare, procesoare, procese autonome care sunt interconectate. Fiecare nod dispune de o memorie privata proprie, de asemenea trebuie sa fie capabil sa schimbe informatii cu restul nodurilor. În unele documentatii definirea sistemului distribuit este mai restrictiva, adica existenta nodurilor trebuie sa fie transparenta fata de utilizator.

Necesitatea proiectarii unor sisteme distribuite este motivata de cateva aspecte practice, cum ar fi:

? Schimbul de informatii

Cresterea masiva a cantitatii de informatie si necesitatea de a schimba rapid informatii intre diferite puncte aflate in locuri geografice departate fac necesara conectarea intre calculatoare.

? Partajarea resurselor

O organizatie prefera sa cumpere mai multe calculatoare mai ieftine si de puteri rezonabile decat sa cumpere unul singur, mult mai puternic si mai scump.

? Siguranta marita in functionare

Daca un sistem de calcul este format dintr-un singur calculator defectarea acestuia face imposibila utilizarea sistemului de calcul. La proiectarea unui sistem distribuit de calcul se tine seama in foarte mare masura de siguranta in functionare a acestuia. Astfel caderea unui nod nu perturba functionarea celorlalte.

? Performante marite

Prezenta mai multor procesoare intr-un sistem distribuit face posibila reducerea timpului de realizare a unui calcul masiv prin impartirea sarcinilor.

? Specializarea nodurilor

Proiectarea unui sistem de calcul autonom cu mai multe functionalitati poate fi dificila si din motive practice. Aceasta proiectare poate sa fie simplificata prin impartirea sistemului in module, fiecare modul implementand o parte din functionalitati si comunicand cu alte module.

Algoritmii utilizati in sistemele distribuite trebuie sa fie corecti, flexibili si eficienti. Dezvoltarea unui algoritm distribuit difera esential de dezvoltarea unui algoritm nedistribuit. În ajutorul programatorului pentru a scrie algoritmi distribuitii a venit programarea orientata obiect in sisteme distribuite. În momentul de fata exista mai multe tehnologii de programare in sisteme distribuite. Principalele sunt:

? CORBA (Common Object Request Broker Architecture). Sistem propus de OMG (Object Management Group)

? DCOM (Distributed Component Object Model) care este o extensie a COM (Component Object Model) pentru sisteme distribuite. Sistem creat si produs de Microsoft ca replica la tehnologia CORBA.

? RMI (Remote Method Invocation) care este o extensie a limbajului Java, dar care nu a avut succesul (pana acum) pe care la avut Java in lumea limbajelor de programare.

? DCE (Distributed Computing Environment) elaborat de OSF (Open Software Foundation)

? RPC (Remote Procedure Call), standard mai vechi dar pe care se bazeaza unele din cele enumerate mai sus.

Dintre acestea voi incerca sa prezint in continuare DCOM .

2 DCOM (Distributed Component Object Model)

2.1 Introducere

DCOM este o extensie adusa tehnologiei COM (Component Object Model). COM defineste modul in care clientii si componentele interactioneaza.

În sistemele de operare moderne, procesele sunt protejate unul fata de celalalt. Un client care vrea sa comunice cu o componenta din alt proces nu poate apela direct aceasta componenta, ci trebuie sa foloseasca o tehnica de comunicare interproces oferita de sistemul de operare. Tehnologia COM ofera aceasta facilitate intr-o maniera eleganta si total transparenta: ea intercepteaza apelurile de la client si le transfera componentei aflate in alt proces.

Majoritatea aplicatiilor distribuite nu sunt dezvoltate de la zero. Infrastructura hardware existenta, programele si componentele deja existente trebuie sa fie integrate pentru a reduce efortul si costurile de dezvoltare a unei noi aplicatii. DCOM spre exemplu profita de investitia facuta in componentele si uneltele COM. Uriasa piata a componentelor COM faciliteaza reducerea substantiala a timpului alocat dezvoltarii prin integrarea unor solutii si algoritmi standardizati intr-o noua aplicatie. Orice componenta dezvoltata ca parte a unei aplicatii distribuite devine un virtual candidat pentru utilizari ulterioare. Organizarea procesului de dezvoltare pe baza paradigmei de componenta permite ridicarea continua a nivelului de functionalitate in aplicatiile noi si reutilizarea acestora reduce timpul de lansare pe piata.

Proiectarea pentru COM si DCOM asigura fapul ca componentele obtinute pot fi folosite acum cat si in viitor.

DCOM este un standard deschis, complet si puternic documentat la toate nivelele. DCOM este bazat pe modelul programarii orientate obiect promovand interoperabilitatea soft-ului; aceasta inseamna ca doua sau mai multe aplicatii sau componente pot coopera una cu alta, chiar daca au fost scrise de diferiti furnizori in perioade diferite, in limbaje diferite, sau chiar pe masini diferite cu sisteme de operare diferite. Pentru a suporta aceasta trasatura, DCOM defineste si implementeaza mecanisme care permit aplicatiilor sa se conecteze una cu cealalta ca obiecte soft. Un obiect soft este o colectie de functii legate semantic si stari asociate functiilor. Cu alte cuvinte, DCOM, asemanator cu sistemul traditional de functii API, furnizeaza operatii prin care un client al unui serviciu se poate conecta la mai multi furnizori de servicii. Dar, odata ce conexiunea s-a facut, DCOM iese din scena, lasand clientul si serverul sa comunice direct.

2.2 Independenta fata de locatie