Modularisierung Modul-Container

vorhergehende Artikel in: Java dWb+ Komponenten
06.03.2016

Hier stelle ich die nächsten Entwicklungsziele für dWb+ vor. Diesmal steht eine größere Architekturänderung zur weiteren Modularisierung an.

Dataflow Workbench dWb+ Hierbei geht es um eine größere Architekturänderung, die es erlauben soll, Modulaspekte geziehlt zur Modellierung des Contexts zu nutzen: Anders als zur Zeit wird der Modul-Container lediglich die Module aufnehmen und entsprechend instantiieren. Sie werden nicht mehr zum BeanContext hinzugefügt. Statt dessen wird der Context beim Hinzufügen und Entfernen Signale an einen neu zu schaffenden Manager senden, der dann andere Context-Implementationen über diese Tatasachen informiert. Der erste dieser neu zu schaffenden Contexts wird eine Umsetzung des BeanContext sein, so dasss anschließend wieder dieselbe Funktionalität erreicht sein wird, wie aktuell in der alten Architektur. Der zweite Context soll dann Module, die einen entsprechenden Aspekt aufweisen, über eine REST-Schnittstelle steuerbar machen. Diese geplante Architekturänderung führte zu tiefergehenden Gedanken zur konkreten Umsetzung, die sich in folgenden Aspekten widerspiegeln: Sollten die verfügbaren Services zur Laufzeit umkonfiguriert werden können? Beispiele dafür wären unter anderem die Möglichkeit, spezielle Services hinzufügen oder entfernen zu können. Alternativ dazu (und sicher einfacher umzusetzen) wäre es, die Menge der Context-Implementierungen fest an den Container zu binden. Dann müsste man spezielle Group-Workspaces oder auch Layer definieren, die über die an sie gebundenen Context-Implementierungen spezielle Mehrwerte anbieten. Daher kam auch die Idee, die Einbindung von Modulen feiner zu steuern, als über bloßes Hinzufügen und Entfernen: Setzt man mit den Context-Implementierungen bei den Layern auf, kann das Hinzufügen eines Moduls zum Container noch gar nichts Besonderes bewirken - erst wenn man es innerhalb des Containers in einen Layer verschiebt, der spzielle Context-Implementationen anbietet, würde ein entsprechender Mehrwert aktiviert. Dazu müsste sich man von dem Konzept des Layers als reine Gliederungshilfe, wie es jetzt besteht weg hin zu einer komplexeren Sichtweise bewegen. Die flexibelste aber auch komplexeste Variante wäre eine Kombination aus beiden: Die Layer verwalten eine Sammlung von Context-Implementationen, deren Umfang und Inhalt jederzeit geändert werden kann.

Ein weiterer Aspekt führte zunächst ein wenig mäandernd zu folgenden zwei Fragestellungen: Welche Context-Implementierung ist am schnellsten und problemlosesten auszuprobieren. Dadurch kam ich auf die Idee, eine solche anzubieten, die beliebige Module hernimmt und sie als MBeans über JMX exponieren kann. Dadurch kam mir die Idee, wie man JavaBeans als MBeans exponieren könnte, ohne das MBean-Interface zu implementieren (JavaBeans, über die man keine Quelltexthoheit hat beispielsweise). Und die zweite Frage, die sich mir stellte und über die ich bisher noch nie gelesen hatte: Wenn JavaBeans als MBeans exponiert werden können - wird dann die BeanInfo honoriert? Zwei Gedanken, denen ich noch vor der Umsetzung des eigentlich hier beschriebenen Ziels nachjagen wollte...

Artikel, die hierher verlinken

Pojos als MBeans

12.03.2016

Wie in einem früheren Artikel bereits ausgeführt, fragte ich mich, ob beliebige Module als MBeans über JMX exponiert werden können, ohne das MBean-Interface zu implementieren Hier stelle ich die Ergebnisse der Untersuchungen vor.

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


Vor 5 Jahren hier im Blog

  • 8TB Raid5 mit Raspberry Pi

    25.04.2020

    Ich habe mir neulich überlegt, ob man einen Pi als Raid benutzen könnte - aber nicht mit dem ewig gleichen Setup mit 4 USB-Sticks...

    Weiterlesen...

Neueste Artikel

  • Watch David Byrne Lead a Massive Choir in Singing David Bowie’s “Heroes”

    Durch die Seite Open Culture bin ich auf diesen spektakulären Auftritt aufmerksam geworden:

    Weiterlesen
  • Zufälliges Füllen der Ebene

    Ich fand neulich einen sehr interessanten Artikel Zum Thema der algorithmischen Erzeugung von dekorativen (obwohl - das liegt im Auge des Betrachters) Bildern.

    Weiterlesen
  • Sicherheit beim Fernzugang per SSH

    Ich habe vor einiger Zeit bereits zwei Vorträge gestaltet und dafür meine Ideen zur unkomplizierten Erstellung von Präsentationen genutzt - nun ist ein weiterer hinzugekommen.

    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.