W-JAX Countdown mit Bernd Müller

Java 1 – Java 8: Von der Einfachheit zur Komplexität

Bernd Müller

Java EE 7, JavaFX, Java 8 – es ist wieder Bewegung in den Java-Zug gekommen. Und das ist erst einmal ein Grund zur Freude, auch für den W-JAX Speaker Bernd Müller, Professor für Softwaretechnik an der Hochschule Ostfalia und Mitglied der JPA 2.1 Expert Group. Im W-JAX-Interview schlägt Müller aber auch kritische Töne an, denn die neuen Lambda-Ausdrücke aus Java 8 bringen eine größere Komplexität mit sich, die erst einmal beherrscht werden will.

JAXenter: Hallo Herr Müller. Was die Java Community derzeit wohl am meisten bewegt, ist das anstehende Release von Java 8 – im März 2014 soll es soweit sein. Wie bewerten Sie dieses Release? Worauf freuen Sie sich am meisten?

Bernd Müller: Wie wahrscheinlich die meisten Entwickler freue ich mich, dass Java weiterentwickelt wird. Die großen Punkte sind unter anderem sicher Lambdas und das Streaming-API.

Ich sehe das Ganze aber auch unter einer nicht ganz so rosigen Brille. Da ich häufig Schulungen für Unternehmen mache, aber auch an der Hochschule in der Programmierausbildung für Studienanfänger eingebunden bin, kann ich mir gut vorstellen, dass nicht alle Entwickler und Studenten sofort mit den durchaus recht komplexen Features von Java 8 zurechtkommen werden.

Aus der sehr einfachen Sprache Java in der Version 1.0 wurde mit inneren Klassen (1.1), Generics (5) und Lambdas (8) – um nur die großen Schritte zu nennen – eine durchaus sehr komplexe Sprache. Je komplexer eine Sprache ist, desto leichter ist es, schlecht lesbare, schlecht wartbare oder schlichtweg fehlerhafte Programme zu schreiben. Etwas, was wir sicher nicht wollen.

JAXenter: Nun wird es sicherlich noch einige Zeit brauchen, bis Java 8 in den Unternehmen Einzug halten wird. Dort dürfte jetzt aber Java EE 7 ein Thema werden. Anders als vorgesehen kam Java EE 7 schlussendlich ja ganz ohne Cloud-Specs aus. Ist es aus Ihrer Sicht tragisch gewesen, dass beispielsweise die Mandantenfähigkeit aus Java EE 7 ausgeschlossen wurde?

Bernd Müller: Ein klares Nein. Gerade durch Cloud- und Virtualisierungslösungen ist es extrem einfach, eine Mandantenfähigkeit zur erreichen, indem jeder Mandant seine eigene Instanz der Anwendung erhält.

JAXenter: Mandantenfähigkeit ist also auch jetzt schon zu haben. Sie beschreiben in Ihrem Talk auf der W-JAX proprietäre JPA-Erweiterungen für Hibernate, EclipseLink und OpenJPA. Sind das komplett unterschiedliche Ansätze oder ist es absehbar, dass sich hier ein gemeinsamer Nenner finden lässt?

Bernd Müller: Die Ansätze sind sehr unterschiedlich und meiner Meinung nach nicht zusammenzuführen. EclipseLink erscheint mir mit seiner Interpretation von Mandantenfähigkeit am weitesten fortgeschritten. Das Ganze macht einen sehr runden Eindruck.

JAXenter: Rechnen Sie damit, dass in Java EE 8 das Problem der Mandantenfähigkeit nochmals angegangen wird? Es gibt ja Leute, die meinen, dass es auch dann noch zu früh für einen Java-EE-Cloud-Standard wäre. Oder zu spät, da Amazon, Cloud Foundry, OpenStack, etc. längst das Rennen gemacht haben.

Bernd Müller: Ja, ich glaube, dass es noch einmal versucht wird. Außerdem darf man die von Ihnen genannten Ansätze nicht vermischen: Java EE besteht aus einer Menge von Spezifikationen. Die Cloud-Firmen bieten an, Systemen, die auf diesen Spezifikationen basieren, eine Ablaufumgebung bereitzustellen. Bestimmte Features, wie etwa Mandantenfähigkeit, können dann eventuell mit Java-EE-Mitteln oder, orthogonal, mit Features der Cloud realisiert werden.

JAXenter: Sie sind als Mitglied der JPA 2.1 Expert Group ja ein ausgesprochener JPA-Experte. Welche Entwicklungen gibt es derzeit beim JPA-Standard?

Bernd Müller: Ich würde davon ausgehen, dass NoSQL-Datenbanken ein spannendes Thema sein könnten. Wie mittlerweile praktisch alle JSRs versucht auch JPA nicht, universitäre oder Rocket-Science-Themen zu spezifizieren, sondern etablierte Themen auf ein gemeinsames Niveau zu heben. Da sowohl EclipseLink als auch Hibernate einige NoSQL-Datenbanken bereits jetzt unterstützen, erscheint es naheliegend, dies zu standardisieren.

JAXenter: Vielen Dank für diese Einschätzungen!

Nach seinem Studium der Informatik und der Promotion arbeitete Bernd Müller für die IBM und die HDI Informationssysteme und ist jetzt Professor für Softwaretechnik an der Ostfalia (Hochschule BS/WF). Bernd Müller ist Autor mehrerer Bücher zu den Themen JSF, JPA, und Seam. Auf der W-JAX 2013 ist Bernd Müller mit den Talks JSF und JPA: reicht das? und Hasta la vista Mandantenfähigkeit? vertreten.

Geschrieben von
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.