Übersicht

Ausführliche, konkretere und weiterführende Informationen zur Roblet®-Technik gibt das Buch.

Wollen Sie lieber gleich etwas "hacken", so können Sie auch sofort zum Beispiel gehen.

Die Roblet®-Technik ist eine Client-Server-Architektur.  Die nachfolgende Abbildung zeigt links die Client-Seite und rechts die Server-Seite:

Auf beiden Seiten ist die Basis eine beliebige Kombination aus Java™, einem Betriebssystem und einer Hardware.  Dadurch sind extrem heterogene Landschaften überbrückbar.  Dieser Ansatz ermöglicht überhaupt erst die im Vorwort genannte Verteilungsfreiheit, Technikvereinheitlichung und Netzwerktransparenz.

Beide Seiten verwenden auf Java™-Ebene als weitere gemeinsame Basis das Roblet®-Development-Kit (RDK).  Es stellt sämtliche benötigte Software für jede Seite bereit.  Sie wird von uns betreut und ist frei verfügbar.

Server-Seite

Auf der rechten Seite, d.h. der Server-Seite der Client-Server-Architektur, ist der Roblet®-Server mit den ihm zugeordneten Modulen zu finden.  Dabei ist der Roblet®-Server bis auf Versionsunterschiede prinzipiell immer der gleiche.  Allein die zugeordneten Module entscheiden darüber, welche weitergehende Ressourcen der Roblet®-Server zusätzlich anbieten kann.  Ein Roblet®-Server stellt sicher, daß Roblets® kontrolliert in einer "Sandbox" laufen, um Fehlverhalten verhindern zu können, und ermöglicht trotzdem den Ressourcen-Zugriff über sogenannte Einheiten.  Auf diese Weise wird sichergestellt, daß der Server und die von ihm verwalteten Ressourcen nicht kompromitiert werden.  Der Server kann in diesem Zusammenhang auch sicherstellen, daß im Fehlerfalle eine Ressource wieder in einen passenden Zustand gebracht wird.  Ein Roblet®-Server kann mehrere Roblets® parallel ausführen.  Er kann jedes Roblet® jederzeit beenden, wobei das Roblet® hierbei keine Widerspruchsmöglichkeit hat.  Abgrenzungsmechanismen sorgen dafür, daß im Falle eines abrupten Abbrechens eines Roblets® keine Ressourcen oder Bibliotheksteile in einem undefinierten Zustand zurückgelassen werden.  Der Roblet®-Server ist Teil der Roblet®-Technik, wohingegen die Module separate Erweiterungen des Roblet®-Servers sind und von jedermann stammen können.

Klienten-Seite

Auf der linken Seite, der Klienten-Seite, wird von der Roblet®-Anwendung die Roblet®-Klient eingesetzt.  Diese Java™-Klasse ist das Tor zu allen Roblet®-Servern.  Ihr Funktionsumfang beschränkt sich nicht nur auf die Kontaktierung von Servern und das Verschicken, Überwachen und gegebenenfalls Beenden von Roblets®.  Stattdessen bietet sie umfangreiche weitere Funktionen, angefangen bei Hilfsmitteln zum Kommunizieren mit Roblets® bis hin zu Funktionen zum Auffinden ganz bestimmter Server mit Hilfe von Verzeichnissen.  Jegliche Datenübertragung wird im Falle eines Verbindungsabrisses automatisch und transparent wieder aufgebaut.  Der Klient kümmert sich um alle Aspekte des definierten Kommunikationsverhaltens.  Insgesamt ist der Klient der zentrale Baustein zur Verteilungsfreiheit und der Netzwerktransparenz der Roblet®-Technik.

Roblet®-Anwendung

Eine Roblet®-Anwendung erstreckt sich mit Hilfe ihrer Roblets® über beide Seiten der Client-Server-Architektur.  Roblets sind dabei einfach Anwendungsteile, die unter Kontrolle des Roblet®-Servers laufen und von der Anwendung zu diesem Zweck parametrisiert und mit Hilfe des Roblet®-Klienten zum Server geschickt wurden.  Das Schicken erfolgt in Form eines Methodenaufrufes, der erst zurückkommt, wenn der Haupt-Thread des Roblets® endet.  Dabei können auch Rückgabewerte des Roblets® zurückgegeben werden bzw. es werden Ausnahmen, die im Roblet® entstehen, an dieser Stelle (erneut) geworfen und können wie üblich bei Bedarf gefangen werden.  Es müssen keinerlei separate "technikbrechende" Deployment-Mechanismen bemüht werden.  Ein Roblet® läuft unabhängig von der sendenden Anwendung und läuft auch weiter, wenn die Kommunikation zur Anwendung unter- oder abgebrochen ist.  Eine Anwendung kann mehrere verschiedene Roblets® gleichzeitig zu einem oder mehreren Servern schicken und parallel laufen lassen.  Die Roblets® sind dabei das Hauptwerkzeug zur spezifischen Funktionalitätsverteilung und haben letztlich die große Verteilungsfreiheit zur Folge. 

Ferne Instanzen

Zusätzlich zur Möglichkeit, daß ein Roblet® quasi am Ende Werte zurückgibt, können auch zwischendurch Daten mit seiner Anwendung ausgetauscht werden.  Dabei kann eine Roblet®-Anwendung vermittelt durch den Roblet®-Klienten mit Hilfe der fernen Instanzen transparent auf Methoden speziell bestimmter Objekt-Instanzen zugreifen, die auf der jeweils anderen Seite existieren1.  Für die zugreifende Seite macht sich nur eine mögliche Zeitverzögerung bemerkbar - der Rest geschieht automatisch2.  Diese Form der Kommunikation ist bidirektional und in jede Richtung können parallel beliebig viele Datenströme fließen.


1  ähnlich wie bei RPC, Corba, RMI oder Hessian, jedoch einfacher in der Handhabung
2  und anders als bei RPC, Corba, RMI und Hessian brauchen auch die nötigen Schnittstellen und deren Implementierungen nicht separat kompiliert oder gar manuell versioniert und verteilt werden
powered by genRob®erzeugt am 25.07.2010 mit
genRob®-genSite 3.4