jini - was ist das? domenico lorenzelli sun java center schweiz [email protected]...

40
JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz [email protected] Arbeitskreis Software Technologien FH Konstanz 15. Oktober 1999

Upload: otthild-gehlen

Post on 05-Apr-2015

102 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

JINI - Was ist das?

Domenico LorenzelliSun Java Center Schweiz

[email protected]

Arbeitskreis Software Technologien FH Konstanz 15. Oktober 1999

Page 2: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Die Jini Vision

Connect Anythingat Anytime

Anywhere

Page 3: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Agenda

• Was ist Jini?

• Konzepte

Page 4: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Was ist Jini?

• Eine Vision?

• Ein Produkt?

• Erst mal `ne Demo!

Page 5: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Was ist Jini?

DEF: Jini ist eine Technologie zur Verteilung von Diensten.

Page 6: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

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.

Page 7: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

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.

Page 8: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

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.

Page 9: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

„Spontanes Networking“

• Gebrauch von Services • ohne Konfiguration• Ad hoc und sporadisch• Automatische Komposition und

Dekomposition eines verteilten Gesamtsystems

• Dynamisches Groupware Konzept

Page 10: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

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.

Page 11: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

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

Page 12: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Java RMI

Java VM

Security

Java API’s

Beans...

Enterprise Beans

JNDI

JTS...

Jini erweitert Java

InfrastructureProgramming

ModelServices

LeaseDiscovery

EventLookup

Transaction

JavaSpaces

TX Manager

Extended Security

Jini

Page 13: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Jini Infrastrukur

“The set of components that allow the building of a Jini system”

Java

InfrastructureProgramming

ModelServices

RMI

Java VM

Security

LeaseDiscovery

EventLookup

Transaction

JavaSpaces

TX Manager

Java API’s

Beans...

Enterprise Beans

JNDI

JTS...

Extended Security

Jini

Page 14: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Jini

Jini LookupService

Service Provider

Service Consumer

Page 15: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Discovery

Jini LookupService

Service Provider

Service Consumer

Page 16: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Discovery

Jini LookupService

Service Provider

Service Consumer

Page 17: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Discovery

Jini LookupService

Service Provider

Service Consumer

Discovery

Page 18: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Join

Jini LookupService

Service Provider

Service Consumer

Join (Registrierung)

Page 19: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Service Item

Jini LookupService

Attribute

Service Item

Attribute

Attribute

Proxy

Attribute

Service Item

Attribute

Attribute

Proxy

Attribute

Service Item

Attribute

Attribute

Proxy

Page 20: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Nutzer geht ans Netz

Jini LookupService

Service Provider

Service Consumer

Page 21: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Der Nutzer trägt sich ein

Jini LookupService

Service Provider

Service Consumer

Discovery

Page 22: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Lookup

Jini LookupService

Service Provider

Service Consumer

Lookup

Page 23: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Jini

Jini LookupService

Service Provider

Service Consumer

Interaktion

Beliebiges Protokoll

Page 24: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Interface und Implementierung

ServiceObjekt

Interface

BeliebigesNetzwerkProtokoll

ServiceConsumer

ServiceProvider

Service

Page 25: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Jini Sicherheitsmodell

• Erweiterung des bestehenden Java Sicherheitsmodells um:• Authentifizierung• Integrität• Vertraulichkeit• Delegation

• Identität wird beim Aufruf einer entfernten Methode mit übermittelt

Page 26: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Jini Technology

Java

InfrastructureProgramming

ModelServices

RMI

Java VM

Security

LeaseDiscovery

EventLookup

Transaction

JavaSpaces

TX Manager

Java API’s

Beans...

Enterprise Beans

JNDI

JTS...

Extended Security

Jini

Page 27: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Jini Infrastructure

“The set of components that allow the building of a Jini system”

Java

InfrastructureProgramming

ModelServices

RMI

Java VM

Security

LeaseDiscovery

EventLookup

Transaction

JavaSpaces

TX Manager

Java API’s

Beans...

Enterprise Beans

JNDI

JTS...

Extended Security

Jini

Page 28: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Jini Programmiermodell

“The set of interfaces that allow the construction of reliable services”

Java

InfrastructureProgramming

ModelServices

RMI

Java VM

Security

LeaseDiscovery

EventLookup

Transaction

JavaSpaces

TX Manager

Java API’s

Beans...

Enterprise Beans

JNDI

JTS...

Extended Security

Jini

Page 29: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Lease

• Protokoll für das Ressourcenmanagement

• befristeter Kontrakt zwischen Objekten

• mit Verlängerungsoption

• Selbsttätige Netzabnahme nach

Ablauf der Leasingperiode.

Page 30: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Event

• Erweitern das Java Event Modell auf verteilte Dienste

• Registrierung und Benachrichtigung

• Event Managers

Page 31: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Event

• Verschiedene verteilte Protokolle stehen zur Verfügung• push, pull, filter ...

• Events unterliegen auch dem Leasing Protokoll

Page 32: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Transaction

• Koordination verteilter Objekte

• Unterstützt verschiedene

Stufen der ACID Properties

• Nested Transactions

• Benutzt Leasing Protokoll

Page 33: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Jini Services

“Jini services provide simple solutions to complex problems faced by developers in the distributed environment”

Java

InfrastructureProgramming

ModelServices

RMI

Java VM

Security

LeaseDiscovery

EventLookup

Transaction

JavaSpaces

TX Manager

Java API’s

Beans...

Enterprise Beans

JNDI

JTS...

Extended Security

Jini

Page 34: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

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

Page 35: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

JavaSpaces Service

• Messaging• async, store and forward, routed,

filtered...

• JavaSpaces Service Interface• Writing, Finding, Reading, Removing,

Event

Page 36: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Transaction Manager Service

• Benuztung von Transaktionsprotokollen auf Objektebene

• Light-weight

• Erweiterbar

Page 37: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Jini Kit

• Grundlegende Dienste, die Jini benötigt um in Gang zu kommen sind:• Java 2• Web Server• RMI Activation Dämon• Lookup Service

Page 38: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

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

Page 39: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

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

Page 40: JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com Arbeitskreis Software Technologien FH Konstanz 15. Oktober

Domenico LorenzelliSun Java Center Schweiz

[email protected]

Fragen und Antworten