CORBA & DCOM. Gianpaolo Cugola cugola@elet.polimi.it La Object Management Architecture
|
|
- Irma Olivieri
- 8 anni fa
- Visualizzazioni
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 ) consiste in un insieme di specifiche promosse e curate da OMG (Object Management Group). L OMG è un consorzio internazionale no-profit di industrie nel
DettagliJava 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
DettagliCORBA. 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
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
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
DettagliProgrammazione 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
DettagliJNDI. 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
DettagliRMI 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:
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
DettagliProgrammazione 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
DettagliCorso: 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
DettagliCorso 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
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
DettagliSommario (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
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
Dettagliappunti 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
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
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
DettagliCenni 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
DettagliSeminario 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
DettagliB.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
DettagliSistemi 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
DettagliMECCANISMI 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
DettagliLuca 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
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
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
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
DettagliI 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
DettagliIl 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
DettagliIntroduzione 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
DettagliGESTIONE 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
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
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
DettagliGroups 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
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
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
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. 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
Dettagli12 - 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,
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
DettagliNascita 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
DettagliEsercitazione 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
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
DettagliProtezione. 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
DettagliRMI. 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
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.
Dettagliappunti 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
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
DettagliProgettaz. 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)
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
DettagliCorso 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
DettagliLA 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
DettagliOggetti 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
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
DettagliLinguaggi 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
DettagliStrumenti 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
DettagliLezione 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
DettagliTECNOLOGIE 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
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
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
DettagliScenario 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
DettagliJava 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
DettagliAgent, 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
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
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
DettagliApplicazioni 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
DettagliApplicazioni 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
DettagliProva 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
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
DettagliNetwork 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
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
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)
DettagliApprofondimenti. 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
DettagliProgrammazione 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
DettagliSiti 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
Dettagli15 - 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
DettagliOreste 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
DettagliSMS 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
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
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
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
DettagliIntroduzione 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
DettagliCdL 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
Dettagli4 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
DettagliUn 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
DettagliInizializzazione 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
DettagliFondamenti 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
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
DettagliProgrammazione 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
DettagliCandidato: 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
DettagliIngegneria 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
DettagliIntroduzione. 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
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
DettagliRegistri 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ò
DettagliCome 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
DettagliSistemi 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à
DettagliLicenza 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
DettagliCORSO 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
Dettagli13. 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