Title: Arbeitskreis Software Technologien FH Konstanz 15. Oktober 1999
1Arbeitskreis Software Technologien FH Konstanz
15. Oktober 1999
JINI - Was ist das?
Domenico Lorenzelli Sun Java Center
Schweiz domenico.lorenzelli_at_sun.com
2Die Jini Vision
Connect Anything at Anytime Anywhere
3Agenda
4Was ist Jini?
- Eine Vision?
- Ein Produkt?
- Erst mal ne Demo!
5Was ist Jini?
DEF Jini ist eine Technologie zur Verteilung
von Diensten.
6Was ist Jini?
Jini erlaubt Maschinen und Programmen eine
Gemeinschaft zu bilden und ihre Ressourcen und
Fähigkeiten anderen Mitgliedern dieser
Gemeinschaft bereitzustellen oder die Ressourcen
und Fähigkeiten anderer Mitglieder zu nutzen.
7Was ist Jini?
Jini erlaubt Maschinen und Programmen eine
Gemeinschaft zu bilden und ihre Ressourcen und
Fähigkeiten anderen Mitgliedern dieser
Gemeinschaft bereitzustellen oder die Ressourcen
und Fähigkeiten anderer Mitglieder zu nutzen.
8Was ist Jini?
Jini erlaubt Maschinen und Programmen eine
Gemeinschaft zu bilden und ihre Ressourcen und
Fähigkeiten anderen Mitgliedern dieser
Gemeinschaft bereitzustellen oder die Ressourcen
und Fähigkeiten anderer Mitglieder zu nutzen.
9Spontanes Networking
- Gebrauch von Services
- ohne Konfiguration
- Ad hoc und sporadisch
- Automatische Komposition und Dekomposition eines
verteilten Gesamtsystems - Dynamisches Groupware Konzept
10Was ist Jini?
Jini erlaubt Maschinen und Programmen eine
Gemeinschaft zu bilden und ihre Ressourcen und
Fähigkeiten anderen Mitgliedern dieser
Gemeinschaft bereitzustellen oder die Ressourcen
und Fähigkeiten anderer Mitglieder zu nutzen.
11Das Konzept
- Infrastruktur
- Wie kommen Jini Dienste ins Netz?
- Discovery/Join, Lookup
- Verteilte Programmierung
- Wie interagieren Jini Dienste untereinander?
- Leasing, Events, Transaction APIs
- Implementierung von Diensten
- JavaSpaces, Transaction Manager
12Jini erweitert Java
Programming Model
Services
Infrastructure
JavaSpaces TX Manager
Lease
Discovery
Jini
Event
Lookup
Transaction
Extended Security
Java APIs
Enterprise Beans
Java VM
JNDI
Java
Beans ...
RMI
JTS ...
Security
13Jini Infrastrukur
The set of components that allow the building of
a Jini system
14Jini
Jini Lookup Service
Service Provider
Service Consumer
15Discovery
- Allows Jini services to
- Find and join a group of Jini devices
- Advertise its capabilities
- Provide any required software and attributes
Discovery solves the problem of finding the
place to start in an unknown network
16Discovery in Brief
2. Lookup Server betreiben Instanzen des Lookup
Services. Diese hören multicast requests von
entdeckenden Entitäten ab.
1. Ein neu hinzugekommenes Gerät macht sich
bekannt und hält Ausschau nach einem Service.
Entdeckende Entität
Lookup Server
3. Die entdeckende Entität sendet ein Multicast
Paket, das nach Referenzen zum lookup service
fragt.
4. Der Lookup Server ruft eine entfernte Methode
in dem exportierten Objekt der entdeckenden
Entität und übergibt dabei eine Referenz auf den
Lookup Service in Form eines Parameters
17Discovery
Jini Lookup Service
Service Provider
Service Consumer
18Discovery
Jini Lookup Service
Service Provider
Service Consumer
19Discovery
Jini Lookup Service
Discovery
Service Provider
Service Consumer
20Join
Jini Lookup Service
Join (Registrierung)
Service Provider
Service Consumer
21Service Item
Jini Lookup Service
22Nutzer geht ans Netz
Jini Lookup Service
Service Provider
Service Consumer
23Der Nutzer trägt sich ein
Jini Lookup Service
Discovery
Service Provider
Service Consumer
24Lookup
- Repository der verfügbaren Dienste
- Speichert Dienste in Form einer erweiterbaren
Menge von Java Objekten - ID, interface, GUIs, attributes, drivers ...
The lookup service binds the federation together
25Lookup
- Service Objekte werden zum Client runtergeladen
- Kann mit anderen Lookup services kooperieren
- Lookup Service Interface
- Registration, Access, Search, Removal
26Lookup
Jini Lookup Service
Lookup
Service Provider
Service Consumer
27Jini
Jini Lookup Service
Service Provider
Service Consumer
Interaktion
Beliebiges Protokoll
28Interface und Implementierung
Service Objekt
Service
Interface
Beliebiges Netzwerk Protokoll
Service Consumer
Service Provider
29Jini Sicherheitsmodell
- Erweiterung des bestehenden Java
Sicherheitsmodells um - Authentifizierung
- Integrität
- Vertraulichkeit
- Delegation
- Identität wird beim Aufruf einer entfernten
Methode mit übermittelt
30Die Hauptbestandteile im Bild
Netzwerk Services
Jini
31Jini Technology
32Jini Infrastructure
The set of components that allow the building of
a Jini system
33Jini Programmiermodell
The set of interfaces that allow the
construction of reliable services
34Lease
- Protokoll für das Ressourcenmanagement
- befristeter Kontrakt zwischen Objekten
- mit Verlängerungsoption
- Selbsttätige Netzabnahme nach Ablauf der
Leasingperiode.
35Event
- Erweitern das Java Event Modell auf verteilte
Dienste - Registrierung und Benachrichtigung
- Event Managers
36Event
- Verschiedene verteilte Protokolle stehen zur
Verfügung - push, pull, filter ...
- Events unterliegen auch dem Leasing Protokoll
37Transaction
- Koordination verteilter Objekte
- Unterstützt verschiedene Stufen der ACID
Properties - Nested Transactions
- Benutzt Leasing Protokoll
38Jini Services
Jini services provide simple solutions to
complex problems faced by developers in the
distributed environment
39JavaSpaces Service
- Verteilter, dynamischer Speicher für vernetzte
JVMs - Unterstützt die Idee der Federation auf der Ebene
der JVMs - Stellt eine einfache Methode der Objektpersistenz
bereit
40JavaSpaces Service
- Messaging
- async, store and forward, routed, filtered...
- JavaSpaces Service Interface
- Writing, Finding, Reading, Removing, Event
41Transaction Manager Service
- Benuztung von Transaktionsprotokollen auf
Objektebene - Light-weight
- Erweiterbar
42Jinis Vorteile
- Service provider
- Vereinfacht das Management der Dienstebereitstellu
ng - Produkteinsustrie
- öffent neue Marktchancen
- Konsumenten
- Vereinfacht das Verbinden von Gerätefunktionen
43Beispiel Dienste
- Example Dynamic, Value Add Services
- Jini Workgroup
- Jini Conference Room
- Mobile Computing
- Remote Services to Cellular
- Home Network
- Follow-me Newspaper
- Industrial Automation
44Jini Kit
- Grundlegende Dienste, die Jini benötigt um in
Gang zu kommen sind - Java 2
- Web Server
- RMI Activation Dämon
- Lookup Service
45Jini Partner
- Geräte Canon, Quantum, Seagate, Toshiba,
Ericcson, Epson, Oki, Mitsubishi - Software Applix, Axis, Computer Associates,
Datek, Encanto, Network Objects, Novell, Object
Design - Unternehmen FedEx, Siemens, Salomon Brothers,
Norwest Mortgage
46Jini Lizenzsituation
- Sun Community SourceLicensing
- Langer Rede kurzer Sinn
- Jini Quellcode ist frei verfügbar für Studium,
Forschung und internen Gebrauch - Für kommerzielle Produkte, die Jini Quellcode
beinhalten, muss eine Vereinbarung und eine
Brandinggebühr entrichtet werden. - Anwendungen basierend auf Jini benötigen keine
Quellcode-Lizenzvereinbarung
47Mehr Information
- Quellcode
- java.sun.com/products/jini
- Java Developer Connection
- Literatur
- www.jini.org
- java.sun.com/products/jini
- W. Keith Edwards Core Jini, Prentice Hall PTR,
1999
48Fragen und Antworten
Domenico Lorenzelli Sun Java Center
Schweiz domenico.lorenzelli_at_swiss.sun.com