Neue Möglichkeiten der Strukturierung

vorhergehende Artikel in: Java dWb+ Komponenten
06.05.2016

Zur Zeit noch nicht wirklich im Status einer Roadmap lege ich hier einige Überlegungen dar, die die Anwendung dWb+ und die Möglichkeiten, Workspaces zu strukturieren, betreffen.

Dataflow Workbench dWb+ Bisher existiert in der Anwendung dWb+ die Möglichkeit, Workspaces zu strukturieren, indem der Anwender Gruppen-Workspaces instantiiert, in denen dann Module platziert werden können - darunter natürlich auch andere Gruppen-Workspaces. Das erlaubt es, Workspaces top-down hierarchisch zu strukturieren.

Seitdem die Möglichkeit existiert, BeanContext-Services zu Workspaces hinzuzufügen, kann man mittels Gruppen-Workspaces auch eine Feature-Separierung erreichen: Solche Services stehen nur den Modulen zur Verfügung, die denselben Workspace bewohnen. Module, die in darin enthaltenen Gruppen-Workspaces wohnen, können darauf nicht zugreifen.

Eine weitere Möglichkeit, Workspaces zu gliedern sind Layer: Bisher wirken sie wie aus Graphikprogrammen gewohnt: Man kann die Sichtbarkeit eines Layers umschalten und alle ihm zugeordneten Module werden ebenfalls jeweils sichtbar oder unsichtbar.

Die Entscheidung, die ich jetzt treffen möchte ist, ob Layer zukünftig mehr sein sollen als nur Gruppierungselemente, die es erlauben, mehrere Module auf einmal sichtbar oder unsichtbar zu schalten? Eine Idee, die dabei zu Tage getreten ist, ist folgende: Jeder Layer hat eine konfigurierbare Option der Liste von Service-Interfaces entsprechend der Java Service Provider Infrastructure (SPI). Der Anwender kann auswählen, welche der Interfaces für diesen Layer aktiv sein sollen. Der Layer aktiviert dann die im Klassenpfad gefundenen Implementationen der aktiven Interfaces. Diese Service-Implementationen arbeiten nur mit den Modulen des betreffenden Layers zusammen. Man könnte diesen Mechanismus natürlich einfach in die Workspaces bzw. Gruppen-Workspaces einbauen und die Layer so einfach und "dumm" lassen, wie sie im Moment sind.

Ein weiterer Weg wäre der Wechsel weg von den generischen Layern hin zu spezialisierten - in diesem Fall müsste der Anwender beim Anlegen eines neuen Layers gleichzeitig nicht nur den Namen angebnen, sondern auch den Typ bestimmen.

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


Vor 5 Jahren hier im Blog

  • Fährnisse des Buildprozesses unter Windows

    17.07.2019

    Nachdem ich begonnen hatte, mich mit der Beschleunigung der Berechnung des Mandelbrot-Fraktals unter Zuhilfenahme der Shadereinheiten in Graphikkarten zu beschäftigen und erste Erfolge feiern konnte, wollte ich das mal auf einer richtigen Graphikkarte ausprobieren...

    Weiterlesen...

Neueste Artikel

  • Datenvalidierung UTF8 mit BiDi-Steuerzeichen (TrojanSource 2.0)

    Ich bin heute nochmal inspiriert worden, weiter über die Trojan Source Vulnerability nachzudenken. Meiner Meinung nach bestehen hier noch Probleme - speziell bei Nutzereingaben oder Daten, die über externe Schnittstellen ampfangen werden.

    Weiterlesen...
  • OpenStreetMap Navi als Docker-Container

    Ich habe die auf OpenStreetMap basierende OpenSource Navigationslösung Graphhopper in einen Docker-Container gepackt und als neuestes Mitglied in meinem Docker-Zoo willkommen geheißen.

    Weiterlesen...
  • SQL-Aggregatfunktionen in SQLite als BeanShell-Scripts

    Ich habe neulich über eine Möglichkeit berichtet, SQLite mittels der sQLshell und Beanshell-Skripten um SQL-Funktionen zu erweitern. In diesem Artikel versprach ich auch, über eine solche Möglichkeit für Aggregatfunktionen zu berichten.

    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, muß 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 GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.