04.10.2013 Aufrufe

Strategien zur automatischen Objektmigration auf Grundlage ...

Strategien zur automatischen Objektmigration auf Grundlage ...

Strategien zur automatischen Objektmigration auf Grundlage ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

KAPITEL 2 VERWANDTE ARBEITEN<br />

festlegt, wann und wohin das Objekt migriert werden soll. Zur Auswahl stehen<br />

call-by-move und call-by-visit. Mit call-by-move wird das Objekt <strong>auf</strong> den<br />

angegebenen Rechner migriert und behält seine neue Platzierung bei. Mit callby-visit<br />

behält das Objekt nur solange die neue Platzierung bei, bis der Zugriff<br />

abgeschlossen ist. Nach dem Zugriff migriert es zu seiner Ursprungsplatzierung<br />

<strong>zur</strong>ück [JLHB1988].<br />

TILEVICH und SMANAGDAKIS heben hervor, dass das Erstellen einer Migrationsstrategie<br />

keine triviale Aufgabe ist. Eine falsche Wahl hat eine ineffektive und<br />

inkorrekte verteilte Anwendung <strong>zur</strong> Folge [TS2002a].<br />

Neben der Migrationsstrategie muss der Benutzer auch die Initialplatzierung<br />

aller Objekte bei ihrer Klassifikation festlegen. Instanzen von anchored<br />

Klassen werden einmal platziert und behalten ihre Platzierung während der<br />

gesamten L<strong>auf</strong>zeit der verteilten Anwendung bei. Auf diese Weise legt der<br />

Benutzer in JOchestra die Verteilungsstrategie fest.<br />

Bei der Transformation werden durch den JOchestra-Transformator Stellvertreter-Klassen<br />

im Sourcecode-Format und Remote-Klassen in Bytecode erzeugt.<br />

Die Stellvertreter-Klassen werden zum Abschluss der Transformation<br />

übersetzt. Die Original-Klassen werden so transformiert, dass sie nicht mehr<br />

die Klasse java.lang.Object sondern die Klasse java.rmi.server.<br />

UniCastRemoteObject erweitern. Dies ist notwendig, da die transformierte<br />

Anwendung über RMI kommuniziert.<br />

2.2 Migrationstrategien<br />

2.2.1 REPLIXA<br />

In [JGK1999, Jäg1999] stellen JÄGER, GOLM und KLEINÖDER ein <strong>auf</strong> Reflektion<br />

[Mae1987] basierendes Framework names RepliXa <strong>zur</strong> transparenten und<br />

anpassbaren Replikation von Objekten vor. RepliXa verfügt <strong>zur</strong> Zeit nur über<br />

ein Grundsystem, das noch vieler Erweiterungen bedarf [Jäg1999]. Jedoch<br />

zeigt es für die Entwicklung von Replikationsstrategien einige interessante<br />

Aspekte <strong>auf</strong>.<br />

Das wesentliche Anliegen der Entwicklung war es, für Programmierer ein<br />

einfaches, transparentes, anpassbares und offenes System <strong>zur</strong> Objektreplikation<br />

zu entwickeln. Hierbei bedeuten<br />

einfach: eine einheitliche und kleine Schnittstelle <strong>zur</strong> Nutzung der Dienste<br />

anzubieten,<br />

transparent: Objekte entwickeln zu können, ohne Kenntnis darüber, ob sie<br />

in der Zukunft repliziert werden,<br />

anpassbar: die Ausrichtung für neue Ausführungsumgebungen ein<strong>zur</strong>ichten<br />

und neue Replikationsprotokolle möglichst orthogonal <strong>zur</strong> Anwendung<br />

hinzufügen zu können,<br />

offen: neue Replikationsstrategien problemlos integrieren zu können.<br />

8

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!