© Excellent backgrounds/Shutterstock.com
Kolumne: EnterpriseTales

Kolumne: EnterpriseTales


Seien wir einmal ehrlich: Eigentlich haben wir uns doch mittlerweile alle damit abgefunden, dass die Ära Application Server langsam aber sicher ihrem Ende entgegengeht. Wohin man schaut, gibt es mehr oder minder leichtgewichtige Microservices. Das Aus für den klassischen Java EE Application Server.

Video: Java EE meets Microservice

Es liegt in der Natur der Dinge, dass ein Microservice selten allein daherkommt. Stattdessen hat er meist noch den einen oder anderen Microservice als Freund im Gepäck. Sicherlich können wir Java-EE-Entwickler uns noch vorstellen, dass einige wenige dieser Kollegen innerhalb eines Java EE Application Servers – via getrennter Domains – erfolgreich deployt und betrieben werden. Spätestens bei einer Anzahl von 100 oder mehr hört allerdings bei den meisten die Fantasie auf.

Das eben beschriebene Dilemma haben natürlich auch die führenden Application-Server-Hersteller in Form von rückgängigen Neuinstallationen erkannt und – wie in [1] – versucht zu korrigieren: egal ob WildFly Swarm, TomEE Shades, Payara Micro oder KumuluzEE. Die Idee ist bei allen Ansätzen ähnlich und trivial. Wenn der Application Server zu groß ist – und dies ist selbst bei der in Java EE 6 neu hinzugekommenen, leichtgewichtig(er) en Variante des Web Profiles [2] der Fall – wird der Server halt auf Diät gesetzt. Statt also einen Microservice in einem vollwertigen Application Server zu deployen, bundelt man einfach diejenigen, und eben nur diese, Bestandteile des Servers, die man zwingend für den Microservice benötigt, mit dem Code des Service selbst und verpackt das Ganze zu einem schmalen JAR. Als Resultat erhält man eine lauffähige Variante des Service inklusive Bootstrapping und Self-contained Runtime. Schade nur, dass man genau an dieser Stelle den Standard verlässt, für den man sich vor Jahren bewusst entschieden hat.

Zugegeben, die bisher entstandenen Lösungen haben ihren Charme. Denn die Entwickler können auch bei den Micro-Java-Enterprise-Containern weiter auf ihr bewährtes Programmiermodell und die zugehörigen APIs setzen. Spätestens bei der programmatischen Konfiguration der Runtime und dem zugehörigen Bootstrapping endet allerdings die Kompatibilität. Ein Austausch der innerhalb des Microservice eingebundenen Serverkomponenten ist somit nicht so ohne Weiteres möglich.

Java EE MicroProfile: Ein neuer Community-driven Standard

Was aber wäre, wenn man genau an diesem Schwachpunkt ansetzen und ein Minimalset an APIs inklusive Bootstrapping-Mechanismus...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang