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

  • 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.