EJBs als Module in dWb+

vorhergehende Artikel in: Java dWb+
08.07.2016

Bereits seit längerer Zeit plante ich, dWb+ mit Java Enterprise Edition zu koppeln. Im letzten Monat gelang es mir: Nachdem ich dafür gesorgt hatte, dass das System mit Queues in JBoss Wildfly 10 kommunizieren konnte, habe ich mich der Verwendung von Enterprise JavaBeans als Module zugewandt

Dataflow Workbench dWb+ Im Geiste der Enterprise Integration, die ich hier schon verschiedentlich zum Thema machte, plante ich schon seit längerem, Enterprise JavaBeans als Module in dWb+ zu integrieren. Anfangs dachte ich darüber nach, diese ohne Entwicklungstätigkeit transparent als Module einsetzen zu können. Ich wollte dafür einen Browser ähnlich dem im Management Interface von Wildfly schaffen, aus dem man sich eine der deployten Beans wählen können sollte, die dann vollautomatisch zu einem Modul umgewandelt werden sollte. Nachdem ich einige zaghafte Versuche dahingehend unternommen hatte, habe ich diese Idee schnell wieder ad acta gelegt.

Im zweiten Anlauf habe ich das Herangehen geändert: Hat man ein Remote Interface einer EJB, kann man darauf aufbauend ein Modul entwickeln, das dieses Remote Interface kapselt. Die Dafür bereitgestellte Basisklasse kümmert sich um die Bereitstellung des Proxies und die Kommunikation mit dem Applikationsserver. Letztlich handelt es sich bei dem zu schaffenden Wrapper-Modul um ein ganz normales Modul für dWb+, das statt der Implementierung der gewünschten Funktionalität deren Durchführung einfach an die EJB delegiert.

Dieser Mechanismus wurde mit Stateful und Stateless SessionBeans ausprobiert. Des weiteren wurde die korrekte Funktion von Container Managed Persistence ebenfalls validiert. Die Tests wurden mittels leicht angepasster Beispiele von Wildfly 10 durchgeführt. Die Datenbank, die für die Persistierung von DAOs benutzt wurde, war eine PostgreSQL-Installation in der aktuellsten Version.

Wer sich jetzt überlegt, dass dieses beschriebene Feature keinen Mehrwert bringt - wegen der Aufwände der Einrichtung einer Entwicklungsumgebung nur wegen des Wunsches, eine EJB zu nutzen, der sei an folgendes erinnert: dWb+ verfügt über die Möglichkeit, auch Modulquelltexte als Module zu nutzen. Die Anwendung nutzt dazu BeanShell und interpretiert die Quelltexte des Moduls zur Laufzeit. Wer also nur mal schnell eine EJB aufrufen möchte, der kann das Modul schreiben und es über diesen Weg direkt nutzen, ohne den Compiler zu bemühen!

Artikel, die hierher verlinken

Aktualisierung Smack v4.2.1

02.12.2017

Ich habe eine der von mir benutzten Softwarekomponenten aktualisiert: die Jabber-Bibliothek Smack. Damit ist auch eine neue Version von dWb+ verfügbar.

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.

Permissions zum Zugriff auf JBoss-EJBs

06.08.2016

Ich habe bereits darüber berichtet, dass die remote Nutzung von Queues auf einem JBoss-Server nicht einfach ist, wenn man einen SecurityManager benutzen möchte. Hier der Nachtrag zum Thema remot Nutzung von EJBs im selben Szenario...

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


Vor 5 Jahren hier im Blog

  • Certstream, InfluxDB, Grafana und Netflix

    16.04.2019

    Nachdem ich vor kurzem über mein erstes Spielen mit dem certstream berichtete, habe ich weitere Experimente gemacht und die Daten zur besseren Auswertung in eine InfluxDB gepackt, um sie mit Grafana untersuchen zu können.

    Weiterlesen...

Neueste Artikel

  • Die sQLshell ist nun cloudnative!

    Die sQLshell hat eine weitere Integration erfahren - obwohl ich eigentlich selber nicht viel dazu tun musste: Es existiert ein Projekt/Produkt namens steampipe, dessen Slogan ist select * from cloud; - Im Prinzip eine Wrapperschicht um diverse (laut Eigenwerbung mehr als 140) (cloud) data sources.

    Weiterlesen...
  • LinkCollections 2024 III

    Nach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet von 2024 folgt hier gleich die nächste:

    Weiterlesen...
  • Funktionen mit mehreren Rückgabewerten in Java

    Da ich seit nunmehr einem Jahr bei meinem neeun Arbeitgeber beschäftigt und damit seit ungefähr derselben Zeit für Geld mit Python arbeite, haben sich gewisse Antipathien gegenüber Python vertieft (ich kann mit typlosen Sprachen einfach nicht umgehen) - aber auch einige meiner Gründe, Python zu lieben sind ebenso stärker geworden. Einer davon ist der Fakt, dass eine Methode in Python mehr als einen Wert zurückgeben kann.

    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.