Evoluzione Architetturale Distributed omputing entralizzata Monolitica anni 60-70 Reti locali di P anni 80 Reti lient Server anni 80-90 Internet The network is the computer Paolo Falcarin Sistemi Informativi 2002 2 Esigenze e Nuove Esigenze Le informazioni e le organizzazioni sono distribuite Scalabilità ondivisione Efficienza Sicurezza Integrare l esistente Trovare un modello che semplifichi il concetto di interoperabilita tra applicazioni distribuite Permettere il riuso a diversi livelli Paolo Falcarin Sistemi Informativi 2002 3 L approccio OO 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 Paolo Falcarin Sistemi Informativi 2002 4 D + OO Dall OO alla DO Distributed omputing (D) già risponde alla esigenza di decentralizzare l elaborazione OO offre un modello più naturale e flessibile semplificazione del concetto di interoperabilità tra risorse distribuite Paolo Falcarin Sistemi Informativi 2002 5 Gli oggetti possono risiedere in processi o macchine diverse Paolo Falcarin Sistemi Informativi 2002 6
osa manca? Broker Architecture omunicazione Sicurezza Localizzazione.? ( Request Broker): elemento chiave di comunicazione per gestire l interoperabilità tra oggetti BROKER Paolo Falcarin Sistemi Informativi 2002 7 Paolo Falcarin Sistemi Informativi 2002 8 Vantaggi del Broker onsente agli oggetti di fare richieste e ricevere risposte in modo trasparente in un ambiente distribuito onsente di localizzare gli oggetti remoti Gestisce la sicurezza delle comunicazioni Interfaccia Broker principi (1) Paolo Falcarin Sistemi Informativi 2002 9 Implementazione Paolo Falcarin Sistemi Informativi 2002 10 Broker principi (2) A LIENTE in args Operation() out args + return value L'architettura A (ommon Request Broker Architecture) è un framework standard a livello di middleware per l'interoperabilità tra oggetti in sistemi distribuiti eterogenei Request Broker IDL Framework di servizi definiti Paolo Falcarin Sistemi Informativi 2002 11 Paolo Falcarin Sistemi Informativi 2002 12
Interface Definition Language Terminologia 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 ++ per la dichiarazione dei tipi ha il concetto di interfaccia derivata che eredita operazioni e tipi definiti nell'interfaccia base 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 Paolo Falcarin Sistemi Informativi 2002 13 Paolo Falcarin Sistemi Informativi 2002 14 Architettura Application Interfaces Domain Interfaces AFacilities e.g. mail, printing, help, GUI lient Implementation ommon Request Broker Archtecture (A) Front-end OO a una applicazione/servizio preesistente (incapsulamento) Interface Repository Dynamic Invocation lient IDL Stub Interface Dynamic Skeleton Invocation Static Skeletons Adapter Implement Reposito Interconnessione e interoperabilità con AServices e.g. naming,transactions, altri s security, time Paolo Falcarin Sistemi Informativi 2002 15 Request Broker Paolo Falcarin Sistemi Informativi 2002 16 OS ommon Services BJET SERVIES... Security Transactions Naming L object model di A Viene enfatizzato il ruolo di un'entità (client) in grado di richiedere servizi a un oggetto (server) client request object implementation...il supporto necessario I servizi messi a disposizione da orba aiutano a determinare gli oggetti che sono in rete, ne permettono la creazione, il mantenimento, l accesso e l invocazione dei loro metodi 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) Paolo Falcarin Sistemi Informativi 2002 17 Paolo Falcarin Sistemi Informativi 2002 18
Server A in ++ lient A in ++ e Java Individuo. idl Individuo. idl li _main.java i Stub _ st_individuo IDL Java ompiler Individuo_var IDL ++ ompiler Srv_ main.cc IDL Java class Java ompiler Individuo. idl Skeleton IndividuoS.cc Individuo_i.cc Individuo. hh Java Applet li _ main.cc Individuo.hh IDL ++ ompiler Stub.cc Individuo.cc ++ ompiler, Link IDL ++ class ++ ompiler, Link Server Paolo Falcarin Sistemi Informativi 2002 19 lient Paolo Falcarin Sistemi Informativi 2002 20 Distribuited omponent 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 Paolo Falcarin Sistemi Informativi 2002 21 Distribuited omponent 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 onsente la location trasparency Paolo Falcarin Sistemi Informativi 2002 22 Server DOM Il modello di comunicazione DOM dell oggetto Implementazione indipendente dal tipo di server IlassFactory lass Factory Meccanismi per l esposizione di class factory Meccanismi di unloading Implementazioni diverse per DLL e EXE Paolo Falcarin Sistemi Informativi 2002 23 Paolo Falcarin Sistemi Informativi 2002 24
Ereditarietà secondo DOM - ontenimento Ereditarietà secondo DOM - Aggregazione A Esterne Oggetto Esterne omponente Esterno B L oggetto esterno utilizza l interfaccia dell oggetto interno come un qualunque altro client A Oggetto interno contenuto in Oggetto Esterno B omponente interno aggregato in un omponente Esterno Paolo Falcarin Sistemi Informativi 2002 25 Paolo Falcarin Sistemi Informativi 2002 26