29
Programming with JXTA Programming with JXTA Hello World Hello World Peer discovery Peer discovery Peer Group discovery Peer Group discovery Creating Peer group Creating Peer group Joining a Peer Group Joining a Peer Group

Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

Embed Size (px)

Citation preview

Page 1: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

Programming with JXTAProgramming with JXTA

Hello WorldHello World

Peer discoveryPeer discovery

Peer Group discoveryPeer Group discovery

Creating Peer groupCreating Peer group

Joining a Peer GroupJoining a Peer Group

Page 2: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

JXTA: Hello WorldJXTA: Hello World

RequirementRequirement Java SDK (Java SDK (http://java.sun.com)[jdk1.6.0_03])[jdk1.6.0_03] JXTA (JXTA (http://download.jxta.org/index.html)

[JXTA 2.4.1] [JXTA 2.4.1] Esempi (Esempi (

http://www.dia.unisa.it/%7Ecordasco/teaching/ASDAD0607/jxta_devguide.zip

) [JXTA 2.3]) [JXTA 2.3]

Page 3: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

JXTA: Hello WorldJXTA: Hello World

Compilare usando JXTA javac -classpath ..\lib\jxta.jar; $[FileName]

Lanciare un applicazione java -classpath ..\lib\jxta.jar;..\lib\bcprov-jdk14.jar;..\lib\log4j.jar;. $

[CurClass]

Page 4: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

JXTA: Hello WorldJXTA: Hello Worldimport net.jxta.peergroup.PeerGroup;import net.jxta.peergroup.PeerGroupFactory;import net.jxta.exception.PeerGroupException;public class SimpleJxtaApp { // This is a simple example of how an application would

start jxtastatic PeerGroup netPeerGroup = null;public static void main(String args[]) {

System.out.println("Starting JXTA ....");SimpleJxtaApp myapp = new SimpleJxtaApp();myapp.startJxta();System.out.println("Hello from JXTA group " + netPeerGroup.getPeerGroupName() );System.out.println(" Group ID = " + netPeerGroup.getPeerGroupID().toString());System.out.println(" Peer name = " + netPeerGroup.getPeerName());System.out.println(" Peer ID = " + netPeerGroup.getPeerID().toString());

System.out.println( "Good Bye ....");myapp.netPeerGroup.stopApp();System.exit(0);

}private void startJxta() {

try { // create and start the default JXTA NetPeerGroupnetPeerGroup = PeerGroupFactory.newNetPeerGroup();

} catch (PeerGroupException e) { // could not instantiate the group, print the stack and exit

System.out.println("fatal error : group creation failure");e.printStackTrace();

System.exit(1);}

}}

Page 5: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

JXTA: ConfigurazioneJXTA: Configurazione

Page 6: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

JXTA: ConfigurazioneJXTA: Configurazione

Page 7: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

JXTA: ConfigurazioneJXTA: Configurazione

Page 8: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

DemoDemo

Page 9: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

Programming with JXTAProgramming with JXTA

Peer discoveryPeer discovery Gli advertisement vengono mantenuti nella cache di Gli advertisement vengono mantenuti nella cache di

JXTA (./.jxta/cm)JXTA (./.jxta/cm) In particolare per ogni gruppo sarà presente una In particolare per ogni gruppo sarà presente una

sottodirectorysottodirectory ./.jxta/cm/jxta-NetGroup./.jxta/cm/jxta-NetGroup

./.jxta/cm/group-ID./.jxta/cm/group-ID Le directory contengono tre tipi di fileLe directory contengono tre tipi di file

*.idx file, indice*.idx file, indice

record-offset.tbl, entry listrecord-offset.tbl, entry list

advertisement.tbl, advertisementadvertisement.tbl, advertisement

Page 10: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

Programming with JXTAProgramming with JXTA

Peer discoveryPeer discovery Per leggere i messaggi dalla cache si usa il metodo Per leggere i messaggi dalla cache si usa il metodo

getLocalAdvertisement();getLocalAdvertisement(); Per scrivere nella cache si usa invece il metodo Per scrivere nella cache si usa invece il metodo

getRemoteAdvertisement(); (il quale invia un getRemoteAdvertisement(); (il quale invia un messaggio di discovery e attende la risposta).messaggio di discovery e attende la risposta).

Come si ottiene la rispostaCome si ottiene la rispostaSi può aspettare e successivamente controllare la propria Si può aspettare e successivamente controllare la propria cache (getLocalAdvertisement())cache (getLocalAdvertisement())

Si può utilizzare un Discovery Listner (utilizzato nella demo).Si può utilizzare un Discovery Listner (utilizzato nella demo).

Page 11: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

Programming with JXTAProgramming with JXTA

Per instanziare JXTA

Per discovery

Page 12: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

Programming with JXTAProgramming with JXTA

destinazione

tipo

Attributi della query

Threshold

Page 13: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

Programming with JXTAProgramming with JXTA

Page 14: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

DemoDemo

Peer DiscoveryPeer Discovery

Page 15: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

Programming with JXTAProgramming with JXTA

Group discoveryGroup discovery Simile al discovery dei peerSimile al discovery dei peer In questa demo l’operazione di discovery non In questa demo l’operazione di discovery non

parte finchè il nodo non è connesso ad parte finchè il nodo non è connesso ad almeno un rendezvousalmeno un rendezvous

Creazione gruppi usando la shellCreazione gruppi usando la shell

Page 16: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

Programming with JXTAProgramming with JXTA

Page 17: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

Programming with JXTAProgramming with JXTA

Page 18: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

Programming with JXTAProgramming with JXTA

Page 19: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

DemoDemo

Group DiscoveryGroup Discovery

Page 20: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

Programming with JXTAProgramming with JXTA

Creating Peer Group and publishing Creating Peer Group and publishing advertisementadvertisement Stampa dei gruppi presenti nella cacheStampa dei gruppi presenti nella cache Creazione del gruppoCreazione del gruppo

IdIdImplAdvImplAdvNome Nome DescrizioneDescrizione

Pubblicare un gruppoPubblicare un grupporemotePublish(adv)remotePublish(adv)

Page 21: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

Programming with JXTAProgramming with JXTA

Page 22: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

Programming with JXTAProgramming with JXTA

Page 23: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

Programming with JXTAProgramming with JXTA

Page 24: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

DemoDemo

Creating Peer Group and publishing Creating Peer Group and publishing advertisementadvertisement

Page 25: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

Programming with JXTAProgramming with JXTA

Joining a peer groupJoining a peer group

Page 26: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

Programming with JXTAProgramming with JXTA

Page 27: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

Programming with JXTAProgramming with JXTA

Page 28: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

Programming with JXTAProgramming with JXTA

Page 29: Programming with JXTA Hello World Peer discovery Peer Group discovery Creating Peer group Joining a Peer Group

DemoDemo

Joining a peer groupJoining a peer group