Interview mit Arne Limburg zum Java Enterprise Summit

„Application Server und Microservices sind auf jeden Fall ein Widerspruch“

Hartmut Schlosser

Arne Limburg

Nächstes Jahr soll es endlich soweit sein: Java EE 8 wird aller Voraussicht nach das Licht der Welt erblicken. Neben Lambda-Expressions, HTTP 2.0 und Repeatable Annotations kommen weitere, dringend benötigte Features. Auf dem Java Enterprise Summit wird Trainer Arne Limburg (open knowledge GmbH) sich den unbekannten Funktionen von Java EE 7 widmen. Im Interview mit JAXenter spricht er über die kommende Version der Enterprise Edition, die Zukunft der Application Server und welche Neuerungen er sich für Java EE 9 wünschen würde.

JAXenter: Wir reden über Java EE – und da ist momentan ja die achte Auflage in Arbeit. Kannst du uns vorab ein kleines Update geben? Was ist in Java EE 8 geplant?

Arne Limburg: Die größte Neuerung ist sicherlich das MVC-Framework – ein action-basiertes Web-Framework als Ergänzung zu JSF. Bei so einem ersten Wurf darf man ja immer gespannt sein, wie viele und welche Features das Spezifikationskomitee in dem engen Zeitrahmen, der einem JSR ja immer gesetzt ist, einbringen kann. Auch eine weitere interessante und wichtige Spezifikation wird es in Java EE 8 zum ersten Mal geben: JSON-B, ein Standard, um JSON bidirektional in Java-Objekte zu mappen. Aber auch in den bestehenden Java-Technologien wird es in Java EE 8 interessante Neuerungen geben. So kommen in CDI 2.0 z.B. asynchrone Events.

JAXenter: Was ist für dich persönlich das Highlight in Java EE 8?

Arne Limburg: Für mich gibt es nicht das eine Feature oder die eine Spezifikation. Ob die Welt in Zeiten von Single-Page-Webanwendungen jetzt dringend ein weiteres action-basiertes Web-Framework braucht oder ob die asynchronen CDI-Events tatsächlich in der Praxis den großen Mehrwert bringen, darüber lässt sich streiten. Java EE 8 wird nicht der Knaller, der Java EE 6 war. Es reiht sich eher in Java EE 7 ein, was eine konsequente Weiterentwicklung war und das ist auch gut so. Java EE 8 setzt auf Bewährtes und bringt alles auf den aktuellen Stand. Es sind die Kleinigkeiten, die Java EE 8 interessant machen: JSON-B wird dringend benötigt, der neue Servlet-Standard bringt HTTP 2.0 und dank Java SE 8 als Zielplattform gibt es jetzt endlich auch in Java EE Repeatable Annotations und Lamda-Expressions.

JAXenter: Du sagst in deinem Abstract des Java Enterprise Summit, dass Java EE 7 auch einige kleine Perlen enthält, die einem seltener über den Weg laufen, aber dennoch nützlich sein können. Kannst du mal ein Beispiel nennen?

Arne Limburg: In Java EE 7 hat sich, unbemerkt von der großen Masse, zum Beispiel im Bereich Asynchronität eine Menge getan. Es gibt jetzt (endlich) einen Batch-Standard. Es ist mit den Concurrency-Utilities nun möglich, selbst asynchrone Prozesse zu starten und die JMS-Spec wurde entstaubt.

JAXenter: Die Architektur-Welt wird ja gerade vom Thema Microservices erschüttert – und einigen scheint Java EE darauf nur wenige Antworten geben zu können. Wie siehst du das? Ist Java EE und Microservice-Architektur ein Widerspruch?

Ich würde nicht sagen, dass Java EE und Microservices ein Widerspruch sind.

Arne Limburg: Die Java-EE-Technologien sind alle sehr gut für den Einsatz in einer Microservice-Architektur geeignet. Ein Java-EE-Application-Server als Ganzes macht in einer solchen Architektur allerdings weniger Sinn. Und das ist natürlich schon ein Problem für die Java-EE-Welt. Viele Kunden von uns setzen gerade aufgrund der Standardisierung auf einen Application Server, weil er Support und Investitionsschutz verspricht. Solchen Kunden ist die Microservice-Welt aktuell verschlossen. Da die Java-EE-Technologien aber, wie gesagt, sehr gut in die Microservice-Welt passen, würde ich nicht sagen, dass Java EE und Microservices ein Widerspruch sind. Full-Profile Application Server und Microservices sind aber auf jeden Fall ein Widerspruch.

JAXenter: In diesem Zusammenhang wird von manchen der gute alte Java Application Server gleich ganz aufs Abstellgleis gestellt– zugunsten von leichtgewichtigeren Ansätzen wie Spring Boot. Welche Zukunft siehst du für die Application Server? Wie müssen diese sich verändern, um noch zeitgemäß zu sein?

Arne Limburg: Es ist ja nicht erst seit der Microservice-Diskussion so, dass die meisten Application Server viel zu schwergewichtig sind. Die Lösung für dieses Problem wurde eigentlich bereits mit Java EE 6 präsentiert: Es sind die Profiles. Die Idee von Profiles ist ebenso simpel wie richtig. Für bestimmte Use Cases wird nur der benötigte Teil der Java-EE-Technologien genommen und in einen (dann leichtgewichtigeren) Server gesteckt. Nichts anderes machen auch Spring Boot und die vergleichbaren Ansätze. Der Unterschied bei Java EE ist, dass das Zusammenspiel der Technologien hier standardisiert und damit zukuftssicher ist. Ob ich dann die Anwendung in einem vorhandenen Container deploye oder ob die Anwendung ihren Container gleich mitbringt, ist dann eigentlich egal. Leider ist der Weg der Profiles bisher nicht konsequent weiter verfolgt worden. Neben dem Full-Profile gibt es nur ein weiteres, das Web-Profile.

Lesen Sie auch: EnterpriseTales: Des Microservice großer Bruder

JAXenter: Schauen wir einmal in die Zukunft – Java EE 8 ist veröffentlicht, Java EE 9 in Arbeit. Welche neuen Projekte/Features würdest du dir für Java EE 9 wünschen?

Arne Limburg: Um Java EE zukunftssicher und auch für Microservice-Architekturen interessant zu machen, müsste es mehr Profiles geben. Es fehlt auf jeden Fall ein Profile ohne Frontend. Der meistgenutzte Java-EE-Stack in einer Microservice-Architektur wird JAX-RS mit JSON-B, CDI und JPA werden (wenn man das Thema NoSQL einmal ausklammert). Für diesen Stack müsste es auf jeden Fall ein Profile geben, das würde dann auch für JavaScript-basierte SPAs passen. Ebenso fehlt ein Batch-Profile.
JBoss geht mit dem Projekt Wildfly-Swarm ja bereits den Weg der Modularisierung.
In einer solchen Strategie sehe ich die Zukunft des Application Servers und ich würde mir für Java EE 9 wünschen, dass sich in diese Richtung etwas tut.

limburg_arne_500px_350pxDipl.-Inf. Arne Limburg ist EnterpriseDeveloper bei der open knowledge GmbH in Oldenburg. Er verfügt über langjährige Erfahrungen als Entwickler, Architekt und Trainer im Enterprise-Umfeld (EJB und Spring Framework). In diesem Bereich führt er auch regelmäßig Workshops durch, u.a. zu den Themen Domain-driven Design, zum Java Persistence API und zum Testen. Darüber hinaus ist er im Open-Source-Bereich aktiv, unter anderem als Urheber und Projektleiter von JPA Security.

Verwandte Themen:

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Content-Stratege, IT-Redakteur, Storyteller – als Online-Teamlead bei S&S Media ist Hartmut Schlosser immer auf der Suche nach der Geschichte hinter der News. SEO und KPIs isst er zum Frühstück. Satt machen ihn kreative Aktionen, die den Leser bewegen. @hschlosser
Kommentare

Hinterlasse einen Kommentar

1 Kommentar auf "„Application Server und Microservices sind auf jeden Fall ein Widerspruch“"

avatar
400
  Subscribe  
Benachrichtige mich zu:
Philipp Hauer
Gast

„Ob ich dann die Anwendung in einem vorhandenen Container deploye oder ob die Anwendung ihren Container gleich mitbringt, ist dann eigentlich egal“
Dem stimme ich überhaupt nicht zu. Das ist ein großer Unterschied hinsichtlich Flexiblität der Technologien, Provisions- und Konfigurationsaufwand, Feingranulare Updates einzelner Dependencies, Unabhängigkeit und Schnelligkeit von Änderungen, Seiteneffekte beim Updates, Mehr Kontrolle über die Laufzeitumgebung, Reproduzierbarkeit, Weniger Koordination und Blockierung zwischen Dev und Ops etc…