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

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

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

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

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

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

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

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

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

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

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

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

@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

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

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

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

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

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

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

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

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

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

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

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

* 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

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

Componenti Web: client-side e server-side

Componenti Web: client-side e server-side Componenti Web: client-side e server-side side Attività di applicazioni web Applicazioni web: un insieme di componenti che interagiscono attraverso una rete (geografica) Sono applicazioni distribuite logicamente

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

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

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Database e reti. Piero Gallo Pasquale Sirsi

Database e reti. Piero Gallo Pasquale Sirsi Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente

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

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

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

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

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

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

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

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

CdL MAGISTRALE in INFORMATICA

CdL MAGISTRALE in INFORMATICA 05/11/14 CdL MAGISTRALE in INFORMATICA A.A. 2014-2015 corso di SISTEMI DISTRIBUITI 7. I processi : il naming Prof. S.Pizzutilo Il naming dei processi Nome = stringa di bit o di caratteri utilizzata per

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

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

Reti di calcolatori. Reti di calcolatori

Reti di calcolatori. Reti di calcolatori Reti di calcolatori Reti di calcolatori Rete = sistema di collegamento tra vari calcolatori che consente lo scambio di dati e la cooperazione Ogni calcolatore e un nodo, con un suo indirizzo di rete Storia:

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

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

Il Protocollo HTTP e la programmazione di estensioni Web

Il Protocollo HTTP e la programmazione di estensioni Web Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);

Dettagli

Corso di Informatica Modulo T3 B1 Programmazione web

Corso di Informatica Modulo T3 B1 Programmazione web Corso di Informatica Modulo T3 B1 Programmazione web 1 Prerequisiti Architettura client/server Elementi del linguaggio HTML web server SQL server Concetti generali sulle basi di dati 2 1 Introduzione Lo

Dettagli

INDICE. Indice. Introduzione

INDICE. Indice. Introduzione V Indice Introduzione XIII Capitolo 1 La programmazione multithread 1 1.1 Cosa sono i thread 2 Utilizzare i thread per dare una possibilità ad altri task 9 Avvio ed esecuzione dei thread 10 Esecuzione

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

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

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

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

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

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

Il sistema operativo

Il sistema operativo Il sistema operativo Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Cos è un Sistema Operativo? Per capirlo, immaginiamo inizialmente

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

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

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

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

Come funziona un sistema di elaborazione

Come funziona un sistema di elaborazione Introduzione Cosa è un Sistema Sste aoperativo? Come funziona un sistema di elaborazione Proprietà dei Sistemi Operativi Storia dei Sistemi di Elaborazione Sistemi Mainframe Sistemi Desktop Sistemi i Multiprocessori

Dettagli

Il File System. È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati

Il File System. È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati Il File System È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati Le operazioni supportate da un file system sono: eliminazione di dati modifica

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

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO IL SOFTWARE L HARDWARE da solo non è sufficiente a far funzionare un computer Servono dei PROGRAMMI (SOFTWARE) per: o Far interagire, mettere in comunicazione, le varie componenti hardware tra loro o Sfruttare

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

Sistemi Informativi di relazione - Internet

Sistemi Informativi di relazione - Internet Sistemi Informativi di relazione - Internet Obiettivi. Presentare i concetti base di Internet. Illustrare l evoluzione storica di Internet. Familiarizzare con gli elementi fondamentali di Internet: Il

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

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

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

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

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1)

Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Pagina 1 di 10 Architetture Web a tre livelli: CGI, SSI, ISAPI e codice mobile Architetture a 3 livelli (1) Nel corso della lezione precedente abbiamo analizzato le caratteristiche dell'architettura CGI.

Dettagli

Capitolo 16 I servizi Internet

Capitolo 16 I servizi Internet Capitolo 16 I servizi Internet Storia di Internet Il protocollo TCP/IP Indirizzi IP Intranet e indirizzi privati Nomi di dominio World Wide Web Ipertesti URL e HTTP Motori di ricerca Posta elettronica

Dettagli

Ministero del Lavoro e delle Politiche Sociali

Ministero del Lavoro e delle Politiche Sociali Ministero del Lavoro e delle Politiche Sociali Prospetto Informativo on-line Standard tecnici del sistema informativo per l invio telematico del Prospetto Informativo Documento: UNIPI.StandardTecnici Revisione

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

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

Capitolo 3: Strutture dei sistemi operativi

Capitolo 3: Strutture dei sistemi operativi Capitolo 3: Strutture dei sistemi operativi Componenti del sistema Servizi di un sistema operativo Chiamate del sistema Programmi di sistema Struttura del sistema Macchine virtuali Progettazione e realizzazione

Dettagli

Stack protocolli TCP/IP

Stack protocolli TCP/IP Stack protocolli TCP/IP Application Layer Transport Layer Internet Layer Host-to-Nework Layer DNS SMTP Telnet HTTP TCP UDP IP Insieme di eterogenei sistemi di rete... 1 Concetti base Differenza tra i concetti

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

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Dettagli

Corso basi di dati Introduzione alle ASP

Corso basi di dati Introduzione alle ASP Corso basi di dati Introduzione alle ASP Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Web statico e Web interattivo In principio il Web era una semplice collezione di pagine

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

Introduzione a Internet e al World Wide Web

Introduzione a Internet e al World Wide Web Introduzione a Internet e al World Wide Web Una rete è costituita da due o più computer, o altri dispositivi, collegati tra loro per comunicare l uno con l altro. La più grande rete esistente al mondo,

Dettagli

Corso di Alfabetizzazione Informatica

Corso di Alfabetizzazione Informatica Corso di Alfabetizzazione Informatica Lezione 6 a.a. 2010/2011 Francesco Fontanella La Complessità del Hardware Il modello di Von Neumann è uno schema di principio. Attualmente in commercio esistono: diversi

Dettagli

Corso di Web Programming

Corso di Web Programming Corso di Web Programming 1. Introduzione a Internet e al WWW Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Informatica

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

Introduzione a Oracle 9i

Introduzione a Oracle 9i Introduzione a Oracle 9i Ing. Vincenzo Moscato - Overview sull architettura del DBMS Oracle 9i L architettura di Oracle 9i si basa sul classico paradigma di comunicazione client-server, in cui sono presenti

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

Le Reti (gli approfondimenti a lezione)

Le Reti (gli approfondimenti a lezione) Le Reti (gli approfondimenti a lezione) Per migliorare la produttività gli utenti collegano i computer tra di loro formando delle reti al fine di condividere risorse hardware e software. 1 Una rete di

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

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

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

Flavio De Paoli depaoli@disco.unimib.it

Flavio De Paoli depaoli@disco.unimib.it Flavio De Paoli depaoli@disco.unimib.it 1 Il web come architettura di riferimento Architettura di una applicazione web Tecnologie lato server: Script (PHP, Pyton, Perl), Servlet/JSP, ASP Tecnologie lato

Dettagli

Capitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke

Capitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke Capitoli 8 e 9 Applicazioni tradizionali Applicazioni Internet SQL embedded SQL nel codice applicativo I comandi SQL possono essere chiamati dall interno di un programma in un linguaggio ospite (ad esempio

Dettagli

Internet e protocollo TCP/IP

Internet e protocollo TCP/IP Internet e protocollo TCP/IP Internet Nata dalla fusione di reti di agenzie governative americane (ARPANET) e reti di università E una rete di reti, di scala planetaria, pubblica, a commutazione di pacchetto

Dettagli

Capitolo 3. Il funzionamento delle reti

Capitolo 3. Il funzionamento delle reti Capitolo 3 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

Dettagli