Wie bereits angekündigt werde ich in den nächsten Wochen erläutern, wie man im Java-Ökosystem RMI sicher betrieben kann.

Wie ich bereits geschildert habe existieren zwei verschiedene Methoden, Remote Objects in der Registry zu finden - einer ist, die API der Registry direkt zu benutzen, der andere, über JNDI daruf zuzugreifen. Es stellt sich heraus, dass JNDI nur funktioniert, wenn die Registry TLS nicht benutzt. Damit ist zwar die Benutzungsphase immer noch abgesichert, nicht jedoch die Initialisierungsphase des Registrierens und des Lookup der Objekte. Man kann - abhängig von den jeweiligen individuellen Anforderungen mit dieser Einschränkung leben - besser wäre es aber, auf den ausschließlichen Gebrauch der direkten API zu setzen und Teile bestehender Anwendungen, die immer noch JNDI benutzen auf diese API umzustellen.

Aus diesem Grund habe ich ein altes OpenSource-Projekt wiederbelebt. Dieses Projekt ermöglicht es - kurz gesagt - einen Compute-Server zu erstellen, der auf verschiedene Nodes deployt werden kann. Dann kann ein Anwender von einer zentralen Anwendung aus Compute-Aufträge auf diese Nodes verschoben werden, die auf den Nodes ausgeführt werden und deren Ergebnisse an die Anwendung zurückgemeldet werden. Die neue Qualität hier ist, dass das Feature von RMI, benötigte Klassen nachladen zu können, bis zum Exzess ausgereizt wird: Auf den Compute-Nodes existieren erst einmal gar keine anwendungsspezifische Klassen - sie werden durch die Anwendung, die einen der früher bechriebenen HTTPS-Server für Bytecode realisiert, zur Verfügung gestellt.

Dadurch realisiert man extrem flexible Compute Nodes, die in der Lage sind, ohne Änderung an der Node oder ihrer Software neue Funktionalitäten zu supporten - immer dann, wenn die eigentliche Anwendung neue Features unterstützt. Dadurch muss nur noch die Anwendung gewartet und aktualisiert werden - Nach jedem Update kann die Anwendung neue Funktionalitäten auf die Compute-Nodes auslagern, deren Software muss dafür jedoch nicht angepasst werden.

Allerdings war es notwendig, die API dazu zu ändern und von der Benutzung von JNDI weg zur Benutzung der direkten API der Registry hin zu ändern. Diese neue Version steht nun in einem entsprechenden Codeberg-Repository zur Verfügung. Eine erste Anwendung, die diese Version nutzt ist dWb+ ab Version 4.4pre2 build 11256.

Genaueres zu den Hintergründen ist in diesem Artikel zu finden.

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


Vor 5 Jahren hier im Blog

  • Exception-Handling in functional Java

    09.05.2021

    Eine kleine Linksammlung mit interessanten Einsichten (auch historisch) zum Thema Fehlerbehandlung (insbesondere Exceptions) bei der funktionalen Programmierung mit Java

    Weiterlesen

Neueste Artikel

  • Asymmetrische Kryptographie

    Ich habe mich mit der Idee schon länger getragen: Nochmal einen Rundumschlag zu asymmetrischer Kryptographie zu machen. Dabei werde ich mich auf Demonstrationen der einzelnen Konzepte und Operationen mit Beispielcode konzentrieren und zu jedem der vorgestellten Konzepte mehr oder weniger ausführlich bezüglich der Einsatzszenarien und Vor- und Nachteile Stellung beziehen

    Weiterlesen
  • LinkCollections 2026 IV

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

    Weiterlesen
  • Papers Linkdump 2026 I

    Meine letzte Liste interessanter Open-Access oder Preprint-Papers ist schon so lange her, dass ich das nicht mehr guten Gewissens eine Serie nennen kann - also sagen wir: Tradition. Dieses Mal ohne Kommentare von mir - einfach nur als Links...

    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.