Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Distributed Object Computing
Ing. Massimo Mecella
2
Evoluzione Architetturale
Centralizzata Monolitica anni ‘60 -’70 Reti locali di PC anni ‘80 Reti Client Server anni ‘80 - ‘90 Internet “The network is the computer”
3
Esigenze e Nuove Esigenze
Le informazioni e le organizzazioni sono distribuite Scalabilità Condivisione Efficienza Sicurezza Integrare l’esistente Trovare un modello che semplifichi il concetto di interoperabilita tra applicazioni distribuite Permettere il riuso a diversi livelli
4
L’approccio OO Object Orientation is a technique for system modeling...using it we model the system as a number of objects that interact [I. Jacobson] SW riutilizzabile: applicazioni preesistenti (legacy) possono essere intelligentemente recuperate (incapsulate) e riutilizzate a differenti livelli di integrazione via incapsulamento e ereditarietà SW estendibile (incrementabile): l’aggiunta di nuovi tipi di oggetti, in molti casi, non influenza minimamente gli altri via ereditarietà e polimorfismo
5
DC + OO Distributed Computing (DC) già risponde alla esigenza di decentralizzare l’elaborazione OO offre un modello più naturale e flessibile semplificazione del concetto di interoperabilità tra risorse distribuite
6
Dall’OO alla DOC Gli oggetti possono risiedere in processi o macchine diverse
7
Cosa manca? Comunicazione Sicurezza Localizzazione …. ?
8
Broker Architecture ORB (Object Request Broker): elemento chiave di comunicazione per gestire l’interoperabilità tra oggetti BROKER
9
Vantaggi del Broker Consente agli oggetti di fare richieste e ricevere risposte in modo trasparente in un ambiente distribuito Consente di localizzare gli oggetti remoti Gestisce la sicurezza delle comunicazioni
10
Broker principi (1) Interfaccia Implementazione
11
Broker principi (2) CLIENTE Operation() in args
out args + return value
12
CORBA L'architettura CORBA (Common Object Request Broker Architecture) è un framework standard a livello di middleware per l'interoperabilità tra oggetti in sistemi distribuiti eterogenei Object Request Broker IDL Framework di servizi definiti
13
Interface Definition Language
E’ un linguaggio di definizione delle interfacce specifica i servizi che un oggetto mette a disposizione è indipendente dal linguaggio di programmazione è simile al sottoinsieme del linguaggio C++ per la dichiarazione dei tipi ha il concetto di interfaccia derivata che eredita operazioni e tipi definiti nell'interfaccia base
14
Terminologia Il client è un applicazione che “usa” gli oggetti messi a disposizione dalle interfacce IDL Un server è un programma che mette a disposizione istanze di oggetti definiti da un interfaccia IDL
15
Architettura Common Object Request Broker Archtecture (CORBA)
Domain Interfaces CORBAFacilities CORBAServices e.g. mail, printing, help, GUI Application Interfaces e.g. naming,transactions, security, time
16
ORB
17
COS Common Object Services
Transactions Naming Security ...il supporto necessario I servizi messi a disposizione da Corba aiutano a determinare gli oggetti che sono in rete, ne permettono la creazione, il mantenimento, l’ accesso e l’invocazione dei loro metodi
18
L’object model di CORBA
client object implementation request Viene enfatizzato il ruolo di un'entità (client) in grado di richiedere servizi a un oggetto (server) L’object implementation è l'insieme di codice e dati che effettivamente implementa, ovvero che realizza il comportamento dell'oggetto server (come specificato dalla sua interfaccia)
19
Server CORBA in C++
20
Client CORBA in C++ e Java
Individuo. idl Cli i _ main . java IDL Java Compiler Java Compiler ORB Library IDL Java class st_Individuo Individuo_var Stub Java Applet Individuo. idl Cli _ main .cc IDL C++ Compiler C++ , Link ORB Library class Client IndividuoC.cc Stub Individuo.hh
21
Distribuited Component Object Model (1)
Specifiche di interoperabilità a livello binario tra componenti software Infrastruttura software per la creazione, la comunicazione e la gestione di componenti Sviluppato da Microsoft
22
Distribuited Component Object Model (2)
Interazione tra componenti by insiemi di funzioni denominate interfacce Rappresentazione interfacce basata su puntatori Vtable (Virtual function table): array di puntatori ai metodi Per invocare un metodo si deve avere un puntatore all’interfaccia pvtbl Una classe è una implementazione di un’insieme di interfacce Consente la location trasparency
23
Server DCOM Object Interfacce dell’oggetto Class IClassFactory Factory
Implementazione Interfacce Object indipendente dell’oggetto dal tipo di server Class IClassFactory Factory Implementazioni diverse Meccanismi per per DLL e EXE l’esposizione di class factory Meccanismi di unloading
24
Il modello di comunicazione DCOM
25
Ereditarietà secondo DCOM - Contenimento
26
Ereditarietà secondo DCOM - Aggregazione
Interfacce Esterne Componente Esterno A A B B Componente interno aggregato in un C C Componente Esterno
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.