Architetture Distribuite, Middleware, Distributed Object Computing e Legacy System. Giuseppe Santucci &... santucci@dis.uniroma1.
|
|
- Pasquale Fusco
- 8 anni fa
- Visualizzazioni
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 Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico
DettagliArchitetture 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
DettagliSiti 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
DettagliMODELLO 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
DettagliDistributed 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
DettagliApplicazioni 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
DettagliProgetto 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
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
DettagliIntroduzione 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
DettagliProgetto 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
DettagliSoftware 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
DettagliICT (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
DettagliApproccio 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
DettagliSISTEMI 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
DettagliArchitettura 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
DettagliBase 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
DettagliLaboratorio 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
DettagliDatabase 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
DettagliReti 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
DettagliReti 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
DettagliReti 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
DettagliCome 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
DettagliIntroduzione 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
DettagliTopologia 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:
DettagliReti 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:
DettagliSistemi 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:
DettagliSistemi 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
DettagliReti 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
DettagliIl 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
DettagliTecnologia 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
DettagliPresentazione 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
Dettagli8. 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
DettagliDal 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
DettagliCORBA ( 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
DettagliComunicazione 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
DettagliComunicazione 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
DettagliUniversità 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
DettagliFTP. 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
DettagliLo 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)
DettagliIntroduzione 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
DettagliDefinizione 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
DettagliCreare 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,
DettagliActive 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
DettagliLezione 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
DettagliInternet. 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.
DettagliComponenti 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
DettagliMaschere 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
DettagliProtocolli 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
DettagliIntroduzione 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
DettagliArchitetture 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
Dettagli19. 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
DettagliI 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
DettagliINFORMATICA. 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:
DettagliArchitettura 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
DettagliSistemi 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
DettagliSistemi 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
DettagliCORSO 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
Dettagli3. 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
DettagliI 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)?
DettagliHardware 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
DettagliClient - 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
DettagliCorso 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
Dettagli2.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
DettagliLezione 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
DettagliCaratteristiche 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/
DettagliSDD 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
DettagliIndirizzi 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
DettagliSistemi 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
DettagliIl 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
DettagliBasi 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!
DettagliBASI 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
DettagliArchitetture 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
DettagliIl 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);
DettagliIntroduzione 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
DettagliTransmission 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
DettagliLe 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
DettagliIndice 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)
DettagliSoftware 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
DettagliComponenti 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
DettagliIl 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:
DettagliSeminario 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
DettagliCorso 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
DettagliIL 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
DettagliL 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
DettagliInternet 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
DettagliRETI 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,
DettagliINFORMATICA 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
DettagliProtocolli 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
DettagliSocket & 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
DettagliLINUX. 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
DettagliSistema 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
DettagliEXPLOit 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
Dettagli1. 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
DettagliIl 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
Dettaglisito 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
DettagliMac 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
DettagliInterNet: 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ò,
DettagliArchitettura 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
Dettagli1.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
DettagliDispensa 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