Jini-Java Intelligent Network Infrastructure

Werbung
Jini-Beispiel
für Übung zu Verteilter System
Yiyu Ma, Liying Wang, Rui Dong, Fang Shen
Überblick
Einführung
Konzept & Eigenschaft
Archtecture
Anwendung
Implementierung
Ablauf des Protokoll
UML Diagramm
DEMO
Fazit
Vorteil
Nachteil
Jini--Java Intelligent Network Infrastructure
Jini wurde von Sun Microsystems am Janura 1999
basierend auf der Programmiersprache Java
entwickelt, um möglichst einfache verschiedene
Komponenten zu verbinden.
Verschiedene Programme
Externe Hardware
3
Jini--Eigenschaften
Die Eigenschaften von Jini: dynamische,
kooperative, spontan vernetzte Systeme
Plug-and-Play von Clients und Services
User kann einfach die Informationen auf der irgendeinen
Position des Netzwerks bekommen
Eliminieren den Unterschied von Handware und Software
Jini ist ein Framework zum Programmieren von verteilten
Anwendungen
4
Jini--Architecktur
Die Jini-Architektur spezifiziert, wie sich Clients und Dienste in einem
Netzwerk finden und zusammenarbeiten können, um gestellte Aufgaben
zu lösen.
Jini--Anwendungen
Anwendungen:
Datenbank
Mobile
Ubiquitous Computing
COTS (Commercial-Off-The-Shelf)
Legacy
6
Ablauf des Protokoll
Lookup service
Client
Service Provider
Service Object
7
Ablauf des Protokoll
Lookup service
Register & Lease Service
Client
Service Provider
Service Object
8
Ablauf des Protokoll
Lookup service
Registry of Entries
Register & Lease Service
Service Object
Client
Service Provider
Service Object
9
Ablauf des Protokoll
Lookup service
Registry of Entries
request service
Register & Lease Service
Service Object
Client
Service Provider
Service Object
10
Ablauf des Protokoll
Lookup service
Registry of Entries
request service
Register & Lease Service
Service Object
Service Provider
Client
return service object
Service Object
Service Object
11
UML: ServiceProvider
LookupDiscovery
DiscoveryLi stener
<<I nterface>>
discov ered()
addDiscov eryListener(Discov eryListener)
<<Use>>
ServiceProvider
dis cover : LookupDiscovery
item : ServiceI tem
dis covery
Joi n
Constructor()
discov ered()
ServiceItem
<<Use>>
attributeSets : Entry
serv ice : Datatable
serv iceID : Serv iceID
Constructor()
<<Use>>
Datatable
12
UML: ServiceItem
java.io.Serializable
<<Interface>>
ServiceID
Datatable
Entry
<<Interface>>
<<Use>>
ServiceItem
<<Use>>
attribu teSet s : Ent ry
service : Datatable
serviceID : Serv iceID
<<Use>>
C onst ructor( )
Abstr actEntr y
ServiceInfo
name : String
version : String
others : String
N ame
others
13
Constructor of ServiceProvider
ServiceProvider
: ServiceProvider
discovery
: LookupDiscovery
Constructor
addDi scoveryListener(this)
14
descovered
ServiceProvider
: ServiceProvider
item
: ServiceItem
reg ister
: ServiceRegistrar
reg
leasemanager
: ServiceRegistration : LeaseRenewalManag er
discovered(register)
1 item:=Constructor()
2(*) reg:=register(item,Lease.FOREVER) : ServiceRegistration
3 lease:=getLease() : Lease
renewUntil(lease,Lease.FOREVER)
15
UML: Client
Cli ent
connect() : Datatable
Client
: Client
lookup
: LookupLocator
temp
: ServiceT emplate
register
: ServiceRegistrar
connect
lookup:= Constructor("jini://192.168.0.1")
register: getR egistrar() : ServiceR egistrar
temp:= Constructor(Datatable)
Datatable: lookup(temp) : Object
16
DEMO
17
Fazit
Vorteile
Für Anwender , JINI anbietet
Resource durch Netzwerk gemeinsam benutzen können.
Standort Transparent zwischen Anwender und Services.
kritisch für “ laufende “ Leute
Für Verwalter, JINI besorgt
Skalierbarkeit
programmierenmodell, zum des Services zu registrieren
und zu entdecken
Verwendbarkeit von Services während der verteilten
Einstellung
18
Fazit
Erben die Vorteile von Java.
z.B Plattformunabhängigkeit, Sicherheit usw.
Für Jini-Dienste müssen keine Treiber installiert
werden;
Selbst Reperatur
Selbst Replizierung
19
Fazit
Nachteile
JINI ist nicht unabhängig von
Programmiersprachen. Jede müssen Java und RMI
kennen und JVM besitzen.
Vor allem Kleingeräte wären dem hohen
Ressourcenverbrauch kaum gewachsen.
20
Herunterladen