1 / 17

L!ve T!tle: software per la consultazione degli andamenti dei titoli di borsa online

L!ve T!tle: software per la consultazione degli andamenti dei titoli di borsa online. Reti di Calcolatori LS Nuzzi Nicola Mat 197597 . Introduzione. Sviluppo delle tecnologie va di pari passo con lo sviluppo dell’economia. Campo applicativo: compravendita di titoli di borsa.

nodin
Download Presentation

L!ve T!tle: software per la consultazione degli andamenti dei titoli di borsa online

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. http:://it.finance.yahoo.com

  4. Paradigma Client/Server • Client utilizza il server che ha a disposizione risorse e metodi condivisi. • 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.

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

  6. Architettura Corba INTERFACE REPOSITORY COMPILATORE IDL IMPLEMENTATION REP. CLIENT SERVANT (object) ORB INTERFACE DII IDL (stub) IDL (skel) DSI OA G I O P / I I O P ORB CORE

  7. Architettura del prototipo • 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.

  8. Stub e Skeleton • 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 Skeleton si prende la richiesta del client e la si “adatta” al server • Il superamento dell’eterogeneità è 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 STUB SKELETON ORB

  10. Digressione: comunicazione ORBORB • ORB: object request broker. • Coordinatore delle richieste in maniera trasparente dalla posizione e implementazione dell’oggetto 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)

  11. Realizzazione del prototipo • Implementazione dell’IDL per gli oggetti e i metodi remoti • 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

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

  13. Naming Service • 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. • Operazione di binding: si associa un nome ad un riferimento • Operazione di naming resolution: risoluzione del nome per recuperare un riferimento al servizio

  14. Realizzazione lato server/client • Ricapitolando: • Il server: • Inizializza l’orb mediante la init • Prima che l’oggetto sia utilizzabile dal client deve essere connesso all’orb mediante la connect (non utilizziamo un oa) • 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 • Si effettua il binding utilizzando la rebind tra il NameComponent opportuno (nome e tipo) e l’istanza del servant • Il client: • Effettua le stesse operazioni per ottenere il riferimento al Naming Service • Effettua la resolve per ottenere un riferimento all’oggetto remoto (Title nel caso del prototipo)

  15. Gestione a polling dell’interrogazione • L’interrogazione 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 dall’esterno).

  16. Sviluppi futuri • Lo sviluppo del progetto ha permesso di prendere “parziale” confidenza con i meccanismi di elaborazione remota di Corba e con l’indipendenza dal linguaggio mediante IDL. • Non è proprio uno sviluppo futuro, ma nella realizzazione non prototipale è necessaria una modifica per l’effettiva distributività del software. • 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 2004-2005. • [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 1998 www.mokabyte.it • [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 • [6] A. Santoro, A. Termini – Programmazione Corba in Java – www.dis.uniroma.it/~santoroa

More Related