JINI - Was ist das? Domenico Lorenzelli Sun Java Center Schweiz domenico.lorenzelli@sun.com...

Preview:

Citation preview

JINI - Was ist das?

Domenico LorenzelliSun Java Center Schweiz

domenico.lorenzelli@sun.com

Arbeitskreis Software Technologien FH Konstanz 15. Oktober 1999

Die Jini Vision

Connect Anythingat 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

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

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

Jini

Jini LookupService

Service Provider

Service Consumer

Discovery

Jini LookupService

Service Provider

Service Consumer

Discovery

Jini LookupService

Service Provider

Service Consumer

Discovery

Jini LookupService

Service Provider

Service Consumer

Discovery

Join

Jini LookupService

Service Provider

Service Consumer

Join (Registrierung)

Service Item

Jini LookupService

Attribute

Service Item

Attribute

Attribute

Proxy

Attribute

Service Item

Attribute

Attribute

Proxy

Attribute

Service Item

Attribute

Attribute

Proxy

Nutzer geht ans Netz

Jini LookupService

Service Provider

Service Consumer

Der Nutzer trägt sich ein

Jini LookupService

Service Provider

Service Consumer

Discovery

Lookup

Jini LookupService

Service Provider

Service Consumer

Lookup

Jini

Jini LookupService

Service Provider

Service Consumer

Interaktion

Beliebiges Protokoll

Interface und Implementierung

ServiceObjekt

Interface

BeliebigesNetzwerkProtokoll

ServiceConsumer

ServiceProvider

Service

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

Java

InfrastructureProgramming

ModelServices

RMI

Java VM

Security

LeaseDiscovery

EventLookup

Transaction

JavaSpaces

TX Manager

Java API’s

Beans...

Enterprise Beans

JNDI

JTS...

Extended Security

Jini

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

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

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

“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

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

Domenico LorenzelliSun Java Center Schweiz

domenico.lorenzelli@swiss.sun.com

Fragen und Antworten

Recommended