Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
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.
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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.