Architetture Distribuite, Middleware, Distributed Object Computing e Legacy System. Giuseppe Santucci &...

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Architetture Distribuite, Middleware, Distributed Object Computing e Legacy System. Giuseppe Santucci &... santucci@dis.uniroma1."

Transcript

1 Architetture Distribuite, Middleware, Distributed Object Computing e Legacy System Giuseppe Santucci &...

2 Argomenti Concetti di base Applicazioni Client/Server Middleware tradizionale Middleware WWW Distributed Object Computing Legacy System 2

3 Concetti di base applicazioni distribuite sistemi client/server architetture a n livelli middleware 3

4 Definizione di applicazione distribuita Una semplice definizione di applicazione distribuita (che non implica necessariamente semplici conseguenze) e : Una applicazione è distribuita se le funzioni coinvolte nella sua esecuzione sono distribuite tra 2 o più computer implica comunicazione presuppone supporto per eterogeneita 4

5 La distribuzione delle applicazioni Fino a qualche tempo fa la maggior parte delle applicazioni giravano all interno di un singolo sistema Con il diminuire delle dimensioni e dei costi della macchine, è diventato vantaggioso distribuire le applicazioni su due o più sistemi, con i seguenti benefici» utilizzo di due o più macchine economiche in luogo di una macchina costosa» migliore sfruttamento di PC e workstation esistenti» crescita facilitata dell ambiente di calcolo 5

6 Esempio di applicazioni tradizionali T T T Applicazione Database Applicazione T T Applicazione T T 6

7 Esempio di applicazioni distribuite Applicazione WS WS WS WS Database WS Applicazione WS Applicazione WS WS 7

8 Le market forces che guidano l evoluzione dei sistemi distribuiti In generale le grandi trasformazioni sono guidate da una combinazione di:» nuove tecnologie» nuove necessita L affermarsi dei sistemi distribuiti e dei sistemi Client/Server (C/S) viene influenzata da tre fenomeni:» downsizing» upsizing» rightsizing 8

9 Downsizing Migrazione verso il basso delle applicazioni di business da super mini e mainframe verso PC e workstation Il processo di Downsizing partiziona le grandi applicazioni pensate per i mainframe in moduli che vengono fatti operare su uno o piu server connessi in rete Le funzioni di interfaccia utente si spostano verso workstation client. Vengono rimpiazzati i vecchi terminali a carattere con moderne interfacce grafiche Soluzioni C/S basate su hardware standard e low-cost sono gli impulsi principali che governano il processo di downsizing. 9

10 Upsizing Il processo di Upsizing rappresenta il processo bottom-up che porta reti isolate di PC ad assumere le caratteristiche di sistemi dipartimentali Connessione dei PC in LAN» In origine le LAN venivano usate per condividere costose periferiche» Poi si e passati a sistemi di , di file system distribuiti e database condivisi» Applicazioni distribuite C/S 10

11 Rightsizing Il rightsizing rappresenta il processo attraverso il quale le applicazioni vengono collocate nella più appropriata piattaforma I client richiedono servizi sulla rete e tali servizi vengono forniti dai migliori server che li offrono In questo modello un server puo essere un PC un supermini o anche un mainframe Server differenti possono coesistere: la rete e il sistema Il rightsizing fa in modo che la domanda e l offerta di servizi possano incontrarsi nel modo migliore 11

12 Evoluzione dei modelli architetturali Anni 60-70: architettura centralizzata, monolitica» host (mainframe, mini) a cui vengono collegati terminali stupidi» a tutt oggi è l architettura dominante Anni 80: reti locali di PC» terminali dotati di intelligenza propria, che condividono risorse pregiate, come stampanti, dischi, etc. Fine anni 80 - Inizio anni 90: applicazioni pienamente distribuite, modello client-server» reti locali di PC e server, connesse su collegamenti geografici Metà-fine anni 90: Internet, WWW, Distributed Object Computing» sistemi network-centrici ( the network is the computer ) 12

13 13 plicazione plicazione Interfaccia Interfaccia Utente Utente zione zione Interfaccia Interfaccia Utente Utente Hardware Hardware Software Software di di Base Base Hardware Hardware Software Software di di Base Base Il middleware Applicazione Applicazione Interfaccia Interfaccia Utente Utente Applicazione Applicazione Interfaccia Interfaccia Utente Utente Applicazione Applicazione Interfaccia Interfaccia Utente Utente Hardware Hardware Software Software di di Base Base Middleware e servizi distribuiti RETE

14 Il modello Client-Server Una semplice definizione (che non implica... ) è:» La divisione di un applicazione in compiti eseguiti su due computer diversi, uno dei quali è una stazione di lavoro programmabile 14

15 Caratteristiche delle applicazioni client-server Il concetto di servizio Condivisione delle risorse Protocolli di comunicazione asimmetrici Trasparenza della posizione fisica (location) Indipendenza dalle piattaforme hardware/software ( mix and match ) Scambi di informazioni basati su messaggi Incapsulamento dei servizi 15

16 Architetture a più livelli Diversi concetti di livelli architetturali» livelli hardware» livelli software fisici» livelli software logici» livelli applicativi Il concetto sul quale ci concentriamo principalmente è quello di livello applicativo» vale a dire di quali moduli fondamentali si compone una applicazione Vedremo che esistono applicazioni a 2, 3, ed in generale n livelli» il salto concettuale avviene tuttavia tra le architetture a 2 livelli e quelle a 3 livelli 16

17 Modelli architetturali distribuiti Identificazione preliminare di componenti dell applicazione» Frammentazione delle applicazioni in livelli (o strati) applicativi» Gli strati costitutivi di una applicazione sono 3 Gestione Dati Applicazione Presentazione Localizzazione dei componenti secondo la classificazione sopra riportata 17

18 La classificazione del Gartner Group Gestione Dati Gestione Dati Gestione Dati Gestione Dati Gestione Dati Applicazione Applicazione Applicazione Presentazione Rete Applicazione Applicazione Gestione Dati Applicazione Presentazione Presentazione Presentazione ❶ ❷ ❸ 1 - Distributed Presentation 2 - Remote Presentation 3 - Distributed Function 4 - Remote Data Management 5 - Distributed Database Presentazione Presentazione ❹ Fonte : Gartner Group, 1991 ❺ 18

19 Gestione Dati Applicazione Distributed Presentation Presentazione Presentazione Server Centrale o Sistema Preesistente Gestione Dati Funzione Aziendale Automatizzata L Applicazione Logica di controllo Presentazione Sito X Rete Locale o Geografica Sito Y Sistemi Client Terminale Personal Computer Workstation 19

20 Gestione Dati Applicazione Remote Presentation Presentazione Server Centrale o Sistema Preesistente Gestione Dati Funzione Aziendale Automatizzata L Applicazione Sito X Logica di controllo e Presentazione all interno dei Sistemi Client Rete Locale o Geografica Sito Y Terminale Personal Computer Workstation Ultra-Thin Client: la collaborazione del client nell elaborazione dell applicazione è ridotta a funzioni minime 20

21 Gestione Dati Applicazione Distributed Function Applicazione Presentazione Sito X Server Centrale o Sistema Preesistente Rete Locale o Geografica Gestione Dati Funzioni Aziendali Automatizzate Comuni L Applicazione Server Sito Y Sistemi Client Personal Computer Funzioni Aziendali Automatizzate Specifiche per l utente L Applicazione Client Logica di controllo Presentazione Thin Client: la collaborazione del client nell elaborazione dell applicazione è limitata alle funzioni di pertinenza dell utente del client 21

22 Gestione Dati Remote Data Management Applicazione Presentazione Sito X Server di Gestione dei Dati Aziendali Rete Locale o Geografica Base Dati Aziendale Sistema di Gestione delle Informazioni Memorizzate Sito Y Sistemi Client Personal Computer Funzioni Aziendali Automatizzate Specifiche per l utente L Applicazione Client Logica di controllo Presentazione Fat Client: il client non si limita a servire le specificità del proprio utente, ma contiene la logica applicativa relativa all intera applicazione 22

23 Gestione Dati Distributed Data Management Gestione Dati Applicazione Presentazione Server di Gestione dei Dati Aziendali Centrale Base Dati Aziendale Sistema di Gestione delle Informazioni Memorizzate Sito X Sistemi Client PC Rete Locale o Geografica Sito Y Server di Gestione dei Dati Aziendali Locale Funzioni Aziendali Automatizzate Specifiche per l utente L Applicazione Client Logica di controllo Presentazione Base Dati Aziendale Sistema di Gestione delle Informazioni Memorizzate 23

24 L evoluzione da due a tre livelli Monolitico 2-Livelli con Scambio Dati Host DBMS Server DBMS Dati Programma Utente con Gestione dell I/O su Schermo Data Stream verso il terminale stupido Server DBMS con stored procedure Programma Utente con Gestione dell I/O su Schermo Client Messaggi 2-Livelli con Scambio Msg Dati Programma Utente con Gestione dell I/O su Schermo Client Server Client DBMS Dati Programma Utente Messaggi Gestione dell I/O su Schermo Client/Server a 3-Livelli 24

25 Il passaggio a n livelli Server Client DBMS Dati Programma Utente Messaggi Gestione dell I/O su Schermo Client/Server a 3 Livelli Server DBMS, eventualmente con stored procedure Messaggi Programma Utente (eventuale) con Gestione dell I/O su Schermo Client Programma Utente Dati/Messaggi Client/Server a n Livelli 25

26 Requisiti e problemi di un ambiente distribuito: il ruolo del middleware Classi di requisiti cui deve soddisfare un ambiente distribuito» comunicazione» parallelismo» localizzazione dei servizi» security» sincronizzazione dei clock» Supporto per client di tipo diverso 26

27 Middleware Il termine middleware e usato per indicare tutto il software necessario per supportare l interazione tra Client e Server E la / tra client e Server, cioe l insieme delle funzioni software che vengono utilizzate per consentire al cient di ottenere un servizio dal server Dove inizia e dove finisce il campo d azione del middlware?» inizia sulle API del lato Client usate per invocare i servizi» copre la trasmissione della richiesta e della risposta sulla rete» non include il software che produce il servizio» non include l interfaccia utente 27

28 Middleware Una prima classificazione del middleware puo essere la seguente: General middleware: il substrato piu comune per C/S.» directory distribuite,» servizi di autenticazione,» servizi di timing,» remote procedure call,» servizi per la gestione delle code di messaggi Service specific middleware: necessario per particolari tipi di servizi.» Database (ODBC)» Transazioni (Tuxedo, Enchina...)» Groupware (workflow)» Object specific (ORB)» WWW middleware!!! 28

29 Un esempio famoso (storico?) di middleware: OSF DCE Diskless Support Service Other Distributed Services (Future) OSF=Open Software Foundation (oggi Open Group) DCE = Distributed Computing Environment y Time Service Service Remote Procedure Calls Other Fundamental Services (Future) t Threads OPERATING SYSTEM AND TRANSPORT SERVICES Modello architetturale indotto da DCE PCs Server HOST 29

30 OSF/DCE struttura cellulare Cellula A LAN Cellula C WAN LAN LAN Cellula B 30

31 Applicazioni Client/Server (& general middleware)

32 Caratteristiche di un sistema C/S Cosa rende i sistemi C/S differenti da altre forme di software distribuito? Relazione di Servizio: la relazione di C/S e una relazione tra processi che possono essere localizzati su macchine differenti.» Il processo server e un fornitore di servizi» il processo client e un consumatore di servizi 32

33 Caratteristiche di un sistema C/S Risorse condivise: un server puo servire piu client alla volta e regolare il loro accesso a risorse condivise Protocolli asimmetrici: Esiste una relazione molti ad uno tra client e server. I client avviano il dialogo richiedendo un servizio. I server attendono passivamente le richieste. Trasparenza rispetto alla locazione: Un server e un processo che puo risiedere sulla stessa macchina del client o su una macchina diversa connessa in rete. Il software C/S tipicamente maschera la locazione del server rispetto al client redirigendo l invocazione del servizio. Comunicazione basata su messaggi: Client e server sono sistemi accoppiati lascamente che interagiscono attraverso messaggi. 33

34 Caratteristiche di un sistema C/S Incapsulamento del servizio: la definizione di un server e fatta rispettando il principio dell incapsulamento. Un messaggio comunica al server quale servizio e richiesto. Sara poi il server a stabilire come eseguire il compito. I server possono essere modificati internamente senza comportare una modifica dei client che ne utilizzano i servizi. Scalabilita : I sistemi C/S possono essere scalati orizzontalmente o verticalmente.» scalare orizzontalmente significa aggiungere o rimuovere client con implicazioni esclusivamente a livello prestazionale» scalare verticalmente significa migrare verso una macchina server piu grande e piu veloce Integrita : Il codice e i dati del server vengono mantenuti centralmente, con benefici economici e di sicurezza. Il client, viceversa, rimane personale e indipendente 34

35 Architetture e sistemi C/S Molti sistemi con architetture molto differenti tra loro sono stati definiti sistemi Client/Server» File servers» Database servers» Transaction servers» Object servers» Lan servers» Windows servers» Authentication servers 35

36 Fat server o Fat client? Le applicazioni C/S possono essere differenziate sulla base di come l applicazione e suddivisa tra client e server. Il modello fat server colloca piu funzionalita sul server» groupware, transactions, object servers Il modello fat client assegna maggiore responsabilita al client» database e file server Fat clients sono la forma piu tradizionale di C/S. Il cuore dell applicazione gira sulla parte client, i client sono a conoscenza di tutta la logica dell applicazione e dei dati. Applicazioni di tipo fat server sono piu facili da manutenere su grandi installazioni in quanto gran parte del software gira sul server.» I fat server tendono a minimizzare i messaggi scambiati sulla rete fornendo servizi a maggior livello di astrazione. Incapsulamento. Invece di esportare solo dati vengono esportate anche procedure e/o metodi che operano sui dati. 36

37 Anatomia di un programma server Il ruolo di un programma server e quello di servire piu client che hanno interesse ad accedere a risorse condivise Un tipico programma server fa le seguenti cose:» attende che i client effettuino delle richieste» esegue piu richieste contemporaneamente» si occupa di gestire priorita nello svolgere il servizio» puo iniziare attivita in background» si mantiene operativo anche in condizioni estreme» cresce e puo richiedere piu risorse 37

38 Threads in ambiente Client/Server Sfruttando l inerente parallelismo dei sistemi distribuiti» i server possono servire simultaneamente più client» i client possono effettuare simultaneamente più richieste di servizio Flussi di elaborazione in parallelo si definiscono threads Servers Clients 38

39 C /S e sistema operativo (general middleware) Un sistema operativo deve fornire dei servizi utili per le tipiche funzionalita richieste da un sistema C/S Di particolare importanza i concetti di :» Thread (programma concorrente guidato dagli eventi)» IPC Interprocess communication (pipe, soket, ecc.) In un ambiente distribuito, le funzioni del sistema operativo possono essere:» funzioni di base» funzioni estese 39

40 Servizi di base del SO per il server Elevato livello di concorrenza, sia come possibilita di gestire piu processi (piu indipendenza), sia come possibilita di gestire piu threads nel singolo processo (piu efficienza, meno overhead) Task Priority. Possibilita di differenziare il livello di servizio. Task Preemption. Molto piu potente del multitasking cooperativo Semafori. Per consentire la sincronizzazione. Interprocess comunication. Per consentire la comunicazione tra processi.» local» remote 40

41 Servizi di base del SO per il server Threads Per creare efficienti programmi con elevato grado di parallelismo Intertask protection Protezione dalle interferenze con le altre risorse. Un task non deve essere in grado di mandare giu il sistema Multiuser High Performance file system Elevato numero di file aperti, locks. Gestione efficiente della memoria Gestione di grandi/numerosi programmi, memoria virtuale 41

42 Servizi estesi del SO per il server I servizi estesi devono consentire un accesso piu flessibile alle informazioni condivise.» Varieta di protocolli di rete» Estensioni del Network Operating System per consentire un accesso trasparente alle risorse» Global directories e Yellow Pages» Servizi di autorizzazione ed autenticazione» Network time» Database e Transaction services» Servizi di object brokering 42

43 Anatomia di un programma Client Il lato client fornisce il look and feel dei servizi che il sistema fornisce Tutti i client hanno in comune il fatto che richiedono servizi al server, i programmi client si differenziano su cosa innesca la richiesta e sul tipo di GUI necessaria. Sulla base di queste caratteristiche una possibile classificazione delle applicazioni client e la seguente:» non GUI clients» GUI client» OOUI clients 43

44 Classificazione dei client Non GUI client. Generano richieste al server con una interazione umana minima o nulla. Due categorie:» non richiedono multitasking (bancomat, lettore di codice a barre)» necessitano multitasking. Programmi demoni, Robots GUI. Semplici GUI client sono applicazioni dove l intervento umano e occasionale. Dialoghi di tipo seriale, presentazione di grafici. OOUI client. Interfacce iconiche dove ogni oggetto sullo schermo e un client. Molte sessioni parallele. Alta interazione. 44

45 Sistemi operativi MS-DOS. praticamente non offre nessun servizio tra quelli utili per una applicazione C/S UNIX. Molti servizi di base, molte versioni OS/2. Sistema completo, ma poco affermato MAC OS. Buono, ma in via di estinzione. Windows 3.1. Solo GUI, multitasking cooperativo. Windows 95/98. Forma ancora non soddisfacente di multitasking Windows NT. Sistema abbastanza completo (task preemption) ma ancora instabile. Windows 2000? 45

46 C/S & middleware API (Application Programming Interface) Processo client Middleware client Servizi Servizi Locali di rete Protocollo middleware Processo server Middleware server Servizi Servizi Locali di rete API 7 5,6 4,3 Sistema operativo Sistema operativo 2 Hardware Hardware 1 ISO/OSI 46

47 Middleware tradizionale 47

48 Livelli del middleware (1) Servizi di rete a basso livello? (soket, SNA logical unit, NetBios) servizi primitivi emulatore di terminale (location sensitive) file transfer (location sensitive) posta elettronica servizi di base: permettono la comunicazione tra processi remoti usando il paradigma C/S e l'accesso distribuito al file system e a risorse condivise» Meccanismi per la comunicazione RPC remote procedure call RDA remote data access MOM message oriented middleware 48

49 WWW middleware Livelli del middleware (2) WEB server - WEB browser HTML / HTTP Java Middleware per dati distribuiti: permette l'accesso a piu' basi di dati remote e gestite da differenti DBMS relazionali (e.g., Informix, Oracle) in modo trasparente remote SQL gateway Middleware per la gestione distribuita di transazioni: permette la completa gestione di transazioni, garantendo: aggiornamenti trasparenti (gestione automatica della replicazione) transazioni trasparenti (decomposizione trans. automatica su piu' siti) trasparenza rispetto ai guasti (accesso ai dati replicati su siti alternativi)» TP-heavy / TP-lite 49

50 Livelli del middleware (3) Middleware per oggetti distribuiti: permette ad oggetti remoti di scambiarsi messaggi. Componenti essenziali sono:» ORB: Object Request Broker che trasferisce le richieste e le risposte tra l'oggetto client e l'oggetto server» Repository: descrizione di tutti gli oggetti disponibili utilizzato dall'orb per trovare gli oggetti di interesse sulla rete» E.g., Corba, OLE/ActiveX, OpenDoc, Oracle WRB Middleware specializzato» Mobile computing» Multimedia» Legacy access/integration» Groupware Distributed operating system (DISOS)?? 50

51 Portabilita' ed interoperabilita' (1) Le API influenzano la portabilita' delle applicazioni C/S. Ad esempio, un client che usa le API di Informix deve essere riscritto per utilizzare le API di Oracle. Il protocollo di interazione tra il middleware client e quello server influenza la interoperabilita' delle applicazioni C/S. Ad esempio un middleware client Informix non riesce a scambiare dati con un middleware server Oracle. Occorre prevedere un eventuale "gateway". E' quindi importante considerare i livelli di standardizzazione possibili 51

52 Portabilita' ed interoperabilita' (2) API Protocollo Esempi Totally open Open Open DCE RPC Corba Open API Open Proprietary ODBC Open protocol Proprietary Open DRDA ISO RDA Proprietary Proprietary Proprietary OLE/ActiveX 52

53 Middleware di base ~= Network Operating Systems (NOS) Scopo del middleware NOS: fornire una singola immagine di sistema per tutti i servizi di rete. Il middleware NOS fornisce l infrastruttura logica indispensabile per sviluppare sistemi informativi distribuiti. Senza il NOS lo sviluppo di applicazioni C/S sarebbe enormemente difficoltoso e costoso. Spesso i middleware commerciali si appoggiano sui servizi forniti dal NOS. (e.g., un middleware per basi di dati si appoggia su Netware di NT) 53

54 Servizi offerti dal NOS Il NOS nasce con le LAN (essenzialmente : file server/ print server). Successivamente introduce servizi utili per C/S:» Comunicazione remota» Servizio di directory» Sicurezza» Gestione dei guasti» Scheduling dei task» Time service E' importante notare che il NOS offre servizi all'interno di una LAN! Occorrono quindi dei "gateway" per far colloquiare due NOS distinti 54

55 RPC - Remote Procedure Call Il middleware RPC fa in modo che l invio di una richiesta da un client verso un server avvenga come se fosse una normale chiamata locale di procedura Meccanismo che facilita la programmazione L'interazione e' sincrona: il processo client viene sospeso finche la procedura chiamata non termina. I parametri vengono passati come una procedura ordinaria. Il software run time raccoglie i parametri, li impacchetta (Marshalling), forma un messaggio e lo invia verso il server remoto Il server riceve la richiesta, spacchetta i parametri (Unmarshalling), e manda la risposta al client. 55

56 Il meccanismo di Remote Procedure Call Main Proc A Proc B 1 Client Main Server ProcA Server Proc B 2 Client Main Client Stub Server Stub Server ProcA Server Proc B Una copia prototipo della procedura da chiamare viene inserita nel codice del client : client stub. Il client stub riceve i parametri e si preoccupa di inoltrarli sulla rete fino al server che implementa la procedura. Un server stub si occupa di ricevere tali parametri ed inviare indietro il risultato. (Gli stub sono il middleware!) 56

57 IDL - Interface Definition Language Gli stub del client e del server vengono generati tramite un opportuno linguaggio di specifica : IDL IDL permette di specificare in modo dichiarativo la struttura dell'interfaccia, ovvero:» operazioni disponibili» parametri necessari Le specifiche della interfaccia vengono "compilate" nei linguaggi del client e del server, ottenendo il server stub ed il client stub Il client ed il server vengono compilati ed eseguiti Approccio tipico C/S Ovviamente non esiste uno standard per IDL 57

58 Sviluppo di applicazioni con RPC Client Source Interface Definition File (IDL) Server Source IDL Compiler Client Stub Source Header File Server Stub Source X Compiler Client Executable RPC Runtime Library Y Compiler Server Executable 58

59 Riassumendo Il client effettua una chiamata locale ad una procedura stub che la trasforma in un messaggio di rete nel formato previsto (tipicamente TCP/IP soket) e "scopre" l'indirizzo del server (bind) utilizzando, ad esempio, una diretory distribuita Il messaggio viaggia sulla rete e viene ricevuto dallo strato di trasporto della rete del server (gateway?) Il server stub riceve il messaggio, lo converte in una chiamata locale e lo invia al server Il server esegue la chiamata e restituisce al server stub il risultato Il server stub... 59

60 Caratteristiche del NOS per supportare meccanismi RPC Localizzazione delle funzioni del server ed avvio del server Definizione dei parametri (NIDL) Network Interface Definition Language. NIDL compiler, header stub e skeleton. Gestione dei malfunzionamenti Automatic retry, only once semantics. Connection-Oriented vs. Connectionless RPC Sicurezza Specifica del livello di sicurezza richiesto. Funzioni di ricerca del server. Binding = Associazione C/S. Hardcoded binding Vs. binding con ricerca su direttorio, dynamic binding. Nel caso di dynamic necessità di pubblicizzare un server. Rappresentazione dei dati Necessità di utilizzare una forma canonica di rappresentazione per i dati. 60

61 Risoluzione delle differenze tra le rappresentazioni dei dati RPC risolve automaticamente le differenze di rappresentazione dei dati tra sistemi eterogenei (ISO-OSI 6 presentazione) Ciò avviene per mezzo di opportuno codice associato agli stub per mezzo dell IDL compiler Esistono diversi approcci a questo problema:» Rappresentazione canonica comune a volte inutile» DCE impiega lo schema receiver makes it right» Altri sistemi impiegano lo schema sender makes it right implicano la conoscenza di tutti i formati dei client e dei server 61

62 Workflow di una comunicazione sincrona client 1 client si attiva directory Il server si attiva server Selezione del servizio riceve il messaggio 3 Preparazione del messaggio Decodifica messaggio Chiamata sincrona 2 Esegue il servizio M i d d l e w a r e 62

63 RPC: ulteriori considerazioni Generazione degli stub : manuale / automatica (IDL) Nel caso di binding dinamico occorre trovare la coppia <host,server> appropriata. Directory centralizzata/distribuita. Semantica della chiamata in caso di malfunzionamenti server: Exactly once At most once At least once Gestione degli errori timeout chiusura del server (automatica / da parte del client) Passaggio dei parametri: valore, variabile? Interazioni asincrone? Dimensione del risultato non nota? (e.g., query SQL) Estensioni : RPC + transazioni 63

64 Message Oriented Middleware (MOM) MOM consente a client e server di scambiare generici messaggi utilizzando code di messaggi gestiti in modo asincrono. Le applicazioni comunicano in rete semplicemente mettendo messaggi in code e prendendo messaggi dalle code. MOM elimina tutti i dettagli della comunicazione fornendo un API molto semplice. MOM consente la comunicazione senza la necessità di avere una connessione attiva Client e server possono essere operativi in tempi differenti. Grande disaccoppiamento ed indipendenza. Un programma può decidere quando prelevare i messaggi dalla coda. Possibilità di comunicazione one-to-many many-to-one. 64

65 Prodotti di middleware MOM MOM è un componente chiave del middleware assolutamente essenziale per una certa classe di sistemi distribuiti Se l applicazione può tollerare un certo livello di indipendenza dai tempi di risposta, i meccanismi MOM forniscono il modo più semplice per realizzare sistemi distribuiti MOM risulta particolarmente indicato nel caso di mobile computing Standard IBM: MQI Messaging and Queuing Interface 65

66 MQI API L API MQI consiste di un insieme di nove semplici chiamate L API MQI definisce un interfaccia tra il programma applicativo ed il gestore locale delle code. Il gestore delle code fornisce trasparenza sulla locazione dei soggetti coinvolti e gestisce la consegna dei messaggi Anatomia di un programma MQI: stabilisci la connessione con il gestore locale delle code MQCONN apri una coda per lo scambio messaggi MQOPEN inserisci o prendi messaggi MQPUT MQGET oppure interroga lo stato della coda MQINQ chiudi la coda MQCLOSE disconnetti MQDISC 66

67 Problemi con il middleware MQseries E una tecnologia sviluppata per risolvere problemi di comunicazione relativi a piattaforme eterogenee Di vecchio stile Non sono previsti meccanismi di interoperabilità con altri MOM Usa un sistema proprietario di directory Non supporta lo scambio di messaggi di grandi dimensioni come BLOB (Binary Large Object) 67

68 Confronto tra MOM ed RPC Caratteristica MOM RPC Metafora Ufficio Postale Telefono Relazione tra client e server Sequenza di attivazione Asincrona Nessuna Sincrona Stile Accodamento Call-Return Dati persistenti Sì No Il Server deve essere attivo prima che il Client possa comunicarci Necessità di disponibilità del partner Bilanciamento del carico Supporto di transazioni Filtraggio di messaggi Prestazioni Elaborazione asincrona No Impiego di coda singola in modalità FIFO o prioritybased Sì (in alcuni prodotti) Sì Lente (c è un passaggio in più) Sì Sì Per mezzo di servizi aggiuntivi (TP Monitor) No No Veloci Limitata (per mezzo di threads) Fonte: Essential Client-Server Guide,

69 Remote Data Access (RDA) Permette ad un client di accedere, tramite uno statement SQL (tipicamente una interrogazione), ad una o piu' basi di dati remote La differenza essenziale rispetto a RPC e' la dimensione del risultato:» RDA prevede, dopo la prima comnnessione, un dialogo tra client e server per il reperimento di una tupla alla volta (SQL FETCH)» dialogo sincrono Tipi di API:» Embedded SQL: il programmatore puo' aggiungere comandi SQL all'interno del codice distinguendoli tramite indicatori speciali (e.g., $)» Call level interface (CLI) : il comando SQL e' passato come stringa al server (chiamate addizionali permettono di specificare il server, chiudere la connessione, ecc.) Il piu' noto esempio e' Open Database Connect (ODBC)» Non e necessario un IDL Comandi SQL statici e dinamici» dinamici : permettono di formulare query estemporanee» statici : permettono di individuare piani esecutivi a tempo di compilazione 69

70 Stored Database Procedure Procedure scritte in una estensione dell'sql con istruzioni condizionali e di ciclo (spesso linguaggio proprietario del DBMS). Vengono compilate e memorizzate presso il server per poter essere eseguite tramite una chiamata speciale. Vantaggi principali:» efficienza» migliore gestione della integrita' dei dati (e.g., tutte le funzionalita' di update possono essere realizzate tramite stored procedure)» introducono una sorta di "object orientation" per i server di basi di dati 70

8. Sistemi Distribuiti e Middleware

8. Sistemi Distribuiti e Middleware 8. Sistemi Distribuiti e Middleware Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 8. Sistemi distribuiti e Middleware 1 / 32 Sommario 1 Sistemi distribuiti

Dettagli

CORBA ( Common Object Request Broker Architecture ) Le specifiche più conosciute sono UML e CORBA

CORBA ( Common Object Request Broker Architecture ) Le specifiche più conosciute sono UML e CORBA CORBA ( Common Object Request Broker Architecture ) consiste in un insieme di specifiche promosse e curate da OMG (Object Management Group). L OMG è un consorzio internazionale no-profit di industrie nel

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla

Dettagli

Sistemi Distribuiti Introduzione al corso

Sistemi Distribuiti Introduzione al corso Altri testi di consultazione Sistemi Distribuiti Introduzione al corso Testo di riferimento G.Coulouris, J.Dollimore and T.Kindberg Distributed Systems: Concepts and Design IV Ed., Addison-Wesley 2005

Dettagli

Distributed Object Computing

Distributed Object Computing Evoluzione Architetturale Distributed omputing entralizzata Monolitica anni 60-70 Reti locali di P anni 80 Reti lient Server anni 80-90 Internet The network is the computer Paolo Falcarin Sistemi Informativi

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico

Dettagli

Architetture per le applicazioni web-based. Mario Cannataro

Architetture per le applicazioni web-based. Mario Cannataro Architetture per le applicazioni web-based Mario Cannataro 1 Sommario Internet e le applicazioni web-based Caratteristiche delle applicazioni web-based Soluzioni per l architettura three-tier Livello utente

Dettagli

BANCA VIRTUALE/1 tecnologie dell informazione della comunicazione

BANCA VIRTUALE/1 tecnologie dell informazione della comunicazione BANCA VIRTUALE/1 Il termine indica un entità finanziaria che vende servizi finanziari alla clientela tramite le tecnologie dell informazione e della comunicazione, senza ricorrere al personale di filiale

Dettagli

Architettura SW Definizione e Notazioni

Architettura SW Definizione e Notazioni Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Stili Architetturali E. TINELLI Architettura SW Definizione e Notazioni Definizione ANSI/IEEE Std Std1471-2000

Dettagli

ARCHITETTURE DEI SISTEMI DI ELABORAZIONE

ARCHITETTURE DEI SISTEMI DI ELABORAZIONE ARCHITETTURE DEI SISTEMI DI ELABORAZIONE 1 SISTEMI ACCENTRATI CARATTERISTICHE Sistemi proprietari Monocultura Scarsa diffusione informatica Backlog 2 Soluzione centralizzata TERMINALE TERMINALE ELABORATORE

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

Siti web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Dettagli

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO Standard tecnici Gli standard tecnici di riferimento adottati sono conformi alle specifiche e alle raccomandazioni emanate dai principali

Dettagli

ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA

ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA Obiettivo Richiamare quello che non si può non sapere Fare alcune precisazioni terminologiche IL COMPUTER La struttura, i componenti

Dettagli

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET) Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione 1: Le Architetture Distribuite Vittorio Scarano Algoritmi e Strutture Dati: Algoritmi Distribuiti Corso di Laurea in Informatica Università di Salerno Le architetture distribuite

Dettagli

Contenuti. Applicazioni di rete e protocolli applicativi

Contenuti. Applicazioni di rete e protocolli applicativi Contenuti Architettura di Internet Principi di interconnessione e trasmissione World Wide Web Posta elettronica Motori di ricerca Tecnologie delle reti di calcolatori Servizi Internet (come funzionano

Dettagli

@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita

@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita Architettura client/ stazioni utente Basi di ati Architetture /Server B locali M BG Architettura centralizzata Un architettura è centralizzata quando i dati e le (programmi) risiedono in un unico Tutta

Dettagli

Programmazione di sistemi distribuiti

Programmazione di sistemi distribuiti Programmazione di sistemi distribuiti I Sistemi Distribuiti, per loro natura, prevedono che computazioni differenti possano essere eseguite su VM differenti, possibilmente su host differenti, comunicanti

Dettagli

Concetti base. Impianti Informatici. Web application

Concetti base. Impianti Informatici. Web application Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet

Dettagli

Sistemi Distribuiti. Informatica B. Informatica B

Sistemi Distribuiti. Informatica B. Informatica B Sistemi Distribuiti Introduzione Che cos è un sistema distribuito? Un sistema distribuito è una collezione di computer indipendenti che appare all utente come un solo sistema coerente Da notare: le macchine

Dettagli

Applicazioni web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

Dettagli

LAN MAN WAN. Una internet è l'insieme di più reti reti distinte collegate tramite gateway/router

LAN MAN WAN. Una internet è l'insieme di più reti reti distinte collegate tramite gateway/router Rete di reti (interrete, internet) 2 Prof. Roberto De Prisco TEORIA - Lezione 8 Rete di reti e Internet Università degli studi di Salerno Laurea e Diploma in Informatica Una rete di comunicazione è un

Dettagli

Architetture a oggetti distribuiti

Architetture a oggetti distribuiti Luca Cabibbo Architetture Software Architetture a oggetti distribuiti Dispensa ASW 420 ottobre 2014 Tutti sanno che una certa cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo

Dettagli

Corso Web programming

Corso Web programming Corso Web programming Modulo T3 A1 Modelli di programmazione 1 Prerequisiti Concetto di rete Processi e thread Concetti generali sui database 2 1 Introduzione Un particolare ambito della programmazione

Dettagli

L evoluzione delle Applicazioni Distribuite

L evoluzione delle Applicazioni Distribuite L evoluzione delle Applicazioni Distribuite Dai terminali a fosfori verdi al Client-Server a Internet Architettura basata su Mainframe thin client su 3270 a fosfori verde server TP-Monitor su Mainframe

Dettagli

Framework. Impianti Informatici. Web application - tecnologie

Framework. Impianti Informatici. Web application - tecnologie Framework Web application - tecnologie Web Application: tecnologie 2 Java-based (J2EE) Sviluppata inizialmente da Sun Cross-platform e open source Gestire direttamente le funzionalità dell applicazione

Dettagli

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET 18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso ai database

Dettagli

* Accesso ai file remoti - trasferimento effettivo dei dati mediante RPC - aumento delle prestazioni tramite caching

* Accesso ai file remoti - trasferimento effettivo dei dati mediante RPC - aumento delle prestazioni tramite caching * Sistemi operativi di rete: ambiente composto da risorse remote accessibili esplicitamente con controllo utente. Funzioni principali (demone); - login remoto (telnet) - trasferimento di file remoti (FTP)

Dettagli

File System Distribuiti

File System Distribuiti File System Distribuiti Introduzione Nominazione e Trasparenza Accesso ai File Remoti Servizio Con/Senza Informazione di Stato Replica dei File Un esempio di sistema 20.1 Introduzione File System Distribuito

Dettagli

Introduzione. File System Distribuiti. Nominazione e Trasparenza. Struttura dei DFS. Strutture di Nominazione

Introduzione. File System Distribuiti. Nominazione e Trasparenza. Struttura dei DFS. Strutture di Nominazione File System Distribuiti Introduzione Nominazione e Trasparenza Accesso ai File Remoti Servizio Con/Senza Informazione di Stato Replica dei File Un esempio di sistema Introduzione File System Distribuito

Dettagli

Le caratteristiche di interoperabilità del Terrapack 32 M

Le caratteristiche di interoperabilità del Terrapack 32 M I T P E l e t t r o n i c a Le caratteristiche di interoperabilità del Terrapack 32 M M. Guerriero*, V. Ferrara**, L. de Santis*** * ITP Elettronica ** Dipartimento di Ingegneria Elettronica Univ. La Sapienza

Dettagli

INTRODUZIONE A RETI E PROTOCOLLI

INTRODUZIONE A RETI E PROTOCOLLI PARTE 1 INTRODUZIONE A RETI E PROTOCOLLI Parte 1 Modulo 1: Introduzione alle reti Perché le reti tra computer? Collegamenti remoti a mainframe (< anni 70) Informatica distribuita vs informatica monolitica

Dettagli

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

Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica. Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica Corso di Sistemi Distribuiti Prof. Stefano Russo Caratterizzazionedei SistemiDistribuiti

Dettagli

Introduzione ai Web Services Alberto Polzonetti

Introduzione ai Web Services Alberto Polzonetti PROGRAMMAZIONE di RETE A.A. 2003-2004 Corso di laurea in INFORMATICA Introduzione ai Web Services alberto.polzonetti@unicam.it Introduzione al problema della comunicazione fra applicazioni 2 1 Il Problema

Dettagli

Sistemi Informativi e WWW

Sistemi Informativi e WWW Premesse Sistemi Informativi e WWW WWW: introduce un nuovo paradigma di diffusione (per i fornitori) e acquisizione (per gli utilizzatori) delle informazioni, con facilità d uso, flessibilità ed economicità

Dettagli

La rete ci cambia la vita. Le persone sono interconnesse. Nessun luogo è remoto. Reti di computer ed Internet

La rete ci cambia la vita. Le persone sono interconnesse. Nessun luogo è remoto. Reti di computer ed Internet La rete ci cambia la vita Lo sviluppo delle comunicazioni in rete ha prodotto profondi cambiamenti: Reti di computer ed Internet nessun luogo è remoto le persone sono interconnesse le relazioni sociali

Dettagli

Reti di computer ed Internet

Reti di computer ed Internet Reti di computer ed Internet La rete ci cambia la vita Lo sviluppo delle comunicazioni in rete ha prodotto profondi cambiamenti: nessun luogo è remoto le persone sono interconnesse le relazioni sociali

Dettagli

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni) Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori

Dettagli

Tecnologia dei Sistemi Informativi. architettura s.i. 1

Tecnologia dei Sistemi Informativi. architettura s.i. 1 Tecnologia dei Sistemi Informativi architettura s.i. 1 Sistema Informativo comprende risorse umane è fortemente integrato con il sistema organizzativo è essenziale per il funzionamento dell'azienda architettura

Dettagli

Introduzione all elaborazione di database nel Web

Introduzione all elaborazione di database nel Web Introduzione all elaborazione di database nel Web Prof.ssa M. Cesa 1 Concetti base del Web Il Web è formato da computer nella rete Internet connessi fra loro in una modalità particolare che consente un

Dettagli

Interoperabilità e cooperazione applicativa tra sistemi informativi

Interoperabilità e cooperazione applicativa tra sistemi informativi Interoperabilità e cooperazione applicativa tra sistemi informativi Michele Ruta Dipartimento di Ingegneria Elettrica e dell Informazione Politecnico di Bari 1di 29 Indice Introduzione ai Port Community

Dettagli

Introduzione alle Applicazioni Web

Introduzione alle Applicazioni Web Introduzione alle Applicazioni Web di Mary Ercolini Con il termine Applicazione Web si intende un applicazione risiedente in un Server Web alla quale si accede tramite un browser Internet o un altro programma

Dettagli

Seminario di Sistemi Distribuiti: RPC su SOAP

Seminario di Sistemi Distribuiti: RPC su SOAP Corso di Sistemi Distribuiti Prof. S. Balsamo Seminario di Sistemi Distribuiti: RPC su SOAP [ 777775] 1 INTRODUZIONE 3 2 RPC 3 3 SOAP (SIMPLE OBJECT ACCESS PROTOCOL) 3 4 UTILIZZO DI SOAP COME PROTOCOLLO

Dettagli

CORBA & DCOM. Gianpaolo Cugola cugola@elet.polimi.it http://www.elet.polimi.it/~cugola. La Object Management Architecture

CORBA & DCOM. Gianpaolo Cugola cugola@elet.polimi.it http://www.elet.polimi.it/~cugola. La Object Management Architecture CORBA & DCOM Gianpaolo Cugola cugola@elet.polimi.it http://www.elet.polimi.it/~cugola Sommario La Object Management Architecture CORBA La programmazione di applicazioni CORBA in Java CORBA vs. RMI DCOM

Dettagli

ARCHITETTURE DEI SISTEMI DI ELABORAZIONE

ARCHITETTURE DEI SISTEMI DI ELABORAZIONE SISTEMI ACCENTRATI CARATTERISTICHE ARCHITETTURE DEI SISTEMI DI ELABORAZIONE Sistemi proprietari Monocultura Scarsa diffusione informatica Backlog 1 2 Soluzione centralizzata SISTEMI DISTRIBUITI TERMINALE

Dettagli

Architetture Software Milano

Architetture Software Milano Architetture Software Approccio tradizionale allo sviluppo I limiti del modello requisiti, progetto, implementazione Il concetto di architettura software Il concetto di stile architetturale I principali

Dettagli

27/03/2013. Contenuti

27/03/2013. Contenuti Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano Contenuti Virtualizzazione - 3 Macchina virtuale - 4 Architetture delle macchine virtuali - 6 Tipi di virtualizzazione - 7 Monitor della

Dettagli

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software.

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software. Reti locati e reti globali Tecnologie: Reti e Protocolli Reti locali (LAN, Local Area Networks) Nodi su aree limitate (ufficio, piano, dipartimento) Reti globali (reti metropolitane, reti geografiche,

Dettagli

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali:

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Componenti di una applicazione Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Un sottosistema di interfaccia con l utente (IU, user interface o anche presentation

Dettagli

Internet e Tecnologia Web

Internet e Tecnologia Web INTERNET E TECNOLOGIA WEB Corso WebGis per Master in Sistemi Informativi Territoriali AA 2005/2006 ISTI- CNR c.renso@isti.cnr.it Internet e Tecnologia Web...1 TCP/IP...2 Architettura Client-Server...6

Dettagli

Protocolli e architetture per WIS

Protocolli e architetture per WIS Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS

Dettagli

Table of Contents. Definizione di Sistema Distribuito 15/03/2013

Table of Contents. Definizione di Sistema Distribuito 15/03/2013 Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano Table of Contents Definizione di Sistema Distribuito - 4-7 - 13 Definizioni e Principali Caratteristiche

Dettagli

Corso di Informatica per la Gestione Aziendale

Corso di Informatica per la Gestione Aziendale Corso di Informatica per la Gestione Aziendale Anno Accademico: 2008/2009 DOCENTI: Prof.ssa Cecilia Rossignoli Dott. Gianluca Geremia Università degli Studi di Verona Dipartimento di Economia Aziendale

Dettagli

Reti basate sulla stack di protocolli TCP/IP

Reti basate sulla stack di protocolli TCP/IP Reti basate sulla stack di protocolli TCP/IP Classe V sez. E ITC Pacioli Catanzaro lido 1 Stack TCP/IP Modello TCP/IP e modello OSI Il livello internet corrisponde al livello rete del modello OSI, il suo

Dettagli

Table of Contents. Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano

Table of Contents. Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano Table of Contents Definizione di Sistema Distribuito - 4 Obiettivi Principali di un S.D. - 7 Tipi di Sistemi

Dettagli

Architettura Tecnica i. Architettura Tecnica

Architettura Tecnica i. Architettura Tecnica i Architettura Tecnica ii Copyright 2005-2011 Link.it s.r.l. iii Indice 1 Scopo del documento 1 1.1 Abbreviazioni..................................................... 1 2 Overview 1 2.1 La PdD........................................................

Dettagli

Appendice D. D. Web Services

Appendice D. D. Web Services D. D.1 : cosa sono I cosiddetti sono diventati uno degli argomenti più attuali nel panorama dello sviluppo in ambiente Internet. Posti al centro delle più recenti strategie di aziende del calibro di IBM,

Dettagli

Broker. [POSA1] Pattern-Oriented Software Architecture, 1996

Broker. [POSA1] Pattern-Oriented Software Architecture, 1996 Luca Cabibbo Architetture Software Dispensa ASW 420 ottobre 2014 Tutti sanno che una certa cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. Albert Einstein 1

Dettagli

Sistemi Operativi (modulo di Informatica II)

Sistemi Operativi (modulo di Informatica II) Sistemi Operativi (modulo di Informatica II) La comunicazione tra processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Processi cooperanti La comunicazione tra processi Necessità

Dettagli

Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in

Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in Manuale di riferimento di HP Web Jetadmin Database Connector Plug-in Informazioni sul copyright 2004 Copyright Hewlett-Packard Development Company, L.P. Sono vietati la riproduzione, l'adattamento e la

Dettagli

Architetture software

Architetture software Sistemi Distribuiti Architetture software 1 Sistemi distribuiti: Architetture software Il software di gestione di un sistema distribuito ha funzionalità analoghe ad un sistema operativo Gestione delle

Dettagli

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web parte 1 Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web (1) Modello a tre livelli in cui le interazioni tra livello presentazione e livello applicazione sono mediate

Dettagli

Sistemi Informativi Distribuiti

Sistemi Informativi Distribuiti 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

Dettagli

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 2

Reti di Calcolatori. Master Bio Info Reti e Basi di Dati Lezione 2 Reti di Calcolatori Sommario Software di rete TCP/IP Livello Applicazione Http Livello Trasporto (TCP) Livello Rete (IP, Routing, ICMP) Livello di Collegamento (Data-Link) I Protocolli di comunicazione

Dettagli

Architetture dei WIS. Definizione di WIS. Benefici dei WIS. Prof.ssa E. Gentile a.a. 2011-2012

Architetture dei WIS. Definizione di WIS. Benefici dei WIS. Prof.ssa E. Gentile a.a. 2011-2012 Architetture dei WIS Prof.ssa E. Gentile a.a. 2011-2012 Definizione di WIS Un WIS può essere definito come un insieme di applicazioni in grado di reperire, cooperare e fornire informazioni utilizzando

Dettagli

Web services. 25/01/10 Web services

Web services. 25/01/10 Web services Web services Tecnologia per il computing distribuito standard W3C non dissimile da RMI, CORBA, EJB... Relazione con il Web Websites for humans, Web Services for software :-) un Web service ha un indirizzo

Dettagli

Sistemi Distribuiti. Libri di Testo

Sistemi Distribuiti. Libri di Testo Sistemi Distribuiti Rocco Aversa Tel. 0815010268 rocco.aversa@unina2.it it Ricevimento: Martedì 14:16 Giovedì 14:16 1 Libri di Testo Testo Principale A.S. Tanenbaum, M. van Steen, Distributed Systems (2

Dettagli

Struttura della lezione. Lezione 9 Architetture dei sistemi distribuiti (2) Il valore aggiunto di una rete di N utenti

Struttura della lezione. Lezione 9 Architetture dei sistemi distribuiti (2) Il valore aggiunto di una rete di N utenti Struttura della lezione Lezione 9 Architetture dei sistemi distribuiti (2) Vittorio Scarano Corso di Programmazione Distribuita (2003-2004) Laurea di I livello in Informatica Università degli Studi di

Dettagli

Progettazione: Tecnologie e ambienti di sviluppo

Progettazione: Tecnologie e ambienti di sviluppo Contratto per l acquisizione di servizi di Assistenza specialistica per la gestione e l evoluzione del patrimonio software della Regione Basilicata. Repertorio n. 11016 del 25/09/2009 Progettazione: Tecnologie

Dettagli

Quali sono le tecnologie che l ente ha a disposizione e quelle predisposte ad essere implementate in un prossimo futuro.

Quali sono le tecnologie che l ente ha a disposizione e quelle predisposte ad essere implementate in un prossimo futuro. Esercizio di GRUPPO: PROTOCOLLO INFORMATICO Mappa concettuale TECNOLOGIE DISPONIBILI Quali sono le tecnologie che l ente ha a disposizione e quelle predisposte ad essere implementate in un prossimo futuro.

Dettagli

Sommario. G. Piscitelli

Sommario. G. Piscitelli Sommario Interprocess Communication Processi (e thread) cooperanti Il paradigma produttore-consumatore Shared Memory e Inter Process Communication (IPC) facility Proprietà caratteristiche della comunicazione

Dettagli

CAPITOLO 5 - Sistemi Operativi Moderni

CAPITOLO 5 - Sistemi Operativi Moderni CAPITOLO 5 - Sistemi Operativi Moderni PRESENTAZIONE DI INSIEME Vedremo ora come si è evoluta nel tempo la struttura di un sistema operativo, per passare dalle vecchie strutture di tipo normalmente modulari,

Dettagli

CORSO WEB SERVER, DBMS E SERVER FTP

CORSO WEB SERVER, DBMS E SERVER FTP CORSO WEB SERVER, DBMS E SERVER FTP DISPENSA LEZIONE 1 Autore D. Mondello Transazione di dati in una richiesta di sito web Quando viene effettuata la richiesta di un sito Internet su un browser, tramite

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Il Sistema Operativo Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela Fogli Cos

Dettagli

Tecnologie per il web e lo sviluppo multimediale. Reti di Calcolatori e Internet

Tecnologie per il web e lo sviluppo multimediale. Reti di Calcolatori e Internet Tecnologie per il web e lo sviluppo multimediale Reti di Calcolatori e Internet Luca Pulina Corso di Laurea in Scienze della Comunicazione Università degli Studi di Sassari A.A. 2015/2016 Luca Pulina (UNISS)

Dettagli

I Principali Servizi del Protocollo Applicativo

I Principali Servizi del Protocollo Applicativo 1 I Principali Servizi del Protocollo Applicativo Servizi offerti In questa lezione verranno esaminati i seguenti servizi: FTP DNS HTTP 2 3 File Transfer Protocol Il trasferimento di file consente la trasmissione

Dettagli

Naming nei Sistemi Distribuiti

Naming nei Sistemi Distribuiti Naming nei Sistemi Distribuiti Naming (1) La risoluzione dei nomi permette ad un processo di accedere ad una entità in un sistema distribuito. Un sistema di naming è necessario per avere un modello comune

Dettagli

Naming nei Sistemi Distribuiti

Naming nei Sistemi Distribuiti Naming nei Sistemi Distribuiti Naming (1) La risoluzione dei nomi permette ad un processo di accedere ad una entità in un sistema distribuito. Un sistema di naming è necessario per avere un modello comune

Dettagli

Protocolli per il Web. Impianti Informatici. Protocolli applicativi

Protocolli per il Web. Impianti Informatici. Protocolli applicativi Protocolli per il Web Protocolli applicativi I protocolli applicativi 2 Applicazioni Socket interface HTTP (WEB) SMTP (E-MAIL) FTP... NFS RPC DNS... Trasporto TCP UDP Rete ICMP RIP OSPF IP ARP RARP Non

Dettagli

Sistema Operativo Compilatore

Sistema Operativo Compilatore MASTER Information Technology Excellence Road (I.T.E.R.) Sistema Operativo Compilatore Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Il Sistema

Dettagli

Aspetti applicativi e tecnologia

Aspetti applicativi e tecnologia Aspetti applicativi e tecnologia Premessa Architetture usate per i database Le prime applicazioni erano definite monolitiche, cioè un unico computer (mainframe) gestiva sia le applicazioni che i dati,

Dettagli

Telematica II 7. Introduzione ai protocolli applicativi

Telematica II 7. Introduzione ai protocolli applicativi Indice Standard ISO/OSI e TCP/IP Telematica II 7. Introduzione ai protocolli applicativi Modello Client / Server I Socket Il World Wide Web Protocollo HTTP Corso di Laurea in Ingegneria Informatica A.A.

Dettagli

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali Modulo di Sistemi Operativi per il corso di Master RISS: Ricerca e Innovazione nelle Scienze della Salute Unisa, 17-26 Luglio 2012 Sistemi Operativi Funzioni e strategie di progettazione: dai kernel monolitici

Dettagli

Presentazione di Cedac Software

Presentazione di Cedac Software Agenda Presentazione di Cedac Software SOA ed ESB Analisi di un caso studio Esempi Q&A Presentazione di Cedac Software 1 2 Presentazione di Cedac Software S.r.l. Divisione Software Azienda nata nel 1994

Dettagli

Livello cinque (Livello application)

Livello cinque (Livello application) Cap. VII Livello Application pag. 1 Livello cinque (Livello application) 7. Generalità: In questo livello viene effettivamente svolto il lavoro utile per l'utente, contiene al suo interno diverse tipologie

Dettagli

Il World Wide Web. Il Servizio World Wide Web (WWW) WWW WWW WWW WWW. Storia WWW: obbiettivi WWW: tecnologie Le Applicazioni Scenari Futuri.

Il World Wide Web. Il Servizio World Wide Web (WWW) WWW WWW WWW WWW. Storia WWW: obbiettivi WWW: tecnologie Le Applicazioni Scenari Futuri. Il Servizio World Wide Web () Corso di Informatica Generale (Roberto BASILI) Teramo, 20 Gennaio, 2000 Il World Wide Web Storia : obbiettivi : tecnologie Le Applicazioni Scenari Futuri La Storia (1990)

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

Internet Architettura del www

Internet Architettura del www Internet Architettura del www Internet è una rete di computer. Il World Wide Web è l insieme di servizi che si basa sull architettura di internet. In una rete, ogni nodo (detto host) è connesso a tutti

Dettagli

Sme.UP Web Application

Sme.UP Web Application Sme.UP Web Application Web Application Web.UP Una interfaccia web per i vostri dati gestionali Il modulo applicativo Web.UP fornisce al progettista di siti Internet una serie di potenti strumenti per l'integrazione

Dettagli

INTRODUZIONE. Motivazioni e Obbiettivi

INTRODUZIONE. Motivazioni e Obbiettivi INTRODUZIONE Motivazioni dei sistemi distribuiti Caratteristiche generali Alcuni richiami sui database centralizzati Standardizzazione dei dati (ANSI/SPARC) Funzioni dei DBMS relazionali Problematiche

Dettagli

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni White paper Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni Panoramica Questo documento analizza il supporto alla programmabilità nell'infrastruttura ACI (Application Centric

Dettagli

DBMS ed Applicazioni Motivazioni

DBMS ed Applicazioni Motivazioni DBMS ed Applicazioni Motivazioni Sin ora abbiamo visto SQL come linguaggio per interrogare DBMS da interfaccia interattiva Nella pratica, un efficace sfruttamento delle potenzialità dei DBMS deriva dalla

Dettagli

Il funzionamento delle reti

Il funzionamento delle reti Il funzionamento delle reti La rete ci cambia la vita L Età dell Informazione ha prodotto profondi cambiamenti nessun luogo è remoto le persone sono interconnesse le relazioni sociali stanno mutando l

Dettagli

venerdì 31 gennaio 2014 Programmazione Web

venerdì 31 gennaio 2014 Programmazione Web Programmazione Web WWW: storia Il World Wide Web (WWW) nasce tra il 1989 e il 1991 come progetto del CERN di Ginevra affidato a un gruppo di ricercatori informatici tra i quali Tim Berners- Lee e Robert

Dettagli

La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA

La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA IBM System i5 La Roadmap dello sviluppo per System i5: dalle Applicazioni Legacy alla SOA Massimo Marasco System i Technical Sales Support massimo_marasco@it.ibm.com Oriented Architecture (SOA) Servizio

Dettagli

Reti di Calcolatori. Telematica: Si occupa della trasmissione di informazioni a distanza tra sistemi informatici, attraverso reti di computer

Reti di Calcolatori. Telematica: Si occupa della trasmissione di informazioni a distanza tra sistemi informatici, attraverso reti di computer Reti di Calcolatori 1. Introduzione Telematica: Si occupa della trasmissione di informazioni a distanza tra sistemi informatici, attraverso reti di computer Reti di calcolatori : Un certo numero di elaboratori

Dettagli