1 / 30

Architetture dei sistemi distribuiti Prof. Barbara Pernici Politecnico di Milano

Architetture dei sistemi distribuiti Prof. Barbara Pernici Politecnico di Milano. Sommario. Sistemi distribuiti Meccanismi: RPC Client-server Middleware Distributed object computing Tecnologie per sistemi a oggetti distribuiti J2EE e Enterprise Java Beans. Obiettivi.

kevork
Download Presentation

Architetture dei sistemi distribuiti Prof. Barbara Pernici Politecnico di Milano

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Architetture deisistemi distribuiti Prof. Barbara PerniciPolitecnico di Milano

  2. Sommario • Sistemi distribuiti • Meccanismi: • 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 • 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 • 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 acquisti Gestore ordini Connessione

  16. Sistema di commercio elettronico

  17. Comunicazione • Sincrona • Request/reply • Asincrona • 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: • middlewaregeneralizzato • 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. 4 classi tecnologiche

  22. 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)

  23. Esempio di transazione distribuita

  24. 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)

  25. DOC (2)

  26. DOC (3) • 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)

  27. 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

  28. CORBA (Internet interORB protocol)

  29. CORBA

More Related