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

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 &... santucci@dis.uniroma1.it

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

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

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

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

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

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

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

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

@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

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

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

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

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

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

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

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

Base di dati e sistemi informativi

Base di dati e sistemi informativi Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per

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

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

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

Reti di Calcolatori. Il Livello delle Applicazioni

Reti di Calcolatori. Il Livello delle Applicazioni Reti di Calcolatori Il Livello delle Applicazioni Il DNS Gli indirizzi IP sono in formato numerico: sono difficili da ricordare; Ricordare delle stringhe di testo è sicuramente molto più semplice; Il Domain

Dettagli

Reti di Calcolatori: una LAN

Reti di Calcolatori: una LAN Reti di Calcolatori: LAN/WAN e modello client server Necessità di collegarsi remotamente: mediante i terminali, ai sistemi di elaborazione e alle banche dati. A tal scopo sono necessarie reti di comunicazione

Dettagli

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo Come funziona il WWW Il funzionamento del World Wide Web non differisce molto da quello delle altre applicazioni Internet Anche in questo caso il sistema si basa su una interazione tra un computer client

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

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica). Topologia delle reti Una RETE DI COMPUTER è costituita da un insieme di elaboratori (NODI) interconnessi tra loro tramite cavi (o sostituti dei cavi come le connessioni wireless). Rete Point-to-Point:

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 centralizzati e distribuiti

Sistemi centralizzati e distribuiti Sistemi centralizzati e distribuiti In relazione al luogo dove è posta fisicamente la base di dati I sistemi informativi, sulla base del luogo dove il DB è realmente dislocato, si possono suddividere in:

Dettagli

Sistemi informativi secondo prospettive combinate

Sistemi informativi secondo prospettive combinate Sistemi informativi secondo prospettive combinate direz acquisti direz produz. direz vendite processo acquisti produzione vendite INTEGRAZIONE TRA PROSPETTIVE Informazioni e attività sono condivise da

Dettagli

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito Punto di vista fisico: insieme di hardware, collegamenti, e protocolli che permettono la comunicazione tra macchine remote

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

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

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

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

Dal protocollo IP ai livelli superiori

Dal protocollo IP ai livelli superiori Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono

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

Comunicazione tra Processi

Comunicazione tra Processi Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo

Dettagli

Comunicazione tra Processi

Comunicazione tra Processi Comunicazione tra Processi Comunicazioni in un Sistema Distribuito Un sistema software distribuito è realizzato tramite un insieme di processi che comunicano, si sincronizzano, cooperano. Il meccanismo

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

FTP. Appunti a cura del prof. ing. Mario Catalano

FTP. Appunti a cura del prof. ing. Mario Catalano FTP Appunti a cura del prof. ing. Mario Catalano Il protocollo FTP 1/2 Attraverso il protocollo FTP (File Transfer Protocol) è possibile trasferire uno o più files di qualsiasi tipo tra due macchine Tale

Dettagli

Lo scenario: la definizione di Internet

Lo scenario: la definizione di Internet 1 Lo scenario: la definizione di Internet INTERNET E UN INSIEME DI RETI DI COMPUTER INTERCONNESSE TRA LORO SIA FISICAMENTE (LINEE DI COMUNICAZIONE) SIA LOGICAMENTE (PROTOCOLLI DI COMUNICAZIONE SPECIALIZZATI)

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

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

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

Creare una Rete Locale Lezione n. 1

Creare una Rete Locale Lezione n. 1 Le Reti Locali Introduzione Le Reti Locali indicate anche come LAN (Local Area Network), sono il punto d appoggio su cui si fonda la collaborazione nel lavoro in qualunque realtà, sia essa un azienda,

Dettagli

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica Installatore LAN Progetto per le classi V del corso di Informatica Active Directory 26/02/08 Installatore LAN - Prof.Marco Marchisotti 1 Agli albori delle reti...... nelle prime LAN era facile individuare

Dettagli

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Dettagli

Internet. Internet. Internet Servizi e Protocolli applicativi. Internet. Organizzazione distribuita

Internet. Internet. Internet Servizi e Protocolli applicativi. Internet. Organizzazione distribuita Organizzazione distribuita Il messaggio viene organizzato in pacchetti dal calcolatore sorgente. Il calcolatore sorgente instrada i pacchetti inviandoli ad un calcolatore a cui è direttamente connesso.

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

Maschere di sottorete a lunghezza variabile

Maschere di sottorete a lunghezza variabile Sottoreti Il CIDR (Classless Inter-Domain Routing) è un nuovo schema di indirizzamento introdotto nel 1993 per sostituire lo schema classful secondo il quale tutti gli indirizzi IP appartengono ad una

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

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle

Dettagli

Architetture software

Architetture software Corso di Laurea Magistrale in Ingegneria Informatica Corso di Ingegneria del A. A. 2013-2014 Architettura software 1 Architetture software Sommario Definizioni 2 Architettura Definizione. L architettura

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale La soluzione modulare di gestione del Sistema Qualità Aziendale I MODULI Q.A.T. - Gestione clienti / fornitori - Gestione strumenti di misura - Gestione verifiche ispettive - Gestione documentazione del

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

INFORMATICA. Il Sistema Operativo. di Roberta Molinari INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:

Dettagli

Architettura di un sistema operativo

Architettura di un sistema operativo Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi

Dettagli

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

Sistemi Operativi. Conclusioni e nuove frontiere

Sistemi Operativi. Conclusioni e nuove frontiere Sistemi Operativi (modulo di Informatica II) Conclusioni e nuove frontiere Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Definizione di sistema operativo Evoluzione futura

Dettagli

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci CORSO DI RETI SSIS Lezione n.2. 2 Novembre 2005 Laura Ricci IL DOMAIN NAME SYSTEM (DNS) Indirizzi IP poco adatti per essere memorizzati da utenti umani è prevista la possibiltà di associare nomi simbolici

Dettagli

3. Introduzione all'internetworking

3. Introduzione all'internetworking 3. Introduzione all'internetworking Abbiamo visto i dettagli di due reti di comunicazione: ma ce ne sono decine di tipo diverso! Occorre poter far comunicare calcolatori che si trovano su reti di tecnologia

Dettagli

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

Dettagli

Hardware delle reti LAN

Hardware delle reti LAN Hardware delle reti LAN Le reti LAN utilizzano una struttura basata su cavi e concentratori che permette il trasferimento di informazioni. In un ottica di questo tipo, i computer che prendono parte allo

Dettagli

Client - Server. Client Web: il BROWSER

Client - Server. Client Web: il BROWSER Client - Server Client Web: il BROWSER Il client Web è un applicazione software che svolge il ruolo di interfaccia fra l utente ed il WWW, mascherando la complessità di Internet. Funzioni principali Inviare

Dettagli

Corso di Informatica Modulo T3 B2 - Database in rete

Corso di Informatica Modulo T3 B2 - Database in rete Corso di Informatica Modulo T3 B2 - Database in rete 1 Prerequisiti Programmazione web Applicazione web Modello OSI Architettura client/server Conoscenze generali sui database Tecnologia ADO in Visual

Dettagli

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine. ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione

Dettagli

Lezione 9. Applicazioni tradizionali

Lezione 9. Applicazioni tradizionali Lezione 9 Applicazioni tradizionali Pag.1 Sommario Concetti trattati in questa lezione: SQL nel codice applicativo Cursori API native ODBC Pag.2 SQL nel codice applicativo I comandi SQL possono essere

Dettagli

Caratteristiche principali. Contesti di utilizzo

Caratteristiche principali. Contesti di utilizzo Dalle basi di dati distribuite alle BASI DI DATI FEDERATE Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2006/2007 http://www.dis.uniroma1.it/

Dettagli

SDD System design document

SDD System design document UNIVERSITA DEGLI STUDI DI PALERMO FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESINA DI INGEGNERIA DEL SOFTWARE Progetto DocS (Documents Sharing) http://www.magsoft.it/progettodocs

Dettagli

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet Indirizzi Internet e Protocolli I livelli di trasporto delle informazioni Comunicazione e naming in Internet Tre nuovi standard Sistema di indirizzamento delle risorse (URL) Linguaggio HTML Protocollo

Dettagli

Sistemi Operativi di Rete. Sistemi Operativi di rete. Sistemi Operativi di rete

Sistemi Operativi di Rete. Sistemi Operativi di rete. Sistemi Operativi di rete Sistemi Operativi di Rete Estensione dei Sistemi Operativi standard con servizi per la gestione di risorse in rete locale Risorse gestite: uno o più server di rete più stampanti di rete una o più reti

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Basi di dati (3) Ing. Integrazione di Impresa A.A. 2007/08

Basi di dati (3) Ing. Integrazione di Impresa A.A. 2007/08 Università di Modena e Reggio Emilia Panoramica Basi di dati (3) Ing. Integrazione di Impresa A.A. 2007/08 Docente: andrea.bulgarelli@gmail.com Argomento: struttura SQL Server (1.0)! Componenti! Edizioni!

Dettagli

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

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell

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

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

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

Transmission Control Protocol

Transmission Control Protocol Transmission Control Protocol Franco Callegati Franco Callegati IC3N 2000 N. 1 Transmission Control Protocol - RFC 793 Protocollo di tipo connection-oriented Ha lo scopo di realizzare una comunicazione

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Software di gestione della stampante

Software di gestione della stampante Questo argomento include le seguenti sezioni: "Uso del software CentreWare" a pagina 3-11 "Uso delle funzioni di gestione della stampante" a pagina 3-13 Uso del software CentreWare CentreWare Internet

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

Il Software. Il software del PC. Il BIOS

Il Software. Il software del PC. Il BIOS Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:

Dettagli

Seminario di Sistemi Distribuiti RPC su SOAP

Seminario di Sistemi Distribuiti RPC su SOAP Seminario di Sistemi Distribuiti RPC su SOAP Massimiliano Vivian [777775] Massimiliano Vivian 1 Introduzione La comunicazione delle informazioni è l elemento fondamentale per lo sviluppo dei sistemi. SOAP

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

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

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

Internet e le reti. Navigare in rete. Un po di confusione sui termini. Internet WWW Web Servizi i Internet Sito Internet. Sinonimi?!?

Internet e le reti. Navigare in rete. Un po di confusione sui termini. Internet WWW Web Servizi i Internet Sito Internet. Sinonimi?!? Internet e le reti Navigare in rete Un po di confusione sui termini Internet WWW Web Servizi i Internet t Sito Internet Sinonimi?!? E che relazione c è con altri strumenti come la posta elettronica? Corso

Dettagli

RETI INFORMATICHE Client-Server e reti paritetiche

RETI INFORMATICHE Client-Server e reti paritetiche RETI INFORMATICHE Client-Server e reti paritetiche Le reti consentono: La condivisione di risorse software e dati a distanza La condivisione di risorse hardware e dispositivi (stampanti, hard disk, modem,

Dettagli

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione INFORMATICA DISTRIBUITA prof. lez 4 Livello applicazione Università degli Studi di Milano Scienze e Tecnologie della Comunicazione Musicale a.a. 2009-2010 applicazioni di rete Processo: programma in esecuzione

Dettagli

Protocolli applicativi: FTP

Protocolli applicativi: FTP Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione

Dettagli

Socket & RMI Ingegneria del Software - San Pietro

Socket & RMI Ingegneria del Software - San Pietro Socket & RMI Ingegneria del Software - San Pietro Socket È possibile trattare la comunicazione di rete allo stesso modo con cui è possibile trattare la lettura da file. La classe Socket rappresenta la

Dettagli

LINUX. Che cos'e` un sistema operativo?

LINUX. Che cos'e` un sistema operativo? LINUX LINUX Introduzione Una versione completa e affidabile di UNIX Disponibile per PC x86 Intel/AMD e numerose altre piattaforme Strumento (quasi) indispensabile per le esercitazioni Include gli strumenti

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

sito web sito Internet

sito web sito Internet Siti Web Cos è un sito web Un sito web o sito Internet è un insieme di pagine web correlate, ovvero una struttura ipertestuale di documenti che risiede, tramite hosting, su un web server e accessibile

Dettagli

Mac Application Manager 1.3 (SOLO PER TIGER)

Mac Application Manager 1.3 (SOLO PER TIGER) Mac Application Manager 1.3 (SOLO PER TIGER) MacApplicationManager ha lo scopo di raccogliere in maniera centralizzata le informazioni piu salienti dei nostri Mac in rete e di associare a ciascun Mac i

Dettagli

InterNet: rete di reti

InterNet: rete di reti Internet e il web: introduzione rapida 1 InterNet: rete di reti Una rete è costituita da diversi computer collegati fra di loro allo scopo di: Comunicare Condividere risorse Ogni computer della rete può,

Dettagli

Architettura client-server

Architettura client-server Architettura client-server In un architettura client-server ci sono due calcolatori connessi alla rete: un client che sottopone richieste al server un server in grado di rispondere alle richieste formulate

Dettagli

1.2.1 - REALIZZAZIONE LAN

1.2.1 - REALIZZAZIONE LAN 1 - CODICE PROGETTO 1.2.1 - REALIZZAZIONE LAN 2 - TIPOLOGIA DI INTERVENTO/AREA FUNZIONALE DEL PPL Il progetto è riconducibile a quella che il Piano Provinciale del Lavoro definisce quale Area 1: organizzazione

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli