Präsentation bei der Heise Developer World auf der CeBIT 2016 Folien mit Notizen: http://public.macke.it/Vortraege/CeBIT2016/StefanMacke-ModerneWebentwicklungMitJavaEE7.pdf Bei moderner Webentwicklung denken viele Entwickler sicherlich nicht an Java... ...sondern eher an das bekannte Webframework Ruby on Rails. Letztes Jahr wurde Ruby on Rails 10 Jahre alt. Der Erfinder von Rails, David Heinemeier Hansson, hatte bereits 2005 ein Video veröffentlicht, das für Aufregung sorgte und Rails bekannt machte. Darin erstellte er in 15 Minuten ein Blog-System mit Rails. Inkl. Kommentarfunktion usw. In der programmiererfreundlichen Sprache Ruby. Für das Ganze benötigte er nur 133 LOC. Mit Rails kann man also ein Blogsystem in 15 Minuten und mit nur 133 LOC erstellen. Das nahm ich als Anlass, das Beispiel mit Java EE 7 nachzubauen. Leider kam ich nicht so ganz an Rails ran. Und Funktionen wie Post hinzufügen fehlen auch. Ich weiß, dass man ein Webframework nicht mit einer Programmierplattform vergleichen kann, aber ich denke, Java EE hat große Fortschritte im Bereich der Benutzbarkeit gemacht. Und das möchte ich heute vorstellen. Beginnen wir mit dem ersten Teil der Präsentation: meiner Vorstellung. Mein Name ist Stefan Macke. Ich bin Softwareentwickler... ...und Softwarearchitekt... ...bei der ALTE OLDENBURGER Krankenversicherung AG... ...und Dozent – u.a. für Software-Engineering – an der PHWT. Beide sind in Vechta zuhause... ...einer kleinen Stadt zwischen Osnabrück und Bremen. Wir nutzen bereits mehrere Programmiersprachen, aber haben Java als Standard festgelegt. Und aktuell steigen wir in die Webentwicklung mit Java EE 7 ein. Schauen wir uns einmal an, was Java EE eigentlich ist. Java EE ist eine "Regenschirm-Spezifikation", die mehrere Spezifikationen zusammenfasst. Bei Oracle konnte ich 38 Specification Requests zählen. http://www.oracle.com/technetwork/java/javaee/tech/index.html Dazu gehört z.B. der Zugriff auf die Datenbank... ...die Gestaltung von Weboberflächen... ...und das Querschnittsthema DI. Anders als Java SE... ...wird Java EE in einem Container ausgeführt: dem Application Server. Der Application Server stellt der Anwendung die gesamte Infrastruktur zur Verfügung, also z.B. Data Sources, JNDI-Lookups, CDI usw. Darum muss sich der Entwickler nun nicht mehr selbst kümmern. Application Server gibt es eine ganze Menge, sowohl kommerziell als auch Open Source. Java EE war lange Zeit ein hoffnungslos überfrachtetes Framework, das gerade für Einsteiger kaum zu verstehen war. Lange Klassen und XML-Konfiguration überall. Hier ist ein "schönes" Beispiel für eine solche Klasse (obwohl sie nicht aus Java EE stammt, sondern aus dem Spring-Framework). Doch in Version 7 hat sich Java EE zu einem fast schon leichtgewichtigen Framework entwickelt. Und das möchte ich heute zeigen.