Architetture dei sistemi distribuiti Prof

Slides:



Advertisements
Presentazioni simili
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Advertisements

Informatica e Telecomunicazioni
Web Services.
Java Enterprise Edition (JEE)
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di.
IN QUESTA PRESENTAZIONE…
Architetture dei sistemi distribuiti
Tecnologie di implementazione
Introduzione ai Web Services. E' un nuovo meccanismo RPC ottimizzato per l'uso in Internet Un qualunque Client su una generica piattaforma deve poter.
Distributed Object Computing
Pernici Barbara Politecnico di Milano Master Universitario di II livello in Tecnologia dell'Informazione.
Analisi dettagliata e design B. Pernici M.G. Fugini AA
Seconda parte: i sistemi informativi in rete
ICT (Information and Communication Technology):
Architettura Three Tier
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Integrazione di una piattaforma IPTV in un’architettura SOA
L'innovazione Tecnologica Per Il Federalismo Efficiente Roma 30 Giugno 2005 Sistema Pubblico di Cooperazione Applicativa.
Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente.
Struttura dei sistemi operativi (panoramica)
Integrazione Software via Web-Services
Ingegneria del software I
Reti di Calcolatori Reti di Calcolatori2 Il modello Client/Server I Sistemi di Rete Dal punto di vista del programmatore.
Architettura Java/J2EE
1 L!ve T!tle: software per la consultazione degli andamenti dei titoli di borsa online Reti di Calcolatori LS Nuzzi Nicola Mat
Global Virtual Tuple Space
M.A.E.A.I. Mobile Agent and Enterprise Architecture Integration Il gestore delle politiche Valerio Siri Reti di Calcolatori LS Docente: Antonio Corradi.
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Distributed File System Service Dario Agostinone.
Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr
PROGETTAZIONE E REALIZZAZIONE DI UN MIDDLEWARE CLIENT-SERVER
Corso di Informatica per Giurisprudenza Lezione 7
Contributo dell’Università degli Studi di Palermo e del CNR Sicilia
Cosa sono i sistemi distribuiti Prof. Andrea Omicini Corso di Sistemi Distribuiti A.A. 2001/2002 Parte I.
Progetto di Reti di Calcolatori L-S Orchestrazione di servizi WEB
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
Il modello di riferimento OSI
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Basi di Dati e Sistemi Informativi
Sistemi Informativi sul Web
1 Internet è un sistema di reti di computer interconnesse sia fisicamente, tramite linee dorsali ad alta velocità, che logicamente, mediante la possibilità
Ingegneria del software Modulo 3 -Tecniche dimplementazione Unità didattica 2 -EJB Ernesto Damiani Università degli Studi di Milano Lezione 4 – Le transazioni.
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Java Enterprise Edition
Web Information Systems Prof
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
Progetto Message Queues Service Olivelli Enrico Corso di Reti di Calcolatori LS A.A
Reti di calcolatori LS Enrico Pirazzini SSB un middleware basato su JMS per l'invocazione di servizi remoti.
Architetture a componenti Java per la realizzazione di DSS distribuiti Giordano Vicoli - ENEA 28 Ottobre 2003.
Analisi dettagliata e design
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Reti di computer Condivisione di risorse e
Sistema di replicazione master-multislave con server di backup per un servizio di chat di Marco Andolfo matr
Capitolo 1 Il middleware
Service Composition Analysis Progetto Reti di Calcolatori-LS prof. A.Corradi tutor S.Monti Piattaforma di gestione ed analisi statistica di workflow in.
Java Distributed Event Service Bringing events to J2EE platform Università degli studi di Bologna Corso di Laurea Specialistica in Ingegneria Informatica.
Progetto di un Gestore di Nomi Corso di Reti di Calcolatori L-S prof. Antonio Corradi A.A 2003/2004 Autore: Molesini Ambra.
Servizi Internet Claudia Raibulet
Ingegneria del software Modulo 3 -Tecniche d’implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Mobile Agent and Enterprise Architecture Integration Il Gestore di Librerie e Servizi Lambertini Riccardo.
A.a. 2004/05Tecnologie Web1 Corso di Laurea Interfacoltà in Management dell’informazione e della comunicazione aziendale a.a. 2004/05 Tecnologie Web Anna.
Ingegneria del software Modulo 3 -Tecniche di implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
Mots, programmazione collaborativa di Ettore Ferranti.
Architetture dei sistemi di calcolo, sistemi operativi, reti di calcolatori Dr. Luciano Bononi Facoltà di Scienze, Fisiche Naturali dell’Università di.
Le basi di dati.
Architetture software
Unified Modeling Language. –un linguaggio (e notazione) universale, per rappresentare qualunque tipo di sistema software –uno standard OMG (Object Management.
Sistemi distribuiti Sistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui.
Transcript della presentazione:

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

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

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

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

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

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

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

RPC: Remote Procedure Call

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

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

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

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

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

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

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

Sistema di commercio elettronico

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)

Comunicazione Publish&Subscribe

comunicazione Multicasting

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.

4 classi tecnologiche

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)

Esempio di transazione distribuita

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)

DOC (2)

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)

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

CORBA (Internet interORB protocol)

CORBA