Remoting

vorhergehende Artikel in: Java dWb+ Komponenten
11.11.2013

Die neueste Version der Anwendung dWb+ ist um eine neue Kategorie von Modulen erweitert worden: War der Focus der letzten Erweiterung noch die bessere Unterstützung für Rapid Prototyping, geht es diesmal um verteiltes Rechnen.

Dataflow Workbench dWb+ Bisher war es bereits möglich, die Abarbeitung größerer Workspaces auf mehrere Rechner zu verteilen. Allerdings mussten dafür spezielle Module zur Kopplung geschrieben werden. Außerdem musste auf jedem beteiligten Rechner eine Instanz von dWb+ ausgeführt werden. Die Tatsache, daß die Workspaces in besonderen Fällen in einer bestimmten Reihenfolge in die einzelnen dWb+ Instanzen geladen werden mussten, machte das Ganze noch komplizierter.

Die neueste Version von dWb+ adressiert dieses Problem: Bei der Remoting genannten Verteilung von Aufgaben an unterschiedliche Rechner wird nur noch eine dWb+ Instanz benötigt. Es gibt auch nur noch einen Workspace, der auf dieser dWb+ Instanz ausgeführt wird.

dWb+ benutzt Remote Method Invocation oder kurz RMI um eine noch nie erreichte Flexibilität beim verteilten Rechnen mit einer enorm vereinfachten Bedienung zu vereinen. Der Workspace wird so aufgebaut wie bisher. Möchte man die Berechnung des Algorithmus auf mehrere Rechner verteilen, startet man auf diesen Rechenknoten je eine kleine Anwendung.

Im laufenden Betrieb kann man dann im Workspace auf der Steuerinstanz durch simple Auswahl eines Menüpunktes die Funktionalität eines Modules verlagern - von Rechner zu Rechner ohne den Workspace anhalten zu müssen oder sonst irgendeine besondere Aktion durchführen zu müssen. Lediglich der Entwickler muß einige simple Randbedingungen einhalten, damit sein neues Modul mit dieser Fähigkeit ausgestattet werden kann.

Die Rechenknoten müssen nicht aufwändig aktualisiert werden, wenn neue Module in den Werkzeugkasten einziehen. Sie erhalten die Informationen über die Funktionalität, die sie bereitstellen sollen, zur Laufzeit von der Steuerinstanz. Zur Zeit funktioniert das System so, daß ein Modul in der Steuerinstanz zunächst ganz normal lokal ausgeführt wird. Soll es auf einen Rechenknoten verlagert werden, sendet es zunächst den dafür nötigen Code auf diesen Rechenknoten. Anschließend signalisiert dWb+ dem Rechenknoten, daß dieser die Berechnung ausführen soll. Nach Abschluß der Berechnung sendet der Rechenknoten das Ergebnis zurück an das initiierende Modul, das es an die nachfolgenden Verarbeitungseinheiten weiterleitet.

Zur Zeit wird daran gearbeitet, ein Plugin zur Arbeit mit Remote Modulen zu erstellen, das es erlaubt, zur Laufzeit neue Remoting Server hinzuzufügen oder welche zu entfernen. Weitere projektierte Fähigkeiten sind das zum Beispiel das gesammelte Verlagern aller Module von einem Server auf einen anderen.

Aktualisierung vom 11. November 2013

Remoting Server können nun über das Kontextmenü des Workspace verwaltet werden: es ist möglich, neue Remoting Server zur Laufzeit hinzuzufügen und auch nicht mehr benötigte zu entfernen.

Eine andere Erweiterung, die die Arbeit mit Remote Modulen vereinfachen soll, ist die Möglichkeit, alle Remote Module in einem Workspace hervorzuheben, die auf demselben Remoting Server liegen.

Artikel, die hierher verlinken

Verschiedene Interaktionsmetaphern in dWb+

18.09.2016

Nach Fertigstellung einiger Module, die die Kommunikation zwischen Komponenten auf Dateiebene unterstützen, werde ich versuchen, verschiedene Interaktionsmetaphern bzw. Kommunikationsstrategien aus anderen datenflussgetriebenen Systemen in dWb+ nachzuvollziehen, um die Effizienz der Implementierung und die Vor- und Nachteile ihrer Anwendung diskutieren zu können.

Neue Versionen dWb+, sQLshell

28.01.2014

Neue Versionen der Anwendungen sQlshell und dWb+ sind verfügbar

Scripted Remote Module

19.12.2013

Nach den letzten beiden Funktionserweiterungen für dWb+ wurde versucht, den eingeschlagenen Weg weiter zu vereinfachen: Skripted Module sollten das Remoting weiter vereinfachen. Dabei trat ein interessantes Problem auf, das gleich seine eigene Lösung mitbrachte...

Aktualisierung dWb+

13.12.2013

Es war wieder einmal an der Zeit, der Benutzeroberfläche von dWb+ eine Frischzellenkur zu verpassen.

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Multi-User-WebDAV, Docker, GitHub

    17.11.2019

    Nachdem ich mich in letzter Zeit verstärkt mit Docker und dem zugehörigen Ökosystem beschäftige, habe ich begonnen, verschiedenste Dienste in Containern zu testen um zu sehen, ob in manchen Fällen LXC oder KVM nicht doch die bessere Wahl wäre...

    Weiterlesen...

Neueste Artikel

  • Migration der Webseite und aller OpenSource Projekte

    In eigener Sache...

    Weiterlesen...
  • AutoHideToolbar für Java Swing

    Ich habe eine neue Java Swing Komponente erstellt: Es handelt sich um einen Wrapper für von JToolBar abgeleitete Klassen, die die Werkzeugleiste minimieren und sie nur dann einblenden, wenn der Mauszeiger über ihnen schwebt.

    Weiterlesen...
  • Integration von EBMap4D in die sQLshell

    Ich habe bereits in einem früheren Artikel über meine ersten Erfolge berichtet, der sQLshell auf Basis des bestehenden Codes aus dem Projekt EBMap4D eine bessere Integration für Geo-Daten zu spendieren und entsprechende Abfragen, bzw. deren Ergebnisse auf einer Kartenansicht zu visualisieren.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.