1 L!ve T!tle: software per la consultazione degli andamenti dei titoli di borsa online Reti di Calcolatori LS Nuzzi Nicola Mat 197597.

Slides:



Advertisements
Presentazioni simili
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Advertisements

Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
Corso di Fondamenti di Informatica
Architetture dei sistemi distribuiti Prof
INTRODUZIONE Il framework.NET. Un po di storia Sin dalla prima versione del sistema operativo Windows (1990 circa), nacque la necessità di far comunicare.
Informatica e Telecomunicazioni
19/02/2002LITA, Milano1 Oncology over Internet (O2I) Paolo Romano, Istituto Nazionale per la Ricerca sul Cancro, Genova
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Web Services.
Java Enterprise Edition (JEE)
Passaggio dei parametri
Università degli Studi di Modena e Reggio Emilia Facoltà dIngegneria - sede di Modena Corso di Laurea in Ingegneria Informatica Interoperabilità di componenti.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
SINCRONIZZAZIONE E TRASFERIMENTO VIA WEB DI IMMAGINI E DATI MULTIMEDIALI CON INFORMAZIONI GEOGRAFICHE E RAPPRESENTAZIONI CARTOGRAFICHE Laureando: Mitja.
Java2 Esercitazioni del corso di Sistemi Informativi Marina Mongiello
Introduzione ai Web Services. E' un nuovo meccanismo RPC ottimizzato per l'uso in Internet Un qualunque Client su una generica piattaforma deve poter.
Gruppo 4: Gelmi Martina, Morelato Francesca, Parisi Elisa
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Active Server Pages.
Distributed Object Computing
1 Basi di dati e Web Prof. Stefano Paraboschi Prof. Barbara Pernici.
Architettura Three Tier
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
Architettura del World Wide Web
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente.
Ingegneria del software I
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
Modelli ed Applicazioni di Reti di Calcolatori L-S Anno Accademico Università degli Studi di Bologna Ing. Fabio Tarantino –
Università degli studi di Modena e Reggio Emilia Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica Progetto e sviluppo.
Introduzione ad ASP.net
Architettura Java/J2EE
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito1 Reti di Calcolatori LS REALIZZAZIONE DI UN SERVIZIO DI ANNUNCI DISTRIBUITO Studente:
BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.
Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr
1 Internet e nuove tecnologie Anno Accademico Prof. Flavio De Paoli Dott. Marco Loregian.
Corso di Informatica per Giurisprudenza Lezione 7
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Basi di Dati e Sistemi Informativi
Sistemi Informativi sul Web
Introduzione alla programmazione web
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
Java Remote Method Invocation (RMI)
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Applicazione Web Informatica Abacus Informatica Classe VIA 2008/2009 N.Ceccon INF (01) Revisione 4.0 settembre 2008.
Reti di Calcolatori ed Internet Fabio Massimo Zanzotto.
Distributed System ( )7 TCP/IP four-layer model.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
Creato da Riccardo Nuzzone
CORBA-Master;1.ppt Introduzione a CORBA Fabiano Cattaneo - CEFRIEL Via Fucini, Milano Tel. (02) FAX (02)
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
CORBA;2.ppt Object Management Group’s Object Management Architecture CORBA Fabiano Cattaneo - CEFRIEL Via Fucini, Milano Tel. (02)
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Studio di una soluzione distribuita per la gestione di un centro sondaggi.
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
Sistema di replicazione master-multislave con server di backup per un servizio di chat di Marco Andolfo matr
Progetto e prototipazione di una infrastruttura di comunicazione per il supporto al monitoraggio distribuito del traffico di rete Progetto di Reti di Calcolatori.
Proxy-Based Infrastructure for LBS Tailoring Reti di Calcolatori LS – Prof. A. Corradi Presentazione di: Roberto Amici Gruppo: Roberto Amici Alessandro.
Servizio di newsgroup con replicazione dei server Studente: Letizia Cheng Cheng Sun Matricola: Reti di Calcolatori LS – Prof. A. Corradi A.A. 2003/2004.
Servizi Internet Claudia Raibulet
B IBLIO S ERVICE consultazione di articoli online Anna Riccioni Progetto per il corso di Reti di Calcolatori L-S Anno Accademico
Bacheca: Supporto alla creazione e diffusione di annunci basato su CORBA Corso di Reti di Calcolatori LS Prof. Antonio Corradi Progetto di Elisa Addimanda.
Ingegneria del software Modulo 3 -Tecniche d’implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
Alex Marchetti Infrastruttura di supporto per l’accesso a un disco remoto Presentazione del progetto di: Reti di calcolatori L-S.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Hattrick Stadium Corso di Reti di Calcolatori LS Anno Accademico 2005/2006 Dolif Emilano matr
Mots, programmazione collaborativa di Ettore Ferranti.
Eprogram informatica V anno.
CORBA in MOMIS MOMIS: Mediator envirOnment for Multiple Information Sources.
Sistemi distribuiti Sistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui.
Transcript della presentazione:

1 L!ve T!tle: software per la consultazione degli andamenti dei titoli di borsa online Reti di Calcolatori LS Nuzzi Nicola Mat

2 Introduzione Sviluppo delle tecnologie va di pari passo con lo sviluppo delleconomia. Sviluppo delle tecnologie va di pari passo con lo sviluppo delleconomia. Campo applicativo: compravendita di titoli di borsa. Campo applicativo: compravendita di titoli di borsa. Siti web già presenti online Siti web già presenti online

3

4 Paradigma Client/Server Client utilizza il server che ha a disposizione risorse e metodi condivisi. Client utilizza il server che ha a disposizione risorse e metodi condivisi. Esempio: RMI (limitato a Java). Esempio: RMI (limitato a Java). Si pensa a CORBA come metodo per progettare oggetti remoti indipendenti dal linguaggio di programmazione e dalle macchine di esecuzione. Si pensa a CORBA come metodo per progettare oggetti remoti indipendenti dal linguaggio di programmazione e dalle macchine di esecuzione.

5 CORBA Common Object Request Broker Architecture Common Object Request Broker Architecture Componenti fondamentali: Componenti fondamentali: ORB: object request broker ORB: object request broker IDL: interface definition language IDL: interface definition language BOA/POA: basic object adapter/portable o.a. BOA/POA: basic object adapter/portable o.a. SII/DII: static invocation interface/dinamic i.i. SII/DII: static invocation interface/dinamic i.i. IR/OR: interface repository/object r. IR/OR: interface repository/object r. GIOP/IIOP:general interorb protocol/internet io.p GIOP/IIOP:general interorb protocol/internet io.p

6 Architettura Corba INTERFACE REPOSITORYCOMPILATORE IDLIMPLEMENTATION REP. CLIENTSERVANT (object) ORB INTERFACE DII IDL (stub) IDL (skel) DSI OA G I O P / I I O PORB CORE

7 Architettura del prototipo Client/Server su macchina comune (estendibile a macchine separate in una versione finale) Client/Server su macchina comune (estendibile a macchine separate in una versione finale) Costruzione di un file IDL per la trasparenza di linguaggio. Nel file sono specificati i metodi e gli oggetti remoti. Costruzione di un file IDL per la trasparenza di linguaggio. Nel file sono specificati i metodi e gli oggetti remoti.

8 Stub e Skeleton La compilazione del file IDL permette la generazione automatica di Stub lato client e Skeleton lato server La compilazione del file IDL permette la generazione automatica di Stub lato client e Skeleton lato server Tramite lo Stub si lavora sul messaggio lato client (lo stub agisce come proxy) Tramite lo Stub si lavora sul messaggio lato client (lo stub agisce come proxy) Tramite lo Skeleton si prende la richiesta del client e la si adatta al server Tramite lo Skeleton si prende la richiesta del client e la si adatta al server Il superamento delleterogeneità è dato da un componente detto Adattatore (OA) Il superamento delleterogeneità è dato da un componente detto Adattatore (OA)

9 CORBA IDL – Stub e Skeleton LATO CLIENT: LINGUAGGI DI PROGRAMMAZIONE (VARI) LATO SERVER: LINGUAGGI DI PROGRAMMAZIONE (VARI) INTERFACCIA IDL STUBSKELETON ORB

10 Digressione: comunicazione ORB ORB ORB: object request broker. ORB: object request broker. Coordinatore delle richieste in maniera trasparente dalla posizione e implementazione delloggetto remoto. Coordinatore delle richieste in maniera trasparente dalla posizione e implementazione delloggetto remoto. La comunicazione da orb a orb di sistemi CORBA diversi avviene attraverso protocolli di interoperabilità orb to orb; standardizzazione con GIOP, su TCP/IP molto usato IIOP (Internet Inter- Orb Protocol) La comunicazione da orb a orb di sistemi CORBA diversi avviene attraverso protocolli di interoperabilità orb to orb; standardizzazione con GIOP, su TCP/IP molto usato IIOP (Internet Inter- Orb Protocol)

11 Realizzazione del prototipo Implementazione dellIDL per gli oggetti e i metodi remoti Implementazione dellIDL per gli oggetti e i metodi remoti Generazione tramite idlj (compilatore idl di Sun) delle classi Stub e Skeleton Generazione tramite idlj (compilatore idl di Sun) delle classi Stub e Skeleton Implementazione delle classi Client e Server (con classi accessorie che ne conseguono) con conseguente implementazione reale degli oggetti Implementazione delle classi Client e Server (con classi accessorie che ne conseguono) con conseguente implementazione reale degli oggetti

12 Struttura completa del sistema TITLE.IDL Codice sorgente del cliente (Java) Codice stub generato automaticamente Software Client Software Server Librerie CORBA Codice sorgente del server (Java) Codice skeleton gen. automaticamente

13 Naming Service Si fa utilizzo di un servizio di Naming con nomi unici per rendere disponibile un servant ad un client remoto. Si fa utilizzo di un servizio di Naming con nomi unici per rendere disponibile un servant ad un client remoto. Parliamo (ed utilizziamo) infatti un servant come implementatore dei servizi e dei metodi del server. Parliamo (ed utilizziamo) infatti un servant come implementatore dei servizi e dei metodi del server. Operazione di binding: si associa un nome ad un riferimento Operazione di binding: si associa un nome ad un riferimento Operazione di naming resolution: risoluzione del nome per recuperare un riferimento al servizio Operazione di naming resolution: risoluzione del nome per recuperare un riferimento al servizio

14 Realizzazione lato server/client Ricapitolando: Ricapitolando: Il server: Il server: Inizializza lorb mediante la init Inizializza lorb mediante la init Prima che loggetto sia utilizzabile dal client deve essere connesso allorb mediante la connect (non utilizziamo un oa) Prima che loggetto sia utilizzabile dal client deve essere connesso allorb mediante la connect (non utilizziamo un oa) Per ottenere un riferimento agli oggetti disponibili il server utilizza la resolve_initial_references Per ottenere un riferimento agli oggetti disponibili il server utilizza la resolve_initial_references Ottenuto il riferimento viene utilizzata la narrow per recuperare il NamingContext Ottenuto il riferimento viene utilizzata la narrow per recuperare il NamingContext Si effettua il binding utilizzando la rebind tra il NameComponent opportuno (nome e tipo) e listanza del servant Si effettua il binding utilizzando la rebind tra il NameComponent opportuno (nome e tipo) e listanza del servant Il client: Il client: Effettua le stesse operazioni per ottenere il riferimento al Naming Service Effettua le stesse operazioni per ottenere il riferimento al Naming Service Effettua la resolve per ottenere un riferimento alloggetto remoto (Title nel caso del prototipo) Effettua la resolve per ottenere un riferimento alloggetto remoto (Title nel caso del prototipo)

15 Gestione a polling dellinterrogazione Linterrogazione per la verifica della presenza di nuove versioni del database dei titoli è realizzata mediante polling. Linterrogazione per la verifica della presenza di nuove versioni del database dei titoli è realizzata mediante polling. Il client interroga il server ad intervalli ripetuti (con step impostabile dallesterno). Il client interroga il server ad intervalli ripetuti (con step impostabile dallesterno).

16 Sviluppi futuri Lo sviluppo del progetto ha permesso di prendere parziale confidenza con i meccanismi di elaborazione remota di Corba e con lindipendenza dal linguaggio mediante IDL. Lo sviluppo del progetto ha permesso di prendere parziale confidenza con i meccanismi di elaborazione remota di Corba e con lindipendenza dal linguaggio mediante IDL. Non è proprio uno sviluppo futuro, ma nella realizzazione non prototipale è necessaria una modifica per leffettiva distributività del software. Non è proprio uno sviluppo futuro, ma nella realizzazione non prototipale è necessaria una modifica per leffettiva distributività del software. Utilizzo dei meccanismi di Callback per il reperimento dei nuovi valori. Utilizzo dei meccanismi di Callback per il reperimento dei nuovi valori.

17 Bibliografia [1] A. Corradi – Dispense del corso di Reti di Calcolatori LS. Università di Bologna, facoltà di Ingegneria. Anno accademico [1] A. Corradi – Dispense del corso di Reti di Calcolatori LS. Università di Bologna, facoltà di Ingegneria. Anno accademico [2] G. Morello – Java e Corba. Manuale Pratico di Java – dalla teoria alla programmazione. Volume 2. [2] G. Morello – Java e Corba. Manuale Pratico di Java – dalla teoria alla programmazione. Volume 2. [3] L. Bettini – Java+IDL=CORBA. Mokabyte n. 22 Settembre [3] L. Bettini – Java+IDL=CORBA. Mokabyte n. 22 Settembre [4] Sun Corp. – Java IDL Examples – java.sun.com/j2se/docs/guide/idl/jidlExample3.html [4] Sun Corp. – Java IDL Examples – java.sun.com/j2se/docs/guide/idl/jidlExample3.html [5] K. Johnson – Remoting.Corba Wiki (C#) – kristoperhjohnson.net/cgi- bin/rc/wiki.pl?Tutorials/Callback [5] K. Johnson – Remoting.Corba Wiki (C#) – kristoperhjohnson.net/cgi- bin/rc/wiki.pl?Tutorials/Callback [6] A. Santoro, A. Termini – Programmazione Corba in Java – [6] A. Santoro, A. Termini – Programmazione Corba in Java –