Suche
Meistgeklickt im vergangenen Jahr

Die 10 populärsten JAXenter-Interviews 2016

Kypriani Sinaris

© Shutterstock.com / roobcio

Einer unserer guten Vorsätze für das Jahr 2016 war, die Community noch stärker auf JAXenter zu präsentieren und Interviews mit aktiven Mitgliedern zu führen. Nun ist ein Jahr vergangen und wir können auf zahlreiche spannende Gespräche zurückblicken. Ihnen wird wohl die große Java-EE-Diskussion nicht entgangen sein, und auch unsere Interviews zum Thema Microservices haben viele Leser angezogen. Am Ende schafft es aber ein anderes Thema auf Platz 1 …

Platz 10: “Entweder entsteht ein Java EE Fork oder Oracle lenkt doch noch ein”

Den Anfang unserer Jahres-Top-10 macht dieses Interview mit Markus Karg. Denn im Frühling fand sich eine Gruppe von Community-Vertretern zusammen, die vor allem eins verband: ihr Frust über Oracles Umgang mit Java EE. Unter dem Namen „Java EE Guardians“ organisierten sie sich, mit dem Ziel, Java EE voran zu bringen.

kargDa Oracle augenscheinlich keinerlei Interesse mehr daran zeigt, die Enterprise Edition (sowohl die API als auch deren Referenzimplementierung) in nennenswerter Form selbst weiterzuentwickeln, muss die Community sich organisieren, um dies selbst zu tun. Die Java EE Guardians sind eine Initiative von Hilfswilligen, welche meines Erachtens – gewollt oder ungewollt – darauf hinauslaufen wird, dass entweder eine parallele API entsteht (d.h. ein Java EE Fork), oder Oracle letztendlich doch noch einlenkt und jemandem “den Schlüssel” (d. h. Markenrechte und TCK-Quellen) aushändigt, sodass die Community die Enterprise Edition pflegen kann. Die Chance für letzteres ist vermutlich gleich null, wie Oracle zu anderen Gelegenheiten (MySQL vs MariaDB, Hudson vs Jenkins, OpenSolaris vs Illumos, OpenOffice vs LibreOffice) zur Genüge demonstriert hat.

Platz 9: “JSON Schema entwickelt sich zum de-facto Standard für die Definition von JSON-basierten Daten im Web”

JSON Schemata, was steckt eigentlich dahinter? Das haben wir Maximilian Koegel gefragt, General Manager des Unternehmens EclipseSource Munich. In diesem Interview geht er auf das Tooling ein und gibt einen Ausblick auf die Zukunft der Technologie.

maximilian_koegelMit JSON Schema lassen sich JSON Daten beispielsweise Client-seitig mit JavaScript und Server-seitig mit Java, basierend auf der gleichen Definition, ohne zusätzlichen Implementierungsaufwand konsistent validieren. Außerdem unterstützt JSON Schema die Beschreibung von APIs und wird genau dazu beispielsweise auch von Swagger und OpenAPI verwendet.

Platz 8: “SQL ist der ursprüngliche Microservice”

Auf unserem Platz 8 ist ein Interview zum Thema SQL. SQL? Darüber will doch keiner was hören, das können doch schon alle, oder? Pustekuchen! Lukas Eder möchte Sie hier vom Gegenteil überzeugen. Laut seiner Einschätzung nutzen Entwickler im Java-Umfeld außerdem nur etwa zehn Prozent der Features ihrer Datenbank. Sind Entwickler, die mit anderen Programmiersprachen arbeiten da effizienter bzw. weiter?

lukas-eder2Sie sind nicht “weiter”. Sie sind nur der Meinung, dass es eine gute Idee ist, Business-Logik von A nach B zu schieben. Da sie heute gerade am liebsten Java schreiben, schieben sie die Logik halt dorthin. Früher schrieb man am liebsten Stored Procedures, drum war die Logik in der Datenbank. Wir sehen übrigens auch den Trend, dass Entwickler morgen am liebsten JavaScript schreiben werden, drum verschieben sie nun wieder alles ins UI. Geholfen hat das dem Endkunden noch gar nicht.

Ich richte mich wiederum an die Pragmatiker unter meinen Zuhörern, denen diese ganze Rumschieberei zu bunt wird, und die schlicht nicht wussten, dass die DB soviel kann. Wenn sie es dann aber wissen, werden sie echten Mehrwert schaffen können.

Platz 7: “Angular 2 ist nicht mehr ‘nur’ ein Framework, sondern entwickelt sich zur Plattform”

Entwickler, die im Web unterwegs sind, kommen an Angular nicht vorbei. Das Framework gehört zu den Top-Themen des letzten Jahres hier auf JAXenter. Im Interview mit Manfred Steyer sprachen wir über progressive Web-Anwendungen und welche Rolle Angular 2 bei deren Entwicklung spielt.

steyer_manfred_0Progressive Web Apps (PWA) kombinieren die Vorteile des Webs mit den Vorteilen nativer Anwendungen. Das bedeutet, dass sie einerseits wie klassische Web-Anwendungen ohne Installation auf jeder Plattform funktionieren und andererseits wie ihre nativen Gegenstücke selbst bei einer schlechten oder fehlenden Datenverbindung blitzschnell Nutzen bieten. Möglich machen das unter anderem Browser-Technologien, die die Entwicklung offlinefähiger Web-Anwendungen erlauben. Man spricht bei deren Nutzung auch von “progressive enhancement”. Damit ist gemeint, dass die Anwendung diese Technologien zum Verbessern des Benutzererlebnisses auch dann einsetzt und zumindest den Kern ihrer Funktionalität bietet, wenn der Browser der Wahl sie nicht unterstützt.

Platz 6: “Angular 2 & Co. meistern besser, woran Java scheiterte: Write once, run anywhere”

Und schon wieder Angular! Auf unserem Platz sechs beantwortet Christian Weyer unter anderem die Frage, warum das Framework auch bei der Cross-Plattform-Entwicklung besser geeignet ist als andere Frameworks:

weyer_christianAus technischer Sicht ist Angular 2 sehr stark an komponentenbasierte Frameworks aus der klassischen Desktop-Entwicklung angelehnt mit der Zielsetzung, eine hohe Produktivität zu erreichen. In Angular 2 beginnt alles mit Komponenten und es zieht sich wie ein roter Faden durch die Programmierung durch. Das Erzwingen der Nutzung und Einhaltung gewisser erprobter Design-Patterns (bspw. Dependency Injection, Auslagerung von Logik in Services, eventbasierte Kommunikation) erachte ich als große Hilfe für Entwickler. Bei der Datenarchitektur andererseits bietet Angular 2 einen Spielraum: man kann klassischerweise nach dem MVC- oder MVVM-Pattern arbeiten oder aber mehr in Richtung CQRS/Redux gehen.

Der strategische Aspekt liegt auf der Hand: Hinter Angular 2 steht Google mit einem großen Team aus Festangestellten und einer riesigen Community mit hunderten Contributors rund um das Open-Source-Projekt. Angular 2 wird auch intern bei Google eingesetzt, wodurch sich vor allem für die Stabilität und die gewünschte Performance zur Laufzeit viel Feedback aus wirklich großen Projekten ergibt.

Platz 5: “Ich bin keinesfalls der Meinung, dass man immer Microservices einsetzen sollte”

Microservices oder Software-Monolithen – über diese Architekturfrage wurde auch im vergangenen Jahr kontrovers diskutiert. Wir haben Stefan Tilkov, Principal Consultant bei der innoQ, um einen Beitrag zur Debatte gebeten. Auf Platz fünf unseres Jahres-Rankings nimmt er auch das Konzept des Domain-driven Design noch mal unter die Lupe. Dessen Umsetzung ist in der Praxis manchmal nicht so einfach. Woran das liegen kann?

tilkov_stefanWie immer ist das eine Mischung aus unzureichender Ausbildung und dem verständlichen Festhalten am vermeintlich Notwendigen. So können sich viele Architekten und Entwickler nicht vorstellen, wie die unweigerlich bei DDD entstehende Redundanz eine gute Sache sein soll. Wenn man sich aber ein konkretes Modell vornimmt, stellt man man recht schnell fest, dass die ach so zentralen Strukturen nur aus Bequemlichkeit zentral sind und sich häufig sehr gut in weitgehend disjunkte Bestandteile zerlegen lassen. Hat man das ein paar Mal gemacht, fragt man sich, wieso man nicht von vornherein so vorgegangen ist. In Kurzform: Man muss es einfach einmal “durchziehen”, die Erfahrung hat oft große Konsequenzen.

Platz 4: “Schätzen ist wie eine Droge – lassen wir dieses dumme Spiel!”

Aufwandsschätzungen für Software-Projekte geraten regelmäßig aus dem Ruder. Doch warum liegen Entwickler mit ihren Einschätzungen, wie lange sie für ein bestimmtes Feature brauchen, so oft daneben? In welchem Rahmen sind solche Schätzungen überhaupt sinnvoll? Zu diesem Thema hat Matthias Bohlen, Speaker bei der vergangenen W-JAX, seine Erfahrungen mit uns geteilt:

Matthias Bohlen JAX 2015 KanbanSchätzen macht aus Unwissen eine Zukunft. Diese ist wie eine Droge. Wir sind süchtig nach Zukunft und versuchen, die Gegenwart so zu verbiegen, dass sie der vorgesehenen Zukunft entspricht. Lassen wir dieses dumme Spiel und holen wir aus der Gegenwart mit guten Leuten aus Zeit und Geld das Maximum heraus. In meiner Session zeige ich Euch ganz genau den Weg zum Entzug von der “Schätzdroge”.

Platz 3: “Früher galt Spring als proprietär – nun steht die Java-Welt Kopf, weil Oracle Java EE das Interesse entzieht.”

Auf das Siegertreppchen hat es dieses Interview mit Oliver Gierke geschafft. Nachdem sich eine Verzögerung für Java EE ankündigte, stellte sich für viele gleich die Frage, was diese Verzögerung für Spring bedeuten würde.

Oliver Gierke

Der Hauptaspekt, der an Java EE 8 für uns relevant ist, ist das Servlet 4.0 API mit seiner geplanten Unterstützung für HTTP 2.0. Da eigentlich abzusehen ist, dass der JSR nicht fertig wird, bis wir Spring 5 final veröffentlichen wollen, gibt es zur Zeit intensive Gespräche mit den Teams der wichtigsten Servletcontainer (Tomcat, Jetty, Undertow), um deren Support für HTTP 2.0 erst einmal nativ zu unterstützen.

Sollte Servlet 4.0 dann irgendwann kommen, reichen wir die Unterstützung dafür sicher in einem Minorrelease nach. In Anbetracht der aktuellen Unsicherheit über Releasedaten haben wir uns entschieden, diesen Weg zu gehen. Die Herausforderungen für Entwickler warten leider nicht auf politische Spiele der Beteiligten.

Ein weiterer großer Aspekt in Spring 5 ist ja die Unterstützung für reaktive Runtimes wie Netty und ein entsprechendes, an Spring MVC angelehntes Programmiermodell. Damit schaffen wir uns und den Spring-Entwicklern etwas Beinfreiheit, um potentiell Alternativen zum klassischen Servlet-Stack evaluieren zu können.

Platz 2: “Aus meiner Sicht könnte sich Oracle komplett von Java EE zurückziehen”

Java EE wurde im vergangenen Jahr so heiß diskutiert wie schon lange nicht mehr. Oracle wurde in der ersten Jahreshälfte ein schwindendes Engagement für die Fertigstellung von Java EE 8 vorgeworfen – Stichwort Java EE Guardians, denen Sie ja schon auf Platz 10 begegnet sind. Und so kam die Frage auf: Ist ein Java EE ohne Oracle ein besseres Java EE? Auf unserem Platz zwei finden Sie dazu ein Interview mit Adam Bien, Java Champion. Unterm Strich sagt er:

Adam BienIch bin bereits mit Java EE 6 sehr zufrieden. Ich finde, wir sollten uns zunehmend auf die nichtfunktionalen Anforderungen wie Deployment, Monitoring und Management konzentrieren.

Platz 1: “Angular 2 wird sein ganzes Potential wohl erst in einigen Jahren entfalten können”

Aller guten Dinge sind drei! Auch auf unserem Platz 1 geht es um Angular. Angular ist derzeit zweifelsohne eines der populärsten JavaScript-Frameworks. Doch weshalb eigentlich? Was hat Angular, was andere JavaScript-Frameworks nicht haben? Auf unserem Platz 1 im Jahr 2016 ist das Interview mit Robin Böhm, Mitgründer und Geschäftsführer der Symetics GmbH. Er ist Softwareentwickler und Berater im Bereich Webtechnologien und betreibt gemeinsam mit Sascha Brink das Portal AngularJS.de. Und so konnte er uns im März Einblicke in den Entwicklungsstand von Angular 2 geben. Worin seiner Meinung nach die Stärken von Angular gegenüber anderen JS-Frameworks liegt?

Boehm_robinMit AngularJS gab es zum ersten Mal ein Komplettpaket, um Single-Page-Applications (SPA) zu bauen. Dabei wurden viele Dinge richtig gemacht:

  • Mir als Entwickler werden viele triviale Entscheidungen abgenommen. Folglich passieren mir weniger Fehler.
  • Das Framework ist nicht nur extrem gut mit Tests abgedeckt, sondern das Testen meiner eigenen Applikation wird mir sehr einfach gemacht. Die Wartbarkeit wird dadurch enorm erhöht.
  • Ich kann normale JavaScript-Objekte verwenden und muss keine Wrapper schreiben. Ich muss weniger Code schreiben und kann externe Bibliotheken ohne Wrapper benutzen.
  • HTML wird erweitert, statt eine neue Template-Sprache einzuführen. Ich muss also nicht mein ganzes HTML-Wissen über Bord schmeißen, sondern kann darauf aufbauen.
  • Ich beschreibe mein Layout deklarativ. Wenn ich also neue Daten habe, muss ich nicht selbst sagen: Suche mir die Liste, guck wo das letzte Element ist, erzeuge aus Daten und Template ein neues Listenelement, füge das Element ein. AngularJS übernimmt das für mich.
Geschrieben von
Kypriani Sinaris
Kypriani Sinaris
Kypriani Sinaris studierte Kognitive Linguistik an der Goethe Universität Frankfurt am Main. Seit 2015 ist sie Redakteurin bei JAXenter und dem Java Magazin.
Kommentare

Schreibe einen Kommentar

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