CORBA & DCOM. Gianpaolo Cugola 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

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

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

Santoro Umberto Roberto. Corba e Java

Santoro Umberto Roberto. Corba e Java Santoro Umberto Roberto Corba e Java Sommario Nell era di Internet e delle grandi Intranet aziendali, il modello computazionale dominante è chiaramente quello distribuito. Un tipico ambiente distribuito

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

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

Java e CORBA. Introduzione

Java e CORBA. Introduzione 2001 proprietà di MokaByte s.r.l. tutti i diritti riservati è vietata la riproduzione non autorizzata anche parziale Java e CORBA DI GIANLUCA MORELLO Introduzione Nell era di Internet e delle grandi Intranet

Dettagli

Internet, Security & Information Technologies

Internet, Security & Information Technologies Internet, Security & Information Technologies I sistemi distribuiti: lo standard CORBA Sommario Il Middleware Introduzione ai sistemi distribuiti e al concetto di middleware CORBA: concetti generali Introduzione

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

-$9$ 6HUYOHW. Andrea BEI (andrea.bei@libero.it)

-$9$ 6HUYOHW. Andrea BEI (andrea.bei@libero.it) -$9$ 6HUYOHW Andrea BEI (andrea.bei@libero.it) Servlet: definizione 8Q6HUYOHWqXQPRGXORVFULWWRLQ-$9$FKHHVWHQGHOH IXQ]LRQDOLWjGLXQVHUYHUUHTXHVWUHVSRQVHRULHQWHG:(% VHUYHU es: servlet per l inserimento in

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

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

Comunicazione fra oggetti distribuiti

Comunicazione fra oggetti distribuiti Comunicazione fra oggetti distribuiti RMI RPC invocazione di metodo remoto - gli oggetti remoti ricevono le RMI interfaccia remota meccanismo per la comunicazione cliente servente come primitiva di un

Dettagli

Analisi, progettazione e implementazione di un repository di componenti distribuite in Java basato su JNDI.

Analisi, progettazione e implementazione di un repository di componenti distribuite in Java basato su JNDI. UNIVERSITÀ DEGLI STUDI DI ROMA LA SAPIENZA TESI DI LAUREA IN SCIENZE DELL INFORMAZIONE Analisi, progettazione e implementazione di un repository di componenti distribuite in Java basato su JNDI. Relatore:

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

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

Sistemi Distribuiti. Anno Accademico 2005-06 Prof. Flavio De Paoli. Il modello ad oggetti

Sistemi Distribuiti. Anno Accademico 2005-06 Prof. Flavio De Paoli. Il modello ad oggetti Sistemi Distribuiti Anno Accademico 2005-06 Prof. Flavio De Paoli 1 Il modello ad oggetti 2 Distributed Objects 2-16 Common organization of a remote object with client-side proxy. 3 Caratteristiche Oggetti

Dettagli

COM & DCOM (Distributed) Component Object Mode. Valentina Del Frate Corso Di Controllo Digitale A.A. 1999/2000

COM & DCOM (Distributed) Component Object Mode. Valentina Del Frate Corso Di Controllo Digitale A.A. 1999/2000 COM & DCOM (Distributed) Component Object Mode Valentina Del Frate Corso Di Controllo Digitale A.A. 1999/2000 COM : Prima Definizione (Glossario Informatico) Una Architettura software messa a punto da

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

Obiettivo della lezione. Eterogeneità insita nei sistemi distribuiti. La domanda:

Obiettivo della lezione. Eterogeneità insita nei sistemi distribuiti. La domanda: Lezione 7 Eterogeneità Vittorio Scarano Corso di Sistemi Distribuiti (3-4) Laurea Specialistica in Informatica Università degli Studi di Salerno Obiettivo della lezione Eterogeneità insita nei sistemi

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

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

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

Le caratteristiche di interoperabilità del Terrapack 32 M

Le caratteristiche di interoperabilità del Terrapack 32 M I T P E l e t t r o n i c a Le caratteristiche di interoperabilità del Terrapack 32 M M. Guerriero*, V. Ferrara**, L. de Santis*** * ITP Elettronica ** Dipartimento di Ingegneria Elettronica Univ. La Sapienza

Dettagli

Programmazione con Oggetti Distribuiti: Java RMI. Vittorio Scarano

Programmazione con Oggetti Distribuiti: Java RMI. Vittorio Scarano Programmazione con Oggetti Distribuiti: Java RMI Vittorio Scarano II edizione - Marzo 2010 ii iii A mio padre e a mia madre, ispiratori A mia moglie, dolce compagna, amica e confidente Ai miei tre figli,

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

Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005

Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005 Sommario Web Services con Axis Delia Di Giorgio Anna Celada 1 marzo 2005 Introduzione.................................................................................. 1 SOAP........................................................................................

Dettagli

Web services. 25/01/10 Web services

Web services. 25/01/10 Web services Web services Tecnologia per il computing distribuito standard W3C non dissimile da RMI, CORBA, EJB... Relazione con il Web Websites for humans, Web Services for software :-) un Web service ha un indirizzo

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

Introduzione a Java Remote Method Invocation (RMI)

Introduzione a Java Remote Method Invocation (RMI) Introduzione a Java Remote Method Invocation (RMI) SAPIENZA Università di Roma Corso di Architetture Software Orientate ai Servizi E risuona il mio barbarico yawp sopra i tetti del mondo ( I sound my barbaric

Dettagli

BANCA VIRTUALE/1 tecnologie dell informazione della comunicazione

BANCA VIRTUALE/1 tecnologie dell informazione della comunicazione BANCA VIRTUALE/1 Il termine indica un entità finanziaria che vende servizi finanziari alla clientela tramite le tecnologie dell informazione e della comunicazione, senza ricorrere al personale di filiale

Dettagli

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

I metodi statici -1. Variabili statiche Vogliamo assegnare a ciascuncontoun numeroidentificativo diverso. I metodi statici -2

I metodi statici -1. Variabili statiche Vogliamo assegnare a ciascuncontoun numeroidentificativo diverso. I metodi statici -2 I metodi statici -1 I metodi statici non hanno il parametro implicito il metodo sqrt di Math I metodi statici vengono detti anche metodi di classe perche` non operano su una particolare istanza della classe

Dettagli

Programmazione CORBA in Java

Programmazione CORBA in Java Programmazione CORBA in Java Trasparenze dalle lezioni del corso di Reti di Calcolatori A.A. 2002/2003 Prof. Roberto Baldoni - Ing. Antonino Virgillito CORBA Specifica standard di middleware RPC ad oggetti

Dettagli

Internet Socket e RMI

Internet Socket e RMI Internet Socket e RMI Programmazione in Rete e Laboratorio Architettura / Un servizio presso un computer-server è identificato dai seguenti valori: IP (32 bit, presto 128 bit) (16 bit) Servizi telnet TCP

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

Applicazioni web. Parte 5 Socket

Applicazioni web. Parte 5 Socket Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Applicazioni web Parte 5 Michele Tomaiuolo tomamic@ce.unipr.it Protocolli Internet I computer

Dettagli

Contesto e motivazioni Architettura e concetti di base Componenti di RMI RMIRegistry Interfacce, eccezioni e classi Lo sviluppo di una applicazione L

Contesto e motivazioni Architettura e concetti di base Componenti di RMI RMIRegistry Interfacce, eccezioni e classi Lo sviluppo di una applicazione L CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dell Informazione Politecnico di Milano Programmazione Object Oriented in Java Java Remote Method Invocation Docente: Diego Peroni CEFRIEL

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

Architetture Web parte 2

Architetture Web parte 2 Architetture Web parte 2 Programmazione in Ambienti Distribuiti A.A. 2004-05 Sessione Un insieme di richieste, provenienti dallo stesso browser e dirette allo stesso server, confinate in un dato lasso

Dettagli

Organizzazione della lezione. 15. Java Remote Method Invocation (3) Lo schema del Factory Design Pattern - 1. Factory design pattern

Organizzazione della lezione. 15. Java Remote Method Invocation (3) Lo schema del Factory Design Pattern - 1. Factory design pattern Organizzazione della lezione 15. Java Remote Method Invocation (3) Vittorio Scarano Corso di Programmazione Distribuita Laurea di I livello in Informatica Università degli Studi di Salerno Il design pattern

Dettagli

RMI: metodi equals e hashcode

RMI: metodi equals e hashcode RMI: metodi equals e hashcode Per verificare se due oggetti remoti contengono gli stessi dati, la chiamata indirizzata al metodo equals() avrebbe bisogno di contattare i server dove si trovano gli oggetti

Dettagli

Introduzione ai connettori

Introduzione ai connettori Luca Cabibbo Architetture Software Dispensa ASW 810 ottobre 2014 Le relazioni tra elementi sono ciò che dà valore aggiunto ai sistemi. Eberhardt Rechtin 1 -Fonti [Shaw] Mary Shaw, Procedure Calls are the

Dettagli

Java: la libreria delle classi

Java: la libreria delle classi Java: la libreria delle classi Applet anatomia di un applet cenni di html La libreria JDBC per l accesso ai database il package java.sql 213 Applet Un applet è una applicazione Java che ha una forma particolare

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

Il linguaggio Java. Oggetto remoto. Remote Method Invocation (RMI) Oggetto remoto: oggetto i cui metodi possono essere invocati attraverso la rete

Il linguaggio Java. Oggetto remoto. Remote Method Invocation (RMI) Oggetto remoto: oggetto i cui metodi possono essere invocati attraverso la rete Il linguaggio Java Remote Method Invocation (RMI) Oggetto remoto Oggetto remoto: oggetto i cui metodi possono essere invocati attraverso la rete Client Server 2 Schema di principio oggetto client oggetto

Dettagli

INDICE. Indice. Introduzione

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

Dettagli

Programmazione AA 2012 2013

Programmazione AA 2012 2013 Programmazione ad Oggetti AA 2012 2013 Contenuti del corso Modulo A Tecniche di programmazione Docente: Prof. Michele Bugliesi Modulo B Tecniche di progetto Docente: Prof. Alessandro Roncato Contenuti

Dettagli

Sistemi di Controllo Industriali Distribuiti

Sistemi di Controllo Industriali Distribuiti Sistemi di Controllo Industriali Distribuiti Distribuzione dei servizi OLE 1 e OLE 2 COM e DCOM Ole for Process Control Architetture di controllo distribuite - 1 Architettura del processo di controllo

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

Architetture a oggetti distribuiti

Architetture a oggetti distribuiti Luca Cabibbo Architetture Software Architetture a oggetti distribuiti Dispensa ASW 420 ottobre 2014 Tutti sanno che una certa cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo

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

Programmazione ad oggetti

Programmazione ad oggetti DAIS Univ. Ca' Foscari Venezia Programmazione ad oggetti Samuel Rota Bulò Informazioni generali Docente: Samuel Rota Bulò @email: srotabul@dais.unive.it Homepage: http://www.dais.unive.it/~srotabul/ ooprogramming2012.html

Dettagli

Organizzazione del testo

Organizzazione del testo Questo testo è un introduzione allo standard CORBA (Common Object Request Broker Architecture) e all architettura di riferimento OMA (Object Management Architecture), per lo sviluppo di sistemi software

Dettagli

JDBC di base. Le classi/interfacce principali di JDBC

JDBC di base. Le classi/interfacce principali di JDBC JDBC di base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte completa indipendenza del codice dal tipo di database o di

Dettagli

Broker. [POSA1] Pattern-Oriented Software Architecture, 1996

Broker. [POSA1] Pattern-Oriented Software Architecture, 1996 Luca Cabibbo Architetture Software Dispensa ASW 420 ottobre 2014 Tutti sanno che una certa cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. Albert Einstein 1

Dettagli

Appunti dei corsi di Programmazione di Rete Sistemi di elaborazione: Reti II

Appunti dei corsi di Programmazione di Rete Sistemi di elaborazione: Reti II Appunti dei corsi di Programmazione di Rete Sistemi di elaborazione: Reti II PROF. G. BONGIOVANNI 0) INTRODUZIONE AL LINGUAGGIO JAVA PER PROGRAMMATORI C++...2 0.1) Caratteristiche principali... 2 0.1.1)

Dettagli

Servers Activatable. Massimo Merro Programmazione di Rete 166 / 193

Servers Activatable. Massimo Merro Programmazione di Rete 166 / 193 Servers Activatable Nelle lezioni precedenti abbiamo detto che una referenza remota ad un server di tipo UnicastRemoteObject rimane valida finchè il server è in esecuzione. Quando il server termina, o

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

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni Uso dei data bases con PHP Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal

Dettagli

Mobilità di Codice. Massimo Merro Programmazione di Rete 128 / 144

Mobilità di Codice. Massimo Merro Programmazione di Rete 128 / 144 Mobilità di Codice Abbiamo già visto come un dato host possa trasmettere un oggetto (serializzabile) ad un altro host. Quest ultimo potrà eseguire l oggetto pur non possedendo il bytecode della classe

Dettagli

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC JDBC: Introduzione Java Database Connectivity (JDBC): parte 1 Gianluca Moro DEIS - Università di Bologna gmoro@deis.unibo.it Java Database Connectivity è il package Java per l accesso a database relazionali

Dettagli

Interoperabilità e cooperazione applicativa tra sistemi informativi

Interoperabilità e cooperazione applicativa tra sistemi informativi Interoperabilità e cooperazione applicativa tra sistemi informativi Michele Ruta Dipartimento di Ingegneria Elettrica e dell Informazione Politecnico di Bari 1di 29 Indice Introduzione ai Port Community

Dettagli

Framework. Impianti Informatici. Web application - tecnologie

Framework. Impianti Informatici. Web application - tecnologie Framework Web application - tecnologie Web Application: tecnologie 2 Java-based (J2EE) Sviluppata inizialmente da Sun Cross-platform e open source Gestire direttamente le funzionalità dell applicazione

Dettagli

JDBC versione base. Le classi/interfacce principali di JDBC

JDBC versione base. Le classi/interfacce principali di JDBC JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice

Dettagli

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Java Java è un Linguaggio di Programmazione orientato agli oggetti. Un Linguaggio di Programmazione è un linguaggio ad alto livello, dotato

Dettagli

7 Esercitazione (svolta): Callback. Polling. Java RMI: callback. Server. Server. Client. Client. due possibilità:

7 Esercitazione (svolta): Callback. Polling. Java RMI: callback. Server. Server. Client. Client. due possibilità: 7 Esercitazione (svolta): due possibilità: Java RMI: callback Molte applicazioni richiedono un meccanismo publish/subscribe I partecipanti (client) necessitano di notifiche da parte del coordinatore (server)

Dettagli

Internet Socket e RMI

Internet Socket e RMI Internet Socket e RMI una breve introduzione alla programmazione in rete Chi sono? Come contattarmi? Matteo Baldoni Dipartimento di Informatica Università degli Studi di Torino Corso Svizzera, 185 I-10149

Dettagli

UX model e Architetture di SI web-based. B. Pernici D. Ardagna

UX model e Architetture di SI web-based. B. Pernici D. Ardagna UX model e Architetture di SI web-based B. Pernici D. Ardagna Conallen, cap. 7,9 Bibliografia Modellazione concettuale: UX model Primo passo di analisi UX: user experience Schermate Modellare la navigazione,

Dettagli

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa.

Quando si sa chiaramente come si deve comportare l applicazione si può analizzare una possibile soluzione applicativa. Introduzione alla tecnologia JMX 1 Viene analizzata l architettura sottostante le Java Managment Extensions (JMX) mostrandone un utilizzo applicativo e analizzando altri possibili scenari d uso di Ivan

Dettagli

Introduzione al linguaggio Java. Applicazioni ed Applets: come scriverli e farli girare. Caratteristiche originali e differenze con C / C++.

Introduzione al linguaggio Java. Applicazioni ed Applets: come scriverli e farli girare. Caratteristiche originali e differenze con C / C++. Introduzione al linguaggio Java Cosa c è di nuovo in Java? Java ed Internet. Applicazioni ed Applets: come scriverli e farli girare. Caratteristiche originali e differenze con C / C++. Dove trovare informazioni?

Dettagli

Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione

Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione Gli EJB offrono vari vantaggi allo sviluppatore di una applicazione Un ambiente di esecuzione che gestisce o naming di oggetti, sicurezza, concorrenza, transazioni, persistenza, distribuzione oggetti (location

Dettagli

Architettura SW Definizione e Notazioni

Architettura SW Definizione e Notazioni Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Stili Architetturali E. TINELLI Architettura SW Definizione e Notazioni Definizione ANSI/IEEE Std Std1471-2000

Dettagli

Programmazione di rete in Java

Programmazione di rete in Java Programmazione di rete in Java Reti di calcolatori Una rete di calcolatori è un sistema che permette la condivisione di dati informativi e risorse (sia hardware sia software) tra diversi calcolatori. Lo

Dettagli

Il.NET Framework. By Dario Maggiari. L architettura del.net Framework è riassunta, nel complesso, nella figura seguente:

Il.NET Framework. By Dario Maggiari. L architettura del.net Framework è riassunta, nel complesso, nella figura seguente: Il.NET Framework By Dario Maggiari L architettura del.net Framework è riassunta, nel complesso, nella figura seguente: Il cuore del.net Framework è costituito dal CLR (Common Language Runtime) che, secondo

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

Tecnologie di implementazione. Corso di ingegneria del software

Tecnologie di implementazione. Corso di ingegneria del software Tecnologie di implementazione Corso di ingegneria del software Sommario Principali architetture dei sistemi distribuiti Component based software engineering Componenti Comunicazione nei processi distribuiti

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

Progetto di Laboratorio di Reti: chat-0.1

Progetto di Laboratorio di Reti: chat-0.1 Progetto di Laboratorio di Reti: chat-0.1 Federico Fortini 13 aprile 2006 1 Descrizione dei requisiti Sviluppare un servizio di messaggistica (chat) su connessione cifrata con SSL. La chat deve avere una

Dettagli

IL LINGUAGGIO JAVA: CARATTERISTICHE

IL LINGUAGGIO JAVA: CARATTERISTICHE CHE COS È JAVA È un linguaggio (e relativo ambiente di programmazione) definito dalla Sun Microsystems per permettere lo sviluppo di applicazioni sicure, performanti e robuste su piattaforme multiple,

Dettagli

Esercitazione sui Design Pattern

Esercitazione sui Design Pattern Esercitazione sui Design Pattern Pattern Creazionali Singleton Permette la creazione di una sola istanza della classe all interno dell applicazione Fornisce un metodo con cui ottenere l istanza Il costruttore

Dettagli

Architetture di sistema

Architetture di sistema Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi B1_1 V1.6 Architetture di sistema Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio

Dettagli

UnicastRemoteObject. Massimo Merro Programmazione di Rete 103 / 124

UnicastRemoteObject. Massimo Merro Programmazione di Rete 103 / 124 UnicastRemoteObject Java RMI fornisce diverse classi base per definire server remoti: UnicastRemoteObject < RemoteServer < RemoteObject dove A < B significa che A è una sottoclasse di B. UnicastRemotObject

Dettagli

Non si deve fare ALCUN riferimento alla parte specifica di JDBC.

Non si deve fare ALCUN riferimento alla parte specifica di JDBC. Un applicazione per la quale sia fondamentale l indipendenza dal Database può essere scritta in Java usando le specifiche. (Package java.sql) Non devono essere usate chiamate specifiche del database: Si

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

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

APPENDICE B Le Active Server Page

APPENDICE B Le Active Server Page APPENDICE B Le Active Server Page B.1 Introduzione ad ASP La programmazione web è nata con la Common Gateway Interface. L interfaccia CGI tuttavia presenta dei limiti: ad esempio anche per semplici elaborazioni

Dettagli

Servizio Sistemi Informativi SPERIMENTAZIONE DI RETI PRIVATE VIRTUALI CON L'UTILIZZO DI SOFTWARE OPEN SOURCE

Servizio Sistemi Informativi SPERIMENTAZIONE DI RETI PRIVATE VIRTUALI CON L'UTILIZZO DI SOFTWARE OPEN SOURCE Servizio Sistemi Informativi SPERIMENTAZIONE DI RETI PRIVATE VIRTUALI CON L'UTILIZZO DI SOFTWARE OPEN SOURCE Redatto: Nucleo Gestione Innovazione e fornitori IT Versione: 1.0 Data emissione: 9/11/2006

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

Architetture per le applicazioni web-based. Mario Cannataro

Architetture per le applicazioni web-based. Mario Cannataro Architetture per le applicazioni web-based Mario Cannataro 1 Sommario Internet e le applicazioni web-based Caratteristiche delle applicazioni web-based Soluzioni per l architettura three-tier Livello utente

Dettagli

Architetture di sistema

Architetture di sistema Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi B1_1 V1.7 Architetture di sistema Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio

Dettagli

Architettura Tecnica i. Architettura Tecnica

Architettura Tecnica i. Architettura Tecnica i Architettura Tecnica ii Copyright 2005-2011 Link.it s.r.l. iii Indice 1 Scopo del documento 1 1.1 Abbreviazioni..................................................... 1 2 Overview 1 2.1 La PdD........................................................

Dettagli

Reti e Domini Windows 2000. Corso di Amministrazione di Reti A.A. 2002/2003

Reti e Domini Windows 2000. Corso di Amministrazione di Reti A.A. 2002/2003 Reti e Domini Windows 2000 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

Activation In sintesi: è inutile avere attivi degli oggetti se non vengono utilizzati

Activation In sintesi: è inutile avere attivi degli oggetti se non vengono utilizzati Activation In generale i Sistemi ad oggetti distribuiti sono progettati per lavorare con oggetti persistenti. Dato che questi sistemi saranno composti da migliaia (forse milioni) di tali oggetti, sarebbe

Dettagli

Programmazione server-side: Java Servlet

Programmazione server-side: Java Servlet Programmazione server-side: Java Servlet Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.11 parte II Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos

Dettagli

uno sguardo al futuro

uno sguardo al futuro uno sguardo al futuro Simo Sorce Samba Team idra@samba.org Obiettivi Obiettivi Iniziali¹: Implementazione completa dei protocolli Testabilità totale non-posix backends codice completamente asincrono modello

Dettagli

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET

18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET 18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET Ipotesi di partenza: concetti di base del networking Le ipotesi di partenza indispensabili per poter parlare di tecniche di accesso ai database

Dettagli

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

Java Enterprise Edi.on. Gabriele Tolomei DAIS Università Ca Foscari Venezia

Java Enterprise Edi.on. Gabriele Tolomei DAIS Università Ca Foscari Venezia Java Enterprise Edi.on Gabriele Tolomei DAIS Università Ca Foscari Venezia Java Web Services Web Services: SOAP vs. RESTful 2 diversi.pi di Web Services I Web Services SOAP sono quelli classici Si basano

Dettagli

Parte IV PROGRAMMAZIONE ACTIVEX

Parte IV PROGRAMMAZIONE ACTIVEX Parte IV PROGRAMMAZIONE ACTIVEX Capitolo 16 Componenti ActiveX Una caratteristica che ha contribuito in larga misura a rendere Visual Basic uno dei più diffusi linguaggi di programmazione in ambiente

Dettagli