La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Architetture dei sistemi distribuiti Prof

Presentazioni simili


Presentazione sul tema: "Architetture dei sistemi distribuiti Prof"— Transcript della presentazione:

1 Architetture dei sistemi distribuiti Prof
Architetture dei sistemi distribuiti Prof. Barbara Pernici Politecnico di Milano

2 Sommario Sistemi distribuiti Meccanismi: Middleware
RPC Client-server Middleware Distributed object computing Tecnologie per sistemi a oggetti distribuiti J2EE e Enterprise Java Beans

3 Obiettivi Definizione dei concetti di base dei SI distrbuiti
Introduzione alle piattaforme tecnologiche

4 Bibliografia Serie Sistemi Informativi Vol. V Lucidi (in rete)
Cap. 1: architetture (escl. 3.4) Lucidi (in rete)

5 Sistemi informativi distribuiti
SI distribuito: Sistema costituito da un insieme di applicazioni logicamente indipendenti che collaborano per il perseguimento di obiettivi comuni attraverso una infrastruttura di comunicazione hardware e software elaborazione distribuita Le applicazioni, fra loro cooperanti, risiedono su piu’ nodi elaborativi base di dati distribuita Il patrimonio informativo, unitario, e’ ospitato su piu’ nodi elaborativi

6 SI ad accoppiamento forte
concepiti in modo unitario risorse informative e elaborative controllate da una o più unità organizzative comunque facenti riferimento a una unica autorità. unitarietà nelle scelte architetturali e tecnologiche integrazione dei sottosistemi in un unico sistema complessivo Risultato - elevata qualità del servizio reso all’utenza - aumento dei vincoli organizzativi e tecnologici esistenti fra le unità organizzative che cooperano

7 SI ad accoppiamento debole
risorse informative e elaborative preesistenti soggetti organizzativi fra loro autonomi che, per motivi istituzionali o di business, hanno interesse a cooperare per fornire servizi a valore aggiunto normalizzazione nelle scelte architetturali e tecnologiche (interfacce verso le risorse messe a fattore comune rispondenti a una logica unitaria) logiche di federazione dei sottosistemi logiche di proceduralità (processi di cui si deve garantire l’avanzamento e il tracciamento) modesto aumento dei vincoli organizzativi e tecnologici: regole di interfacciamento concordate

8 RPC: Remote Procedure Call

9 RPC Sistemi a accoppiamento forte
La chiamata di una procedura remota non e’ completamente analoga alla chiamata di una procedura locale Possibili limitazioni ai formati dei dati Dati composti, puntatori Gestione delle eccezioni Ies malfunzionamento del canale trasmissivo Invocazione concorrente della stessa procedura remota da parte di piu’ programmi chiamanti

10 Sistemi client-server
Cliente Servente Attore Processo client Processo server Richiesta di servizio Esecuzione Restituzione del servizio della risposta tempo

11 Sistemi client-server
Accoppiamento forte Un processo servente puo’ servire piu’ processi cliente Logica Bloccante Non bloccante (invio richiesta, notifica di esecuzione) Processo servente sempre attivo vs attivazione ogni volta che pervenga una richiesta

12 Sistemi a oggetti distribuiti
Accoppiamento forte e accoppiamento debole Infrastruttura per gestire problematuche architetturali, tecnologiche e gestionali

13 DOC Distributed Object Computing
Se accoppiamento forte: Unica macchina virtuale Se accoppiamento debole: Definizione dei servizi di cooperazione e delle interfacce di invocazione Repository Logiche di tipo sincrono e asincrono con scambio messaggi

14 Modello a oggetti (1) Oggetto Interfaccia Dati (stato)
Funzioni (comportamento) Identita’ Istanziazione di una classe Interfaccia Servizi messi a disposizione da un oggetti e invocabili da altri oggetti

15 Modello a oggetti (2) Connessione tra oggetti: Sincrona (bloccante)
Asincrona Pull (cliente chiede l’esecuzione del servizio) Push (servente propone attivamente il servizio) Interfaccia Oggetto servente Oggetto cliente Gestore ordini Gestore acquisti Connessione

16 Sistema di commercio elettronico

17 Comunicazione Sincrona Asincrona Request/reply
Publish & Subscribe (sottoscrizione a informazioni prodotte da editori e distribuite da un distributore) Multicasting Instance Based Routing (con criteri di selezione messaggi) Store & forward (consegna a tutti i sottoscrittori, anche se non sono sempre attivi)

18 Comunicazione Publish&Subscribe

19 comunicazione Multicasting

20 Middleware Middleware: un insieme di componenti software che realizzano una macchina virtuale Tipologie: middleware generalizzato middleware orientati a specifiche classi di servizio: middleware per l’accesso a basi di dati interfaccie di programmazione per l’accesso a basi di dati da parte di applicazioni software in modo indipendente dalle caratteristiche fisiche dei singoli sistemi di gestione dei dati; Open Data Base Connectivity – ODBC Java Data Base Connectivity – JDBC Middleware per la gestione di transazioni Es. Distributed Transaction Processing – DTP del consorzio X/Open, che specifica le modalità mediante le quali processi diversi possono fra loro collaborare per attuare transazioni distribuite.

21

22 4 classi tecnologiche

23 Middleware generalizzato
Include: Servizi di supporto: strumenti di comunicazione (notification service per comunicazione asincrona) servizi di sicurezza servizi di indirizzamento (naming service) meccanismi di sincronizzazione (incl. time service) servizi di accodamento messaggi Servizi di “trasparenza” (virtualizzazione) Servizi di monitoraggio Supporto a transazioni distribuite ACID: atomica, consistente, isolata, durabile (persistente)

24 Esempio di transazione distribuita

25 DOC (1) Formalismi di definizione di oggetti (IDL interface definition language) Protocolli di interoperabilita’ (tipi di messaggi da scambiare e sequenze ammissibili) Servizi di intermediazione tra oggetti (object broker) Individuazione oggetti Object Request Broker (ORB): registro servizi disponibili e degli oggetti che li mettono a disposizione –> possibilita’ di riconfigurazione dinamica delle applicazioni (es. in caso di malfunzionamento)

26 DOC (2)

27 DOC (3) Servizi di supporto per oggetti
Meccanismi per lo scambio di messaggi Sincroni/asincroni Message broker (per gestione code di messaggi) Coordinamento di procedure con sequenze di passi eseguiti da oggetti diversi Servizi di supporto per oggetti Gestione del ciclo di vita di un oggetto Gestione della persistenza Linguaggi di interrogazione Gestione uso degli oggetti (licensing service) Servizi di supporto (vedi middleware generalizzato)

28 Infrastrutture per il Distributed Object Computing
Common Object Request Broker Architecture - CORBA promossa da Object Management Group - OMG: CORBA è uno standard industriale per la realizzazione di infrastrutture a oggetti distribuiti operanti su reti e sistemi eterogenei; Enterprise Java Beans Focus su logica applicativa Servizi di supporto separati da logica applicativa Oggetti pubblicati all’interno di un application server MS DCOM La famiglia delle tecnologie Web

29 CORBA (Internet interORB protocol)

30 CORBA


Scaricare ppt "Architetture dei sistemi distribuiti Prof"

Presentazioni simili


Annunci Google