JINI

Autore testo:
Serena Groppo

Jini è una tecnologia che si basa su JAVA e su TCP_IP e che, utilizzando protocolli di rete, permette di mettere in comunicazione oggetti differenti fra loro in un unico network, detto collaborativo, in cui ogni elemento non deve essere installato in un sistema centrale, ma dove ognuno mette a disposizione dei servizi, per tutti coloro che ne abbiano necessità.
In pratica ogni volta che un nuovo device viene connesso al circuito, prima annuncia chi è e che cosa è in grado di fare, successivamente spiega come deve essere utilizzato, attraverso la sua interfaccia.
In una comunità Jini i servizi possono essere dinamicamente aggiunti o tolti, le applicazioni possono poi ricercare tali servizi ed usarli, senza averne a priori una specifica conoscenza.
Ad esempio una stampante, nel momento in cui si connette ad una comunità Jini, prima si presenterà e poi esporrà la sua interfaccia, contenente per esempio il servizio print.
Se successivamente un frigorifero Jini dovesse aver bisogno di stampare una pagina con dei dati relativi al proprio funzionamento, sarà sufficiente che vada a ricercare chi, nella comunità, mette a disposizione il servizio print e poi richiederne l'esecuzione.
Un sistema Jini non dovrebbe pensarsi come un insieme di clients e servers, o utenti e programmi, o programmi e archivi, piuttosto, un sistema Jini consiste in un insieme di servizi che sono raggruppati per il compimento di una particolare operazione.
La natura dinamica di Jini permette ai servizi di essere aggiunti o ritirati in qualunque momento.
Jini fornisce i meccanismi per la costruzione, al ricerca, la comunicazione e l'uso dei servizi del sistema distributivo.
Esempi di servizi sono: dispositivi quali le stampanti, i monitor, o i dischi; software quali applicazioni o programmi di utilità; le informazioni quali le basi di dati o gli archivi; e gli utenti del sistema.
I servizi, in un sistema Jini, comunicano tra loro usando un protocollo, che è un insieme di interfacce scritte nel linguaggio di programmazione Java.
I requisiti che ogni dispositivo deve avere per poter funzionare in una rete Jini sono: un processore, memoria volatile dove eseguire gli oggetti, memoria non volatile dove mantenere un interfaccia di dialogo (un oggetto che implementi il device driver), le classi di Jini e le informazione della rete (es. indirizzi dei lookup service).
Esempi di dispositivi possono essere una stampante di nuova concezione dotata di di JVM, qualche Mb di RAM e una EPROM, oppure una stampante attuale, collegata alla porta parallela del nostro PC, di cui sfrutta la memoria e le capacita' di calcolo.
Per questi ultimi dispositivi è in progetto la realizzazione di cosiddette "jini device bay", che ad un costo meno rilevante rispetto a quello di un pc ci daranno la possibilita' di collegare ad una rete Jini alcuni dispositivi a basso costo o di vecchia concezione.
Questa device bay con opportune modifiche potrà rendere alla rete il servizio di gateway verso e da altre architetture di rete.