CORBA & DCOM. Gianpaolo Cugola cugola@elet.polimi.it La Object Management Architecture

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 CORBA & DCOM Gianpaolo Cugola Sommario La Object Management Architecture CORBA La programmazione di applicazioni CORBA in Java CORBA vs. RMI DCOM 2

2 CORBA: una introduzione CORBA = Common Object Request Broker Architecture CORBA è il cuore della Object Management Architecture Una architettura aperta per lo sviluppo di applicazioni distribuite e multipiattaforma La OMA è il risultato del lavoro di una organizzazione no-profit: l OMG 3 L Object Management Group L Object Management Group è una organizzazione internazionale no-profit che include oltre 700 membri istituzionali E stata fondata nel 1989 per promuovere la diffusione e lo sviluppo di tecnologie orientate agli oggetti (OO) Scopo dell OMG è lo sviluppo di interfacce e protocolli che consentano lo sviluppo di applicazioni distribuite e multipiattaforma basate su oggetti Capaci di interoperare tra loro 4

3 La visione dell OMG L importanza dei dati, del loro reperimento e della loro elaborazione nelle moderne aziende Rendere i dati aziendali disponibili indipendentemente dalla loro posizione dee essere il fine delle moderne applicazioni In questo contesto il singolo elaboratore non può più essere la piattaforma di riferimento la piattaforma è oggi la rete Occorre sviluppare tecnologie che permettano lo sviluppo di applicazioni distribuite capaci di sfruttare questa nuova piattaforma E promuovere la loro diffusione 5 Lo scopo dell OMG Problema La complessità del software continua a crescere... e di conseguenza i costi di sviluppo La distribuzione aggrava enormemente il problema Scopo dell OMG è ridurre lo sforzo necessario a sviluppare applicazioni distribuite Attraverso lo sviluppo di una architettura di riferimento, multipiattaforma, capace di favorire il riuso di componenti e l interoperabilità tra applicazioni 6

4 L Object Management Architecture 7 Object Request Broker L ORB è il cuore dell OMA Fornisce l infrastruttura di comunicazione attraverso la quale i componenti dell applicazione distribuita cooperano Le primitive fornite dall ORB sono indipendenti dalla piattaforma sulla quale sono in esecuzione i diversi componenti e dalla tecnologia con la quale questi sono implementati 8

5 Object Services Gli Object Services costituiscono un insieme di servizi di uso generico per l implementazione di applicazioni distribuite Comprendono operazioni per creare oggetti distribuiti, accedere ad oggetti distribuiti, gestire la sicurezza, gestire transazioni che coinvolgano diversi oggetti, ecc. L OMA include la specifica delle interfacce di un insieme di oggetti che realizzano gli Object Services L OMA non descrive alcuna implementazione 9 Object Services: una breve elencazione - 1 Naming service Fornisce la possibilità di avere il riferimento ad un oggetto noto il suo nome simbolico all interno di un contesto Il servizio può essere implementato in maniera distribuita Event service: Fornisce un servizio di comunicazione asincrono e multicast Un componente può inviare eventi su un canale Tutti i componenti in ascolto su tale canale ricevono gli eventi inviati I canali possono essere collegati tra loro 10

6 Object Services: una breve elencazione - 2 Life cycle service Fornisce metodi per copiare, muovere e cancellare insiemi di oggetti collegati in un grafo Relationship service Fornisce metodi per navigare all interno di un grafo di oggetti Persistent object service Fornisce servizi di persistenza che permettono di salvare lo stato di componenti per recuperarlo in futuro 11 Object Services: una breve elencazione - 3 Transaction service Fornisce un supporto all implementazione di sistemi transazionali in cui ogni transazione coinvolga più componenti distribuiti Concurrency control service Fornisce metodi per coordinare l accesso a risorse condivise da parte di componenti diversi Externalization service Permette il marshalling e l unmarshalling dello stato dei componenti CORBA 12

7 Object Services: una breve elencazione - 4 Query service Permette l invocazione di query su insiemi di oggetti distribuiti Una query è un predicato (espresso in forma dichiarativa) sul valore degli attributi degli oggetti coinvloti Security service Fornisce servizi di identificazione, autenticazione, controllo di accesso, auditing e sicurezza nella comunicazione Collection service Fornisce servizi per gestire insiemi di componenti distribuiti 13 Common Facilities Le Common Facilities sono un insieme di componenti che forniscono funzionalità applicative di utilizzo comune Includono componenti per gestire: Stampa Accesso a DB Accesso a servizi di L OMA descrive solo le interfacce di questi componenti 14

8 Domain Interfaces Le Domain Interfaces specificano componenti che forniscono servizi specifici per particolari domini applicativi Esempi di domini applicativi Medico, finanziario, manufatturiero, commercio elettronico, telecomunicazioni Anche in questo caso l OMA si occupa di standardizzare solo le interfacce dei componenti che implementano tali servizi 15 Application Interfaces Le Application Interfaces sono le interfacce che descrivono componenti specifici dell applicazione Poiché l OMG non sviluppa applicazioni la standardizzazione di tali interfacce e fuori dai propri compiti 16

9 CORBA IDL Le interfacce che descrivono i componenti che costituiscono l OMA sono definite in un apposito Interface Definiton Language Esso viene anche usato per definire i componenti di ogni applicazione CORBA compliant Al fine di accedere ai servizi esportati da un componente, un applicazione client deve conoscere solo la sua interfaccia Un componente la cui interfaccia sia specificata con il CORBA IDL può essere implementato con diversi linguaggi di programmazione 17 IDL mappings L OMA include una definizione di come il CORBA IDL possa essere mappato su diversi linguaggi di programmazione C++ SmallTalk Java C Cobol ADA 18

10 OMA e CORBA CORBA è il nome commerciale per indicare l insieme delle interfacce dei modelli di riferimento che compongono l OMA CORBA è anche il nome con il quale si indica l architettura di riferimento di un ORB CORBAServices e CORBAFacilities sono i nomi tecnici per l insieme di interfacce che specificano rispettivamente gli Object Services e le Common Facilities 19 CORBA - 1 (SERVER) 20

11 CORBA - 2 Client : il componente che richiede il servizio Possiede un riferimento al server ( obj ref ) Server : il componente che eroga il servizio ORB Core : implementa i meccanismi di base per la comunicazione trasparente tra client e server Si occupa di reperire il server richiesto attivandolo, se necessario, di passare i parametri ed i valori di ritorno ecc. 21 CORBA - 3 ORB Interface : interfaccia standard per l accesso ai servizi dell ORB Rende client e server indipendenti dalla specifica implementazione dell ORB Stub e skeleton : generati a partire dall interfaccia del server tramite l IDL compiler Insieme all ORB costituiscono il tramite tra client e server 22

12 CORBA - 4 Dynamic Invokation Interface (DII) : specifica i servizi utilizzabili dal client per accedere ad un server del quale non sia staticamente nota l interfaccia Dynamic Skeleton Interface (DSI) : permette l implementazione di server la cui interfaccia non sia nota staticamente Permettendo, inoltre, all ORB di invocare i servizi di tale server su richiesta di un client 23 CORBA - 5 Object Adapter : è il tramite principale tra ORB Core e server e viceversa. Si occupa di: Generare ed interpretare i riferimenti remoti, registrare il server, attivare e disattivare il server, invocare i metodi del server E responsabile dei meccanismi e delle politiche utilizzati nello svolgimento di tali operazioni Diversi tipi di OA possono essere forniti da una particolare implementazione di CORBA GIOP e IIOP : protocolli usati dall ORB per trasferire le informazioni tra client e server Essendo stati standardizzati (CORBA 2.0) permettono a ORB diversi di interoperare 24

13 CORBA IDL: caratteristiche generali l IDL di CORBA permette la definizione di interfacce complesse, tipi composti, e costanti (tipizzate) Supporta ereditarietà multipla tra interfacce Permette di raggruppare le definizioni in moduli 25 CORBA IDL: tipi base short : 16 bit, complemento a 2 long : 32 bit, complemento a 2 long long : 64 bit, complemento a 2 unsigned short : 16 bit unsigned long : 32 bit unsigned long long : 64 bit float : 32 bit IEEE single precision double : 64 bit IEEE double precision long double : IEEE extended double precision char : ISO Latin-1 octet : 8 bit, non soggetti ad alcuna conversione durante il trasferimento da client a server string : array di caratteri di lunghezza variabile boolean : TRUE o FALSE enum any 26

14 CORBA IDL: tipi composti record : analogo alle struct C discriminated union : costituito da un discriminatore seguito da un elemento il cui tipo dipende dal valore del discriminatore array : dimensione nota staticamente sequence : analogo all array ma di dimensione variabile Interface Le operazioni hanno la seguente forma: [oneway] <restype> <oame>(par_1,..par_n) [raises(ex_1,...,ex_n)] [context(c_1,...,c_n)] 27 CORBA e Java Il JDK 1.2 include un limitato supporto a CORBA Un ORB che integra funzioni di directory Compatibile CORBA 2.0 Utilizza IIOP come protocollo di trasporto Un compilatore IDL da scaricarsi a parte dal sito SUN Numerose versione commerciali di CORBA forniscono una implementazione completa Che include un ORB, un compilatore IDL-Java, e l implementazione di un largo numero di object services 28

15 CORBA e Java: un esempio I passi per implementare un applicazione client-server in Java Definire l interfaccia del server Usando il CORBA IDL Compilare l interfaccia del server Ottenendo i sorgenti delle classi stub, skeleton, e di altre classi di servizio Implementare il client e il server Sfruttando le classi generate dall IDL compiler e le classi di libreria che implementano le funzionalità dell ORB Compilare il tutto con il compilatore Java standard Eseguire l applicazione Lanciando, in precedenza, il directory server 29 Esempio: l interfaccia del server module PrinterApp { }; interface Printer { void print(in string s); }; 30

16 Esempio: il client - 1 import PrinterApp.*; // Stub and Skeleton package. import org.omg.cosnaming.*; // The naming service. import org.omg.corba.*; // Generic CORBA classes. public class Client { public static void main(string args[]) { try{ // Create and initialize the ORB ORB orb = ORB.init(args, null); // Get the root naming context org.omg.corba.object objref = orb.resolve_initial_references("nameservice"); NamingContext ncref = NamingContextHelper.narrow(objRef); 31 Esempio: il client - 2 } } // Resolve the object reference in naming NameComponent nc = new NameComponent("Printer", ""); NameComponent path[] = {nc}; Printer prtref = PrinterHelper.narrow(ncRef.resolve(path)); // Call the Hello server object prtref.print("prima prova"); prtref.print("seconda prova"); } catch(exception e) { e.printstacktrace(system.out); } 32

17 Esempio: il server - 1 import PrinterApp.*; // Stub and Skeleton package. import org.omg.cosnaming.*; // The naming service. import org.omg.corba.*; // Generic CORBA classes. public class PrinterImpl extends _PrinterImplBase { public static void main(string args[]) { try{ // Create and initialize the ORB ORB orb = ORB.init(args, null); // Create the server and connect it to the ORB PrinterImpl prtref = new PrinterImpl(); orb.connect(prtref); 33 Esempio: il server - 2 // Get the root naming context org.omg.corba.object objref = orb.resolve_initial_references("nameservice"); NamingContext ncref = NamingContextHelper.narrow(objRef); // Bind the object reference in naming NameComponent nc = new NameComponent("Printer", ""); NameComponent path[] = {nc}; ncref.rebind(path, prtref); 34

18 Esempio: il server - 3 } // Wait for invocations from clients java.lang.object sync = new java.lang.object(); synchronized(sync){sync.wait();} } catch(exception e) { e.printstacktrace(system.out); } } public void print(string s) { System.out.println(s); } 35 Esempio: la compilazione - 1 Si compila l interfaccia del server idltojava Printer.idl Viene creata una subdirectory PrinterApp che contiene 5 file sorgente _PrinterImplBase.java lo skeleton _PrinterStub.java lo stub Printer.java l interfaccia del server PrinterHelper.java e PrinterHolder.java classi di servizio 36

19 Esempio: la compilazione - 2 Si compila il client javac Client.java Si compila il server javac PrinterImpl.java 37 Esempio: l esecuzione Si lancia il name server tnameserv Si lancia il server java PrinterImpl Si lancia il client java Client 38

20 CORBA vs. RMI L approccio è molto simile Vantaggi di CORBA Interoperabilità Standard aperto Vantaggi di RMI Più semplice da utilizzare Non richiede l uso di un IDL diverso da Java stesso E possibile trasferire oggetti per copia e non solo riferimenti ad oggetti e strutture dati 39 DCOM: introduzione DCOM è la tecnologia Microsoft per il supporto di applicazioni formate da componenti distribuiti DCOM è la versione distribuita di COM Simile a CORBA, DCOM fornisce un linguaggio di definizione di interfacce e definisce un protocollo standard di comunicazione che permette a componenti distribuiti di cooperare 40

21 Un po' di chiarezza tra tanti acronimi COM (Component Object Model) Definisce uno standard per l interoperabilità binaria tra componenti Indipendente dal linguaggio utilizzato per lo sviluppo dei componenti ActiveX technologies Tutte le tecnologie Microsoft basate su COM OLE (Object Linking and Embedding) La tecnologia ActiveX per creare documenti composti DCOM (Distributed COM) La versione distribuita di COM Definisce un protocollo di comunicazione standard per l interoperabilità tra componenti distribuiti 41 COM e DCOM Windows NT 5.0 Power Macintosh UNIX & Mainframe (Software AG / DEC) Windows NT 4.0 Windows 95 UNIX Betas (Software AG) Windows 95 Windows NT 3.51 Power Macintosh Windows NT 3.5 Macintosh 68K Windows 3.1 COM DCOM

22 COM e DCOM: un mondo di componenti Nello stesso processo chiamate dirette di procedura Client Component Tra processi diversi Chiamate di procedura interprocesso Client Process Server Process Client COM Component Tra macchine diverse RPC basata su DCE Client Client Machine COM DCE RPC Server Machine COM Component 43 DCOM: Architettura Client Security provider COM run time DCE RPC Protocol stack Security provider Stesso LPC processo COM run time DCE RPC Protocol stack Component Stessa DCOM macchina networkprotocol Macchine diverse 44

23 DCOM: protocollo di trasporto e sicurezza Indipendente dal protocollo di trasporto e dall infrastruttura per la gestione della sicurezza Client Machine Server Machine Clients D C O M TCP, NT4 Security UDP SSL/ IPX, SPX Certificates HTTP NT Kerberos DCE Security Falcon D C O M COM Object 45 DCOM: Interfacce Il DCOM IDL viene utilizzato per la specifica delle interfacce dei componenti DCOM IDL è simile al CORBA IDL Supporta però solo ereditarietà semplice A partire dalla specifica delle interfacce vengono generati proxy e stub Ogni interfaccia è univocamente identificata dal suo ID (IID) Un intero a 128 bit Un interfaccia non può esistere in versioni diverse 46

24 DCOM: Componenti Ogni componente può implementare più interfacce Questo permette di risolvere il problema del versionamento delle interfacce e dei componenti DCOM, come COM, non supporta ereditarietà tra componenti Ogni componente è identificato univocamente da un GUID (Globally Unique ID) Intero a 128 analogo del UUID di DCE L attivazione dei componenti è affidata ad un class factory 47 DCOM: Class factory Un componente capace di creare nuovi componenti Identificato univocamente da un class id (CLSID) Implementa l interfaccia standard IClassFactory 48

25 DCOM: Component server Un eseguibile o una DLL che si occupa di gestire un insieme di componenti DCOM Contiene le class factory e l implementazione di tali componenti Tre tipi di component server In-process DLL caricata nello spazio di indirizzamento del client Local Eseguibile che gira nella stessa macchina del client (comunicazione attraverso LPC) Remote Eseguibile che gira su una macchina diversa da quella del client (comunicazione attraverso DCE RPC) 49 DCOM: Service Control Manager Una parte di COM, responsabile di: Reperire un component server dato il suo CLSID Far partire il server o connettersi al server in esecuzione Riportare le informazioni relative alla connessione al client Per lo più sotto forma di un interfaccia ad uno proxy 50

26 DCOM: Proxy e Stub Componenti COM che si occupano del marshalling e dell unmarshalling dei parametri e del valore di ritorno dei metodi Il client accede all interfaccia del proxy come tramite verso il componente server Lo stub riceve le invocazioni del proxy e si ocupa di invocare il componente server 51 RMI - CORBA - DCOM: tre mondi separati? RMI, CORBA e DCOM: in teoria tre approcci distinti per la soluzione dello stesso problema in pratica numerosi sforzi vengono oggi fatti per unire questi tre mondi RMI - CORBA : una proposta per estendere il GIOP al fine di consentire il passaggio per copia di oggetti RMI - DCOM : Microsoft fornisce strumenti per l interoperabilita tra le due piattaforme DCOM e CORBA : Esistono dei ridge che consentono il colloquio tra componenti DCOM e CORBA 52

27 Bibliografia RMI: CORBA: DCOM: com/ 53

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

Java Remote Method Invocation

Java Remote Method Invocation Java Remote Method Invocation Programmazione in Rete e Laboratorio Comunicazione distribuita Port1 Java VM1 Java VM2 Port 2 Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino

Dettagli

CORBA. CORBA facilita lo sviluppo di sistemi distribuiti fornendo

CORBA. CORBA facilita lo sviluppo di sistemi distribuiti fornendo CORBA CORBA facilita lo sviluppo di sistemi distribuiti fornendo Una infrastruttura per far comunicare oggetti in un sistema distribuito Un set di servizi utili Un supporto che permette ad applicazioni

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

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

Programmazione di sistemi distribuiti

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

Dettagli

JNDI. Massimo Merro Programmazione di Rete 214 / 229

JNDI. Massimo Merro Programmazione di Rete 214 / 229 JNDI Abbiamo già visto come i registri RMI espletino un servizio di Naming attraverso cui vengono associati nomi simbolici a referenze a server remoti. Esistono comunque altri servizi di naming: COS (Common

Dettagli

RMI Remote Method Invocation

RMI Remote Method Invocation RMI Remote Method Invocation [Pagina intenzionalmente vuota] (1 12 2004) slide 4:1/18 (p.106) Un applicazione RMI è un applicazione distribuita ad oggetti. Applicazione RMI tipica, strutturata in: server:

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

Programmazione CORBA in Java

Programmazione CORBA in Java Programmazione CORBA in Java Ing. Andrea Santoro http://www.dis.uniroma1.it/~santoroa santoro@dis.uniroma1.it (codice preparato dall ing. Alessandro Termini) Overview Naming Service Motivazioni Name Service

Dettagli

Corso: Sistemi di elaborazione delle informazioni 2. Anno Accademico: 2007/2008. Docente: Mauro Giacomini

Corso: Sistemi di elaborazione delle informazioni 2. Anno Accademico: 2007/2008. Docente: Mauro Giacomini Corso: Sistemi di elaborazione delle informazioni 2. Anno Accademico: 2007/2008. Docente: Mauro Giacomini Organizzazione no-profit per lo sviluppo di standard che fornisce linee guida per: lo scambio la

Dettagli

Corso di Reti di Calcolatori LS

Corso di Reti di Calcolatori LS Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori LS CORBA - Implementazione Naming Service e Interface Repository Luca Foschini Anno accademico 2008/2009 Agenda CORBA

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

Sommario (1) Object Request Broker

Sommario (1) Object Request Broker Università di Roma RomaTre Sommario (1) Sommario (2) Introduzione a CORBA Claudio Morgia 1999 Architetture distribuite Object Request Broker Contratti IDL IR + DSI + DII Strutture Client, Object Implementation

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

appunti delle lezioni Architetture client/server: applicazioni client

appunti delle lezioni Architetture client/server: applicazioni client Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un esempio particolarmente

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

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

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale

Dettagli

Seminario di Sistemi Distribuiti: RPC su SOAP

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

Dettagli

B.P.S. Business Process Server ALLEGATO C10

B.P.S. Business Process Server ALLEGATO C10 B.P.S. Business Process Server ALLEGATO C10 REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA REGIONALE UFFICIO SISTEMA INFORMATIVO REGIONALE E STATISTICA Via V. Verrastro, n. 4 85100 Potenza tel

Dettagli

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

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

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

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

I Socket. Laboratorio Software 2008-2009 M. Grotto R. Farina

I Socket. Laboratorio Software 2008-2009 M. Grotto R. Farina M. Grotto R. Farina Sommario 1. Applicazioni Distribuite 2. I Socket Introduzione Interfacce e protocolli Descrizione Stile di comunicazione Namespace e protocollo Include e system call Creazione e chiusura

Dettagli

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

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

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

Groups vs Organizational Units. A cura di Roberto Morleo

Groups vs Organizational Units. A cura di Roberto Morleo Groups vs Organizational Units A cura di Roberto Morleo Gruppo Windows 2 Groups vs Organizational Units Organizational Units Groups OU Design Using OUs to Delegate Administration Group Policies and OU

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

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

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

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

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

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del

Dettagli

Esercitazione di Sistemi Distribuiti: Java RMI

Esercitazione di Sistemi Distribuiti: Java RMI Esercitazione di Sistemi Distribuiti: Java RMI Anno Accademico 2007-08 Marco Comerio comerio@disco.unimib.it Richiami Teorici Oggetti distribuiti 2-16 Usuale organizzazione di un oggetto remoto con un

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

Protezione. Protezione. Protezione. Obiettivi della protezione

Protezione. Protezione. Protezione. Obiettivi della protezione Protezione Protezione La protezione riguarda i meccanismi per il controllo dell accesso alle risorse in un sistema di calcolo da parte degli utenti e dei processi. Meccanismi di imposizione fissati in

Dettagli

RMI. Java RMI RMI. G. Prencipe prencipe@di.unipi.it

RMI. Java RMI RMI. G. Prencipe prencipe@di.unipi.it Java Remote Method Invocation -- RMI G. Prencipe prencipe@di.unipi.it RMI RMI è una tecnologia JAVA che permette a una JVM di comunicare con un altra JVM per farle eseguire metodi È possibile che oggetti

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

appunti delle lezioni Architetture client/server: applicazioni server

appunti delle lezioni Architetture client/server: applicazioni server Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture /: applicazioni 1 La logica dei Abbiamo visto che un applicazione si connette e comunica con un applicazione mediante

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

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

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

Corso di Amministrazione di Reti A.A. 2002/2003

Corso di Amministrazione di Reti A.A. 2002/2003 Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Dettagli

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

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

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. Esercitazione. Programmazione Object Oriented in Java

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. Esercitazione. Programmazione Object Oriented in Java Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Programmazione Object Oriented in Java

Dettagli

Strumenti per la programmazione

Strumenti per la programmazione Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un

Dettagli

Lezione 1 Introduzione

Lezione 1 Introduzione Lezione 1 Introduzione Ingegneria dei Processi Aziendali Modulo 1 Servizi Web Unità didattica 1 Protocolli Web Ernesto Damiani Università di Milano I Servizi Web Un Servizio Web è un implementazione software

Dettagli

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Confronto tra ISO-OSI e TCP/IP, con approfondimento di quest ultimo e del livello di trasporto in cui agiscono i SOCKET. TCP/IP

Dettagli

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

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

Dettagli

Architetture 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

Scenario di Progettazione

Scenario di Progettazione Appunti del 3 Ottobre 2008 Prof. Mario Bochicchio SCENARIO DI PROGETTAZIONE Scenario di Progettazione Il Committente mette a disposizione delle risorse e propone dei documenti che solitamente rappresentano

Dettagli

Java Virtual Machine

Java Virtual Machine Java Virtual Machine programmi sorgente: files.java compilatore files.class bytecode linker/loader bytecode bytecode Java API files.class interprete macchina ospite Indipendenza di java dalla macchina

Dettagli

Agent, porte, connettività e reti... 3. L agent di Kaseya utilizza la porta 5721 per comunicare con il server, ma che tipo di porta è?...

Agent, porte, connettività e reti... 3. L agent di Kaseya utilizza la porta 5721 per comunicare con il server, ma che tipo di porta è?... Kaseya Domande e Risposte Agent, porte, connettività e reti... 3 L agent di Kaseya utilizza la porta 5721 per comunicare con il server, ma che tipo di porta è?...3 Quanta memoria occupa l agent di Kaseya?...3

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

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

Applicazioni distribuite e sistemi ad oggetti distribuiti. RPC RMI - Web Services 1

Applicazioni distribuite e sistemi ad oggetti distribuiti. RPC RMI - Web Services 1 Applicazioni distribuite e sistemi ad oggetti distribuiti RPC RMI - Web Services 1 Complessità delle applicazioni distribuite La scrittura di applicazioni distribuite basate sull utilizzo di protocolli

Dettagli

Applicazioni distribuite e sistemi ad oggetti distribuiti

Applicazioni distribuite e sistemi ad oggetti distribuiti Applicazioni distribuite e sistemi ad oggetti distribuiti Complessità delle applicazioni distribuite La scrittura di applicazioni distribuite basate sull utilizzo di protocolli di comunicazione asincroni

Dettagli

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse Prova Finale a.a. 2011/2012 Laboratorio 1: Introduzione a Java e Eclipse 1 Java 6 Standard Edition Linguaggio Java (... (javac, Tool di sviluppo Librerie per l'interfaccia grafica Librerie di base Macchina

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

Network Services Location Manager. Guida per amministratori di rete

Network Services Location Manager. Guida per amministratori di rete apple Network Services Location Manager Guida per amministratori di rete Questo documento illustra le caratteristiche di Network Services Location Manager e spiega le configurazioni di rete per sfruttarne

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

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

Approfondimenti. Contenuti

Approfondimenti. Contenuti Approfondimenti dott. Stefano D. Fratepietro steve@stevelab.net C I R S F I D Università degli studi di Bologna stevelab.net Creative Commons license Stefano Fratepietro - www.stevelab.net 1 Contenuti

Dettagli

Programmazione in Java Parte I: Fondamenti

Programmazione in Java Parte I: Fondamenti Programmazione in Java Parte I: Fondamenti Lezione 1 Dott. Marco Faella Riferimenti Testi consigliati: Progettazione del software e design pattern in Java di C.S. Horstmann Apogeo Gli esempi di codice

Dettagli

Siti interattivi e dinamici. in poche pagine

Siti interattivi e dinamici. in poche pagine Siti interattivi e dinamici in poche pagine 1 Siti Web interattivi Pagine Web codificate esclusivamente per mezzo dell HTML non permettono alcun tipo di interazione con l utente, se non quella rappresentata

Dettagli

15 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

15 - Packages. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 15 - Packages Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di

Dettagli

Oreste Signore, <oreste@w3.org> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa

Oreste Signore, <oreste@w3.org> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa http://www.w3c.it/education/2012/upra/basicinternet/#(1) 1 of 16 Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa Master in Comunicazione

Dettagli

SMS API. Documentazione Tecnica YouSMS HTTP API. YouSMS Evet Limited 2015 http://www.yousms.it

SMS API. Documentazione Tecnica YouSMS HTTP API. YouSMS Evet Limited 2015 http://www.yousms.it SMS API Documentazione Tecnica YouSMS HTTP API YouSMS Evet Limited 2015 http://www.yousms.it INDICE DEI CONTENUTI Introduzione... 2 Autenticazione & Sicurezza... 2 Username e Password... 2 Connessione

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

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

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

Introduzione a CORBA

Introduzione a CORBA Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Progetto ID 24063 Moduli e contenuti professionalizzanti inseriti nei corsi di laurea e diplomi universitari

Dettagli

CdL MAGISTRALE in INFORMATICA

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

Dettagli

4 Data Transformation Services

4 Data Transformation Services Data Transformation Services Data Transformation Services (tutorial) 10 novembre 2000 La preparazione dei dati richiede lo svolgimento coordinato di un grande numero di attività attività estrazione dei

Dettagli

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

Un approccio innovativo per il delivery di servizi in infrastrutture di nomadic computing Un approccio innovativo per il delivery di servizi in infrastrutture di nomadic computing Relatore Prof. Ing. Stefano Russo Correlatore Ing. Domenico Cotroneo Candidato Armando Migliaccio matr. 41/2784

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di

Dettagli

Reti di Telecomunicazione Lezione 6

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

Dettagli

Programmazione distribuita

Programmazione distribuita Programmazione distribuita 1 Architettura client-server È il modo classico di progettare applicazioni distribuite su rete Server offre un servizio "centralizzato" attende che altri (client) lo contattino

Dettagli

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013

Candidato: Luca Russo Docente: Prof. Raffaele Montella. 27 Marzo 2013 e di e di Candidato: Luca Russo Docente: Corso di laurea in Informatica Applicata Facoltá di Scienze e Tecnologie Programmazione su Reti 27 Marzo 2013 Traccia d esame Sviluppare multitier con disaccoppiamento

Dettagli

Ingegneria del Software. Presentazione del pattern Proxy

Ingegneria del Software. Presentazione del pattern Proxy Ingegneria del Software Presentazione del pattern Proxy 1 Il pattern Proxy (1/6) Nome Proxy Synopsis Pattern molto generale che occorre in molti altri pattern, ma raramente nella sua forma pura. Il pattern

Dettagli

Introduzione. Il software e l ingegneria del software. Marina Mongiello Ingegneria del software 1

Introduzione. Il software e l ingegneria del software. Marina Mongiello Ingegneria del software 1 Introduzione Il software e l ingegneria del software Marina Mongiello Ingegneria del software 1 Sommario Il software L ingegneria del software Fasi del ciclo di vita del software Pianificazione di sistema

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

Registri RMI. Massimo Merro Univ. Verona Programmazione di Rete 90 / 247

Registri RMI. Massimo Merro Univ. Verona Programmazione di Rete 90 / 247 Registri RMI Per poter interagire con un server remoto, un client deve essere in possesso di una sua referenza remota (ovvero un oggetto stub). Un servizio di Naming è una risorsa centralizzata che può

Dettagli

Come funziona internet

Come funziona internet Come funziona internet Architettura client server URL/URI Richiesta (Request) Risposta (Response) Pagina url e uri Uno Uniform Resource Identifier (URI, acronimo più generico rispetto ad "URL") è una stringa

Dettagli

Sistemi Operativi (modulo di Informatica II)

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

Dettagli

Licenza per sito Manuale dell amministratore

Licenza per sito Manuale dell amministratore Licenza per sito Manuale dell amministratore Le seguenti istruzioni sono indirizzate agli amministratori di siti con un licenza per sito per IBM SPSS Modeler 15. Questa licenza consente di installare IBM

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

13. Chain of Responsibility

13. Chain of Responsibility Chain of Responsibility 92 13. Chain of Responsibility (GoF pag. 223) 13.1. Descrizione Consente di separare il mittente di una richiesta dal destinario, in modo di consentire a più di un oggetto di gestire

Dettagli