Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Von wegen
schwergewichtig
Moderne Webentwicklung mit Java EE 7
15
133
Minuten
LOC
45
160
Minuten
LOC
CC0 Public Domain – bretpit – https://pixabay.com/de/apfel-birne-pflaumen-obst-früchte-993366/
Vorstellung
http://soa.rocks
anwendungsentwickler
podcast.de
@StefanMacke
Stefan Macke
CC0 Public Domain – StartupStockPhotos – https://pixabay.com/de/whiteboard-mann-präsentation-849813/
Vechta
Java EE
CC0 Public Domain – Unsplash – https://pixabay.com/de/sonnenschirme-straße-geschäfte-690452/
38
JSRs
Java Persistence API
CC0 Public Domain – ColossusCloud – https://pixabay.com/de/server-wolke-entwicklung-geschäft-1235959/
Java Server Faces
CC0 Public Domain – Imonk72 – https://pixabay.com/de/webseite-code-html-codierung-647013/
Context and
Dependency
Injection
CC0 Public Domain – jochenpippir – https://pixabay.com/de/spritze-medizin-finger-957260/
Standard Edition
CC0 Public Domain – snoku – https://pixabay.com/de/baustelle-crane-pier-container-1156566/
CC0 Public Domain – susisorglos089 – https://pixabay.com/de/fundamente-wasser-bremerhaven-100698/
CC0 Public Domain – TanteTati – https://pixabay.com/de/spaghetti-pasta-nudeln-essen-781795/
CC0 Public Domain – Pezibear – https://pixabay.com/de/feder-weiß-leicht-zart-luftig-647915/
Beispielanwendung
MongoDB
Express.js
AngularJS
Node.js
MongoDB
EE
AngularJS
Java
CC0 Public Domain – Alexas_Fotos – https://pixabay.com/de/butler-tablett-getränke-wein-sekt-964009/
Domain Model =
Persistence Model
CC0 Public Domain – StartupStockPhotos – https://pixabay.com/de/whiteboard-mann-präsentat...
CC0 Public Domain – DiegoRodriguesdeCastro – https://pixabay.com/de/fotorahmen-frame-tiefe-878223/
Keine Frameworks*
CC0 Public Domain – DiegoRodriguesdeCastro – https://pixabay.com/de/fotorahmen-frame-tiefe-878223/
*außer
CC0 Public Domain – prima4you – https://pixabay.com/de/tier-löwin-faul-ausruhen-raubtier-1106359/
http://github.com/StefanMacke
persistence.xml
Erweiterungen
Lessons Learned
CC0 Public Domain – tpsdave – https://pixabay.com/de/colorado-hügel-landschaft-359919/
Annotation
Hell
Quelle: http://www.deic.uab.es/material/102750-javaEE7ReferenceSheet.pdf
CC0 Public Domain – Peggy_Marco – https://pixabay.com/de/ballonfahrt-ballon-feuer-bagan-1028896/
LOC
Java 130
Angular 70
RLY?
Literatur
Fazit
!=
Beinahe
leichtgewichtig
Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7
Nächste SlideShare
Wird geladen in …5
×

Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7

1.325 Aufrufe

Veröffentlicht am

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.

Veröffentlicht in: Software
  • Als Erste(r) kommentieren

Von wegen schwergewichtig - Moderne Webentwicklung mit Java EE 7

  1. 1. Von wegen schwergewichtig Moderne Webentwicklung mit Java EE 7
  2. 2. 15 133 Minuten LOC
  3. 3. 45 160 Minuten LOC
  4. 4. CC0 Public Domain – bretpit – https://pixabay.com/de/apfel-birne-pflaumen-obst-früchte-993366/
  5. 5. Vorstellung
  6. 6. http://soa.rocks anwendungsentwickler podcast.de @StefanMacke Stefan Macke
  7. 7. CC0 Public Domain – StartupStockPhotos – https://pixabay.com/de/whiteboard-mann-präsentation-849813/
  8. 8. Vechta
  9. 9. Java EE
  10. 10. CC0 Public Domain – Unsplash – https://pixabay.com/de/sonnenschirme-straße-geschäfte-690452/
  11. 11. 38 JSRs
  12. 12. Java Persistence API CC0 Public Domain – ColossusCloud – https://pixabay.com/de/server-wolke-entwicklung-geschäft-1235959/
  13. 13. Java Server Faces CC0 Public Domain – Imonk72 – https://pixabay.com/de/webseite-code-html-codierung-647013/
  14. 14. Context and Dependency Injection CC0 Public Domain – jochenpippir – https://pixabay.com/de/spritze-medizin-finger-957260/
  15. 15. Standard Edition
  16. 16. CC0 Public Domain – snoku – https://pixabay.com/de/baustelle-crane-pier-container-1156566/
  17. 17. CC0 Public Domain – susisorglos089 – https://pixabay.com/de/fundamente-wasser-bremerhaven-100698/
  18. 18. CC0 Public Domain – TanteTati – https://pixabay.com/de/spaghetti-pasta-nudeln-essen-781795/
  19. 19. CC0 Public Domain – Pezibear – https://pixabay.com/de/feder-weiß-leicht-zart-luftig-647915/
  20. 20. Beispielanwendung
  21. 21. MongoDB Express.js AngularJS Node.js
  22. 22. MongoDB EE AngularJS Java
  23. 23. CC0 Public Domain – Alexas_Fotos – https://pixabay.com/de/butler-tablett-getränke-wein-sekt-964009/
  24. 24. Domain Model = Persistence Model CC0 Public Domain – StartupStockPhotos – https://pixabay.com/de/whiteboard-mann-präsentation-849810/
  25. 25. CC0 Public Domain – DiegoRodriguesdeCastro – https://pixabay.com/de/fotorahmen-frame-tiefe-878223/ Keine Frameworks*
  26. 26. CC0 Public Domain – DiegoRodriguesdeCastro – https://pixabay.com/de/fotorahmen-frame-tiefe-878223/ *außer
  27. 27. CC0 Public Domain – prima4you – https://pixabay.com/de/tier-löwin-faul-ausruhen-raubtier-1106359/
  28. 28. http://github.com/StefanMacke
  29. 29. persistence.xml
  30. 30. Erweiterungen
  31. 31. Lessons Learned
  32. 32. CC0 Public Domain – tpsdave – https://pixabay.com/de/colorado-hügel-landschaft-359919/
  33. 33. Annotation Hell Quelle: http://www.deic.uab.es/material/102750-javaEE7ReferenceSheet.pdf
  34. 34. CC0 Public Domain – Peggy_Marco – https://pixabay.com/de/ballonfahrt-ballon-feuer-bagan-1028896/
  35. 35. LOC Java 130 Angular 70
  36. 36. RLY?
  37. 37. Literatur
  38. 38. Fazit
  39. 39. !=
  40. 40. Beinahe leichtgewichtig Moderne Webentwicklung mit Java EE 7

×