Sistemi Informativi Distribuiti



Похожие документы
Progetto di Applicazioni Software

Progetto di Applicazioni Software

Sistemi informativi secondo prospettive combinate

7. Architetture Software

Architetture e applicazioni web

Concetti di base di ingegneria del software

Indice. Indice Premessa e scopo del documento Ambiente operativo Architettura di sistema... 5

ELEMENTI DI PROGETTAZIONE SOFTWARE

Metodologie Agili per lo sviluppo di applicazioni Internet Distribuite. Agile Group DIEE, Università di Cagliari

B.P.S. Business Process Server ALLEGATO C10

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Si applica a: Windows Server 2008

Firewall applicativo per la protezione di portali intranet/extranet

lem logic enterprise manager

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Introduzione alla Virtualizzazione

Linux nel calcolo distribuito

Base di dati e sistemi informativi

11. Evoluzione del Software

Architettura di un sistema operativo

12. Evoluzione del Software

SDD System design document

L architettura MVC (Model- View-Controller) Introduzione

2 Gli elementi del sistema di Gestione dei Flussi di Utenza

Amministrazione Patrimonio Fondi

Ciclo di vita dimensionale

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

MODELLO ORGANIZZATIVO REGIONALE PER LA GESTIONE DEL RISCHIO CLINICO.

La tecnologia cloud computing a supporto della gestione delle risorse umane

L o. Walter Ambu japs: una soluzione agile (

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

E.S.B. Enterprise Service Bus ALLEGATO C11

Implementing a new ADT based on the HL7 version 3 RIM. Esempio

LIGHTING DESIGNER Gianni Ronchetti Architetto Valmadrera, 10/06/2014

1. BASI DI DATI: GENERALITÀ

Architetture software. Virtualizzazione

CRM Configurazione e gestione accessi

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi

Architetture software

Architetture Informatiche. Dal Mainframe al Personal Computer

Corso di Economia e Gestione delle Imprese

Sistemi Informativi e Sistemi ERP

Sistemi centralizzati e distribuiti

Architetture Applicative

Ambienti di calcolo a griglia Parte 2. Risorse (e loro gestione) Job di griglia e applicazioni di griglia Riservare le risorse ai job

IT Cloud Service. Semplice - accessibile - sicuro - economico

Virtualization. Strutturare per semplificare la gestione. ICT Information & Communication Technology

La norma ISO 9001:08 ha apportato modifiche alla normativa precedente in

ManPro.Net: Principali caratteristiche del prodotto.

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8

La Metodologia adottata nel Corso

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

UML Component and Deployment diagram

Approccio stratificato

Creare una Rete Locale Lezione n. 1

Progettazione e Implementazione di API WebSocket per il Gateway Dog

Reti di Telecomunicazione Lezione 6

Una rassegna dei sistemi operativi per il Cloud Computing

SISTEMI E RETI 4(2) 4(2) 4(2) caratteristiche funzionali

IL SOFTWARE SECONDO LA NORMA UNI EN ISO :2008 (IIA PARTE) 1

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Architetture Informatiche. Dal Mainframe al Personal Computer

Tecnologia dei Sistemi Informativi. architettura s.i. 1

Infrastruttura di produzione INFN-GRID

Presentazione di Cedac Software

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.

Concetti base. Impianti Informatici. Web application

ISTITUTO TECNICO ECONOMICO MOSSOTTI

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

Un approccio innovativo per il delivery di servizi in infrastrutture di nomadic computing

EXPLOit Content Management Data Base per documenti SGML/XML

Brochure Internet. Versione The Keyrules Company s.r.l. Pagina 2 di 8

Generazione Automatica di Asserzioni da Modelli di Specifica

Lezione 1. Introduzione e Modellazione Concettuale

soluzioni di e-business knowledge management

Software per Helpdesk

Architettura SW Definizione e Notazioni

Politica per la Sicurezza

Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica.


Caratteristiche principali. Contesti di utilizzo

Il sistema operativo TinyOS

3. Introduzione all'internetworking

Specifiche dello sviluppo di un progetto software e indicazioni sulla documentazione e sulle modalità di esercizio delle prestazioni

Quali informazioni posso comunicare o ricevere?

Integrazione dei processi aziendali Sistemi ERP e CRM. Alice Pavarani

Un sistema di identificazione basato su tecnologia RFID

Capitolo 4 - Teoria della manutenzione: la gestione del personale

Progettazione concettuale

Costruire il futuro il valore delle scelte tecnologiche

Транскрипт:

Corso di Laurea Magistrale in Ingegneria Gestionale Corso di Sistemi Informativi Modulo II A. A. 2013-2014 SISTEMI INFORMATIVI MODULO II Sistemi Informativi Distribuiti 1

Sistemi informativi distribuiti Un sistema informativo è un sistema hardware/software che consente l'esecuzione di operazioni per l'accesso e la modifica di informazioni. Un sistema si dice distribuito se i diversi componenti, che concorrono allo svolgimento delle funzionalità del sistema, sono eseguiti su calcolatori indipendenti (interconnessi in rete). Lo scopo di un sistema informativo è, in generale, automatizzare in tutto o in parte i processi svolti da un'organizzazione (azienda, ente, comunità di persone, ecc.) dislocata su un territorio Spesso il sistema informativo è solo una parte di un sistema più complesso nel mondo reale, che comprende persone ed oggetti Per progettare un sistema informativo distribuito è necessario definire protocolli di comunicazione tra i vari componenti formati per l'interscambio dei dati necessari a richiedere operazioni e a restituire le risposte Sistemi Informativi Distribuiti Giuseppe Loseto 2

Architettura di un sistema informativo distribuito - 1 client presentation layer application logic layer resource management layer sistema informativo Presentation layer: interfaccia verso utenti e sistemi esterni (client) per consentire l'accesso ai servizi forniti dal sistema Esempio: GUI (graphical user interface) Application logic (a.k.a. business logic, business processes, business rules): implementazione delle operazioni svolte dal sistema Resource management layer: interfaccia del sistema verso le sorgenti di dati su cui deve operare. data sources Sistemi Informativi Distribuiti Giuseppe Loseto 3

Architettura di un sistema informativo distribuito - 2 Il client e il presentation layer possono essere separati: è ad esempio il caso delle Web application, in cui il livello di presentazione è implementato in HTML + CSS + linguaggi di scripting, mentre il client è il Web browser integrati: un unico oggetto permette all'utente di accedere direttamente ai servizi del livello di logica applicativa Esempio: una banca può fornire l'operatività ai clienti tramite Web application e/o tramite app per smartphone Non è detto che il client agisca per un utente umano; può trattarsi di un altro sistema Similmente, tra le sorgenti dati possono esserci (R)DBMS, ma anche filesystem, altri tipi di basi di dati o sistemi esterni a cui il nostro sistema deve richiedere dati per poter svolgere i suoi compiti L'architettura vista può dunque essere ripetuta ricorsivamente, con sistemi che fungono da componenti per sistemi più grandi Sistemi Informativi Distribuiti Giuseppe Loseto 4

Metodologie di progetto Due principali metodologie di progetto per sistemi informativi distribuiti Top-down Bottom-up Sistemi Informativi Distribuiti Giuseppe Loseto 5

Progettazione top-down La funzionalità del sistema è divisa in componenti (moduli), che non possono operare separatamente ma sono interdipendenti (tightly coupled, fortemente accoppiati) Tipicamente l'hardware è omogeneo e il sistema è progettato come distribuito sin dal principio La progettazione è direttamente guidata dai requisiti (funzionali e non funzionali) del sistema Sistemi Informativi Distribuiti Giuseppe Loseto 6

Metodologia top-down 1. Definire canali di accesso e piattaforme client 2. Definire i formati di presentazione e i protocolli per i client. 3. Definire le funzionalità necessarie a fornire i contenuti ed i formati richiesti dal livello di presentazione. 4. Definire le sorgenti di dati e l'organizzazione dei dati necessarie per implementare la logica applicativa. client presentation layer application logic layer resource management layer information system Sistemi Informativi Distribuiti Giuseppe Loseto 7

Progettazione bottom-up - 1 Nuova applicazione Applicazione legacy In un progetto bottom-up, si parte da componenti di base che esistono già (legacy). Essi sono sistemi stand-alone che devono essere integrati in nuovi sistemi. I componenti non cessano necessariamente di operare anche come componenti stand-alone (perché le vecchie applicazioni devono continuare a funzionare contemporaneamente a quelle nuove). Questo approccio è molto applicato, perché spesso esistono già dei componenti che non possono essere facilmente sostituiti. I componenti del sistema risultano, in genere, debolmente accoppiati (loosely coupled) Sistemi legacy Sistemi Informativi Distribuiti Giuseppe Loseto 8

Metodologia bottom-up 1. Definire i canali di accesso e le piattaforme client 2. Esaminare le risorse esistenti e le funzionalità che offrono 3. Definire dei wrapper per le risorse esistenti e integrare le loro funzionalità in una interfaccia coerente 4. Adattare l'output del livello di logica applicativa in modo che possa essere usato con i canali d'accesso e i protocolli definiti per i client. client presentation layer application logic layer resource management layer information system Sistemi Informativi Distribuiti Giuseppe Loseto 9

Confronto tra le metodologie di progetto La progettazione top-down è più semplice perché condizionata da meno vincoli. Il progetto risulta così più facilmente conforme ai requisiti di sistema: funzionali (operazioni da svolgere) non funzionali (prestazioni, disponibilità, sicurezza, etc.) L'approccio top-down è però applicabile solo se il sistema deve essere realizzato da zero. Attualmente nella maggioranza dei casi si parte da sistemi legacy: la progettazione dev'essere, gioco forza, di tipo bottom-up. Molto del lavoro in tali casi riguarda il middleware, livello intermedio necessario per integrare i componenti legacy fornendo interfacce comuni affrontando l'eterogeneità hardware e software dei componenti affrontando le problematiche (non previste nei sistemi legacy) legate alla natura distribuita del nuovo sistema Sistemi Informativi Distribuiti Giuseppe Loseto 10

Componenti del sistema, layer e connessioni Ogni box rappresenta un componente del sistema. Ogni freccia rappresenta una connessione tra due componenti. Una maggiore modularità permette maggior distribuzione e parallelismo, agevola l'incapsulamento, la progettazione basata su componenti e il riuso. Però più componenti implicano più connessioni: occorre mantenere più sessioni, è richiesta una maggior coordinazione. Il sistema diventa più complesso da monitorare e gestire. Più sono i livelli, maggiore è il numero di passi intermedi da compiere per completare un'operazione. Impatto sulle prestazioni del sistema. I progettisti devono bilanciare la flessibilità della progettazione modulare con le richieste prestazionali delle applicazioni. Non c'è problema di progettazione che non si possa risolvere aggiungendo un livello di indirezione. Non c'è problema di prestazioni che non si possa risolvere eliminando un livello di indirezione. Sistemi Informativi Distribuiti Giuseppe Loseto 11

Middleware: obiettivi Il middleware costituisce un livello di indirezione tra i client e il resto del sistema Così facendo: Semplifica il progetto dei client riducendo il numero di interfacce Fornisce accesso ai componenti sottostanti in modo trasparente Si occupa di individuare le risorse, accedervi e raccogliere i risultati Funge da piattaforma per l'integrazione tra più sistemi Sistemi Informativi Distribuiti Giuseppe Loseto 12

Middleware: vantaggi e limiti L'adozione di uno strato di middleware permette di Centralizzare il controllo (semplifica la progettazione del sistema) Modularizzare e distribuire su un cluster di nodi sia i componenti di logica applicativa sia quelli di gestione delle risorse Maggiore scalabilità Conferire proprietà al sistema, tecnicamente difficili (costose) da implementare ma di utilità generale (riusabili in sistemi diversi), es.: Tolleranza ai guasti (fault tolerance) Bilanciamento del carico (load balancing) Logging Sicurezza e policy configurabili per l'accesso alle risorse Replica (replication) dei dati Persistenza Di contro, l'uso di middleware comporta Maggior overhead di comunicazione tra i componenti del sistema Necessità di un'interfaccia stabile non solo tra presentazione e logica applicativa, ma anche tra logica applicativa e gestione delle risorse Sistemi Informativi Distribuiti Giuseppe Loseto 13

Comunicazione tra moduli La comunicazione tra moduli può avvenire mediante interazioni Bloccanti Più semplici da progettare e implementare Minori performance Non bloccanti Maggiori performance Maggiore disaccoppiamento Ma richiede più risorse ed è più difficile da implementare Le tecnologie nuove prevedono spesso interazioni bloccanti, poi evolvono verso il modello non bloccante client Call idle time Answer request() do with answer queue queue receive process return server Receive Response Sistemi Informativi Distribuiti Giuseppe Loseto 14

Riferimenti Alonso, Casati, Kuno, Machiraju, Web Services Concepts, Applications, Challenges, Springer, 2004, cap. 1 Sistemi Informativi Distribuiti Giuseppe Loseto 15