The On-Line Service Imperative - akswt.uni

Werbung
Arbeitskreis Software Technologien
FH Konstanz 15. Oktober 1999
JINI - Was ist das?
Domenico Lorenzelli
Sun Java Center Schweiz
[email protected]
Die Jini Vision
Connect Anything
at Anytime
Anywhere
Agenda
• Was ist Jini?
• Konzepte
Was ist Jini?
• Eine Vision?
• Ein Produkt?
• Erst mal `ne Demo!
Was ist Jini?
DEF: Jini ist eine Technologie
zur Verteilung von Diensten.
Was 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.
Was 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.
Was 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.
„Spontanes Networking“
• Gebrauch von Services
• ohne Konfiguration
• Ad hoc und sporadisch
• Automatische Komposition und
Dekomposition eines verteilten
Gesamtsystems
• Dynamisches Groupware
Konzept
Was 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.
Das 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
Jini erweitert Java
Programming
Model
Services
Discovery
Lookup
Extended Security
Lease
JavaSpaces
Event
TX Manager
Java VM
Java API’s
RMI
Security
Beans
...
Infrastructure
Jini
Java
Transaction
Enterprise Beans
JNDI
JTS
...
Jini Infrastrukur
Programming
Model
Services
Discovery
Lookup
Extended Security
Lease
JavaSpaces
TX Manager
Java VM
Java API’s
RMI
Security
Beans
...
Infrastructure
Jini
Java
Event
Transaction
Enterprise Beans
JNDI
JTS
...
“The set of components that allow the building of a Jini system”
Jini
Jini Lookup
Service
Service
Provider
Service
Consumer
Discovery
Jini Lookup
Service
Service
Provider
Service
Consumer
Discovery
Jini Lookup
Service
Service
Provider
Service
Consumer
Discovery
Jini Lookup
Service
Discovery
Service
Provider
Service
Consumer
Join
Jini Lookup
Service
Join (Registrierung)
Service
Provider
Service
Consumer
Service Item
Jini Lookup
Service
Service Item
Service Item
Proxy
Attribute
Attribute
Attribute
Service Item
Proxy
Proxy
Attribute
Attribute
Attribute
Attribute
Attribute
Attribute
Nutzer geht ans Netz
Jini Lookup
Service
Service
Provider
Service
Consumer
Der Nutzer trägt sich ein
Jini Lookup
Service
Discovery
Service
Provider
Service
Consumer
Lookup
Jini Lookup
Service
Lookup
Service
Provider
Service
Consumer
Jini
Jini Lookup
Service
Interaktion
Beliebiges Protokoll
Service
Provider
Service
Consumer
Interface
Interface und
Implementierung
Service
Service
Objekt
Service
Consumer
Beliebiges
Netzwerk
Protokoll
Service
Provider
Jini Sicherheitsmodell
• Erweiterung des bestehenden
Java Sicherheitsmodells um:
•
•
•
•
Authentifizierung
Integrität
Vertraulichkeit
Delegation
• Identität wird beim Aufruf einer
entfernten Methode mit
übermittelt
Jini Technology
Programming
Model
Services
Discovery
Lookup
Extended Security
Lease
JavaSpaces
Event
TX Manager
Java VM
Java API’s
RMI
Security
Beans
...
Infrastructure
Jini
Java
Transaction
Enterprise Beans
JNDI
JTS
...
Jini Infrastructure
Programming
Model
Services
Discovery
Lookup
Extended Security
Lease
JavaSpaces
TX Manager
Java VM
Java API’s
RMI
Security
Beans
...
Infrastructure
Jini
Java
Event
Transaction
Enterprise Beans
JNDI
JTS
...
“The set of components that allow the building of a Jini system”
Jini Programmiermodell
Infrastructure
Jini
Java
Programming
Model
Discovery
Lookup
Extended Security
Lease
Java VM
Java API’s
RMI
Security
Beans
...
Event
Services
JavaSpaces
TX Manager
Transaction
Enterprise Beans
JNDI
JTS
...
“The set of interfaces that allow the construction of reliable services”
Lease
• Protokoll für das
Ressourcenmanagement
• befristeter Kontrakt zwischen Objekten
• mit Verlängerungsoption
• Selbsttätige Netzabnahme nach
Ablauf der Leasingperiode.
Event
• Erweitern das Java Event Modell
auf verteilte Dienste
• Registrierung und
Benachrichtigung
• Event Managers
Event
• Verschiedene verteilte Protokolle
stehen zur Verfügung
• push, pull, filter ...
• Events unterliegen auch dem
Leasing Protokoll
Transaction
• Koordination verteilter
Objekte
• Unterstützt verschiedene
Stufen der ACID Properties
• Nested Transactions
• Benutzt Leasing Protokoll
Jini Services
Programming
Model
Services
Discovery
Lookup
Extended Security
Lease
JavaSpaces
TX Manager
Java VM
Java API’s
RMI
Security
Beans
...
Infrastructure
Jini
Java
Event
Transaction
Enterprise Beans
JNDI
JTS
...
“Jini services provide simple solutions to complex problems
faced by developers in the distributed environment”
JavaSpaces 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
JavaSpaces Service
• Messaging
• async, store and forward, routed,
filtered...
• JavaSpaces Service Interface
• Writing, Finding, Reading, Removing,
Event
Transaction Manager Service
• Benuztung von
Transaktionsprotokollen auf
Objektebene
• Light-weight
• Erweiterbar
Jini Kit
• Grundlegende Dienste, die Jini
benötigt um in Gang zu kommen
sind:
•
•
•
•
Java 2
Web Server
RMI Activation Dämon
Lookup Service
Jini 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
Mehr 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
Fragen und Antworten
Domenico Lorenzelli
Sun Java Center Schweiz
[email protected]
Herunterladen