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
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!
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.
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.
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...
Vorhaben 2020
03.01.2020
Genau wie letztes Jahr habe ich auch dieses Jahr wieder ein "Listche" verfasst, um mir all die interessanten Vorhaben zu notieren, die ich mit mittlerem zeitlichen Horizont anzugehen gedenke.
Weiterlesen...Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Go GUI Gui Hardware Java Jupyter Komponenten Links Linux Markdown Markup Music Numerik OpenSource PKI-X.509-CA Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
In eigener Sache...
Weiterlesen...Nach dem ersten Teil von mir als interessant eingestufter Vorträge des Chaos Communication Congress 2024 hier nun die Nachlese
Weiterlesen...Nach dem So - wie auch im letzten Jahr: Meine Empfehlungen für Vorträge vom Chaos Communication Congress 2024 - vulgo: 38c3:
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.