Java EE 
Full Stack for Business Applications 
 Die Spec 
Referent: MATTHIAS REINING 
Technical Manager Insurance at RGI Deutschland GmbH 
blog: http://blog.matthias-reining.com 
t...
Die Spec
DAS PROGRAMM 
 Die Spec 
 Idee, Historie 
 Der App Server 
 Containerkonzept 
 Paketierung (JAR, WAR, EAR) 
 Marktüb...
Die Plattformen der Programmiersprache Java 
 Java Platform, Standard Edition (Java SE) 
 Java Platform, Enterprise Edit...
Definition(en)
Java EE 
The Java EE platform is built on top of the Java SE platform. The 
Java EE platform provides an API and runtime e...
Java Platform, Enterprise Edition, abgekürzt Java EE oder 
früher J2EE, ist die die Spezifikation einer Softwarearchitektu...
The Java EE application model defines an architecture for implementing 
services as multitier applications that deliver th...
Die Java Enterprise Edition ist angetreten um einen 
Full Stack for Business Applications zu definieren.
Definieren? 
Die Java EE ist „nur“ eine Spezifikation 
Die Implementierung dieser Spezifikation wird von 
Herstellern der ...
http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
EXKURS: BUSINESS APPLICATIONS? 
Geschäftsanwendungen: 
 Funktionalität steht im Vordergrund 
 Investitionsschutz für Unt...
Wer bestimmt eigentlich was mit Java und Java EE passiert?
JCP & JSR
JCP – Java Community Process 
https://jcp.org definiert Java Specification Requests. 
JSR Definition: http://de.wikipedia....
JSR – Java Specification Request 
Beispiele für einen neuen JSR: 
http://www.oracle.com/technetwork/java/javaee/overview/i...
Wie alles begann…
Die Geschichte der Java Enterprise Edition 
• JPE (May 1998) Announcement of the JPE (Java Professional Edition) project a...
Problem… 
 langen Releasezyklen. 
 Neue, innovative Techniken sind nur sehr langsam in die 
Spezifikation eingeflossen.
Problem… 
 vor Java EE 5 war alles sehr, sehr „umständlich“ 
 Home Interfaces & XML „Schlachten“ (xdoclets) 
Andere Fra...
Aber trotzdem… 
 Abwärtskompatibel 
 „Garantierter“ Support von verschiedenen Herstellern 
 Standardisiert ( hier gab ...
Der App Server
DAS PROGRAMM 
 Die Spec 
 Idee, Historie 
 Der App Server 
 Containerkonzept 
 Paketierung (JAR, WAR, EAR) 
 Marktüb...
Application Server implementieren 
die Java EE Spezifikation
Mit Fertigstellung der Spec liefert Oracle eine Referenzimplementierung 
aus: der Glassfish Application Server
Der verbreiteste Open Source Application Server kommt aus dem Hause 
RedHat: JBoss AS / Wildfly
DAS PROGRAMM 
 Die Spec 
 Idee, Historie 
 Der App Server 
 Containerkonzept 
 Paketierung (JAR, WAR, EAR) 
 Marktüb...
Populäre Application Server 
Open Source 
 JBoss AS – Redhat 
 Wildfly – Redhat 
 Glassfish – Oracle 
 Geronimo - Apac...
Keine (Java) Application Server 
 Apache HTTP Server 
 Tomcat 
 Jetty 
 Node.js 
 Internet Information Server (IIS) 
...
DAS PROGRAMM 
 Die Spec 
 Idee, Historie 
 Der App Server 
 Containerkonzept 
 Paketierung (JAR, WAR, EAR) 
 Marktüb...
Java Archive 
 Analoger Aufbau zu jar-Files in Java SE 
 Java SE jar-Files werden analog behandelt (= weitere Klassen im...
Web Archive 
 Inhalt 
 Servlets 
 JSP Pages 
 Utility Classes 
 Static documents (HTML, images, sounds, etc.) 
 Clie...
Enterprise Archive 
 Klammern jar, ejb-jar und war Files 
 Deployment Descriptor beschreiben das Verhalten (Classloader,...
DAS PROGRAMM 
 Die Spec 
 Idee, Historie 
 Der App Server 
 Containerkonzept 
 Paketierung (JAR, WAR, EAR) 
 Marktüb...
SERVER 
Parallelität – Sessions – Skalierbarkeit
HOLLYWOOD PRINZIP 
Don‘t call us, we‘ll call you!
Inversion of control 
Design pattern 
(http://en.wikipedia.org/wiki/Inversion_of_control)
The Java EE application model defines an architecture for implementing services as multitier applications that 
deliver th...
http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
Java EE APIs in the Web 
Container 
http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
Java EE APIs in the Web 
Container 
http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
Java EE APIs in the EJB Container 
http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
Java EE APIs in the EJB Container 
http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
Java EE APIs in the Application 
Client Container 
http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
Middleware
Middleware is the infrastructure which facilitates creation of business 
applications, and provides core services like con...
Nächste SlideShare
Wird geladen in …5
×

Java EE - FHWS 2014 - 1 spec

466 Aufrufe

Veröffentlicht am

Java EE - FHWS 2014 - 1 spec

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
466
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
4
Aktionen
Geteilt
0
Downloads
24
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • Hier sieht man auch die Probleme der JEE.

    Problem oder Enterprisefähigkeit, die nicht mal schnell einen Hype folgt… Schwierige Sache…
  • Spring, Struts, Wicket, …
    Wozu wenn es einen Standard gibt? Der Standard war doof zu implementieren
  • Spring, Struts, Wicket, …
    Wozu wenn es einen Standard gibt? Der Standard war doof zu implementieren
  • Java EE - FHWS 2014 - 1 spec

    1. 1. Java EE Full Stack for Business Applications  Die Spec 
    2. 2. Referent: MATTHIAS REINING Technical Manager Insurance at RGI Deutschland GmbH blog: http://blog.matthias-reining.com twitter: https://twitter.com/MatthiasReining about.me: http://about.me/matthiasreining
    3. 3. Die Spec
    4. 4. DAS PROGRAMM  Die Spec  Idee, Historie  Der App Server  Containerkonzept  Paketierung (JAR, WAR, EAR)  Marktüberblick  Das Projekt  Entwicklung eines Beispielprojektes  IDE Settings, Oberflächen (Servlets, JSF), Business Logic (EJB), Persistence (JPA), Java EE Patterns (CDI), Web Services (JAX-RS)  Die Produktion  Buildmanagement (maven, Jenkins)  Deployment einer Java EE Anwendung in der Cloud bei einem PaaS Anbieter
    5. 5. Die Plattformen der Programmiersprache Java  Java Platform, Standard Edition (Java SE)  Java Platform, Enterprise Edition (Java EE)  Java Platform, Micro Edition (Java ME)  Java FX
    6. 6. Definition(en)
    7. 7. Java EE The Java EE platform is built on top of the Java SE platform. The Java EE platform provides an API and runtime environment for developing and running large-scale, multi-tiered, scalable, reliable, and secure network applications. [Quelle: http://docs.oracle.com/javaee/7/firstcup/doc/java-ee001.htm#GKHOY]
    8. 8. Java Platform, Enterprise Edition, abgekürzt Java EE oder früher J2EE, ist die die Spezifikation einer Softwarearchitektur für die transaktionsbasierte Ausführung von in Java programmierten Anwendungen und insbesondere Web-Anwendungen. Sie ist eine der großen Plattformen, die um den Middleware-Markt kämpfen. Größter Konkurrent ist dabei die .NET-Plattform von Microsoft. [Quelle: http://de.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition]
    9. 9. The Java EE application model defines an architecture for implementing services as multitier applications that deliver the scalability, accessibility, and manageability needed by enterprise-level applications. This model partitions the work needed to implement a multitier service into the following parts:  The business and presentation logic to be implemented by the developer  The standard system services provided by the Java EE platform [Quelle: http://docs.oracle.com/javaee/7/tutorial/doc/overview002.htm]
    10. 10. Die Java Enterprise Edition ist angetreten um einen Full Stack for Business Applications zu definieren.
    11. 11. Definieren? Die Java EE ist „nur“ eine Spezifikation Die Implementierung dieser Spezifikation wird von Herstellern der Application Servern übernommen.
    12. 12. http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
    13. 13. EXKURS: BUSINESS APPLICATIONS? Geschäftsanwendungen:  Funktionalität steht im Vordergrund  Investitionsschutz für Unternehmen  Langfristiger Support  Verwendung von Standards  … Ergänzend: Das UI bei Geschäftsanwendungen wurde in der Vergangenheit oft vernachlässigt. „Sexy“ geht anders! Ändert sich langsam…
    14. 14. Wer bestimmt eigentlich was mit Java und Java EE passiert?
    15. 15. JCP & JSR
    16. 16. JCP – Java Community Process https://jcp.org definiert Java Specification Requests. JSR Definition: http://de.wikipedia.org/wiki/Java_Specification_Request Beispiel: JSR 342, Java Platform, Enterprise Edition 7 Final Release JSR 338, Java Persistence 2.1 JSR 310, Date and Time API Aus der Praxis: http://jaxenter.de/news/java-ee-8-konfiguration-175990
    17. 17. JSR – Java Specification Request Beispiele für einen neuen JSR: http://www.oracle.com/technetwork/java/javaee/overview/index.html JSR 371: Model-View-Controller (MVC 1.0) Specification https://jcp.org/en/jsr/detail?id=371
    18. 18. Wie alles begann…
    19. 19. Die Geschichte der Java Enterprise Edition • JPE (May 1998) Announcement of the JPE (Java Professional Edition) project at Sun. • J2EE 1.2 (Dezember 12, 1999) • J2EE 1.3 (September 24, 2001) • J2EE 1.4 (November 11, 2003) • Java EE 5 (May 11, 2006) • Java EE 6 (Dec 10, 2009) • Java EE 7 (May, 2013)
    20. 20. Problem…  langen Releasezyklen.  Neue, innovative Techniken sind nur sehr langsam in die Spezifikation eingeflossen.
    21. 21. Problem…  vor Java EE 5 war alles sehr, sehr „umständlich“  Home Interfaces & XML „Schlachten“ (xdoclets) Andere Frameworks: Spring Struts & Co oder gleich .NET (aber auch in .NET wurden viele Fehler gemacht)
    22. 22. Aber trotzdem…  Abwärtskompatibel  „Garantierter“ Support von verschiedenen Herstellern  Standardisiert ( hier gab es auch andere Meinungen von der „Spring Fraktion“)  Allgemein Ab Java EE 5 „leichtgewichtig“ Java EE 
    23. 23. Der App Server
    24. 24. DAS PROGRAMM  Die Spec  Idee, Historie  Der App Server  Containerkonzept  Paketierung (JAR, WAR, EAR)  Marktüberblick  Das Projekt  Entwicklung eines Beispielprojektes  IDE Settings, Oberflächen (Servlets, JSF), Business Logic (EJB), Persistence (JPA), Java EE Patterns (CDI), Web Services (JAX-RS)  Die Produktion  Buildmanagement (maven, Jenkins)  Deployment einer Java EE Anwendung in der Cloud bei einem PaaS Anbieter
    25. 25. Application Server implementieren die Java EE Spezifikation
    26. 26. Mit Fertigstellung der Spec liefert Oracle eine Referenzimplementierung aus: der Glassfish Application Server
    27. 27. Der verbreiteste Open Source Application Server kommt aus dem Hause RedHat: JBoss AS / Wildfly
    28. 28. DAS PROGRAMM  Die Spec  Idee, Historie  Der App Server  Containerkonzept  Paketierung (JAR, WAR, EAR)  Marktüberblick  Das Projekt  Entwicklung eines Beispielprojektes  IDE Settings, Oberflächen (Servlets, JSF), Business Logic (EJB), Persistence (JPA), Java EE Patterns (CDI), Web Services (JAX-RS)  Die Produktion  Buildmanagement (maven, Jenkins)  Deployment einer Java EE Anwendung in der Cloud bei einem PaaS Anbieter
    29. 29. Populäre Application Server Open Source  JBoss AS – Redhat  Wildfly – Redhat  Glassfish – Oracle  Geronimo - Apache Kommerziell Websphere – IBM  Oracle WebLogic - Oracle  Oracle AS – Oracle  BEA Weblogic – BEA  SAP NetWeaver Application Server – SAP
    30. 30. Keine (Java) Application Server  Apache HTTP Server  Tomcat  Jetty  Node.js  Internet Information Server (IIS)  Grails / Rails
    31. 31. DAS PROGRAMM  Die Spec  Idee, Historie  Der App Server  Containerkonzept  Paketierung (JAR, WAR, EAR)  Marktüberblick  Das Projekt  Entwicklung eines Beispielprojektes  IDE Settings, Oberflächen (Servlets, JSF), Business Logic (EJB), Persistence (JPA), Java EE Patterns (CDI), Web Services (JAX-RS)  Die Produktion  Buildmanagement (maven, Jenkins)  Deployment einer Java EE Anwendung in der Cloud bei einem PaaS Anbieter
    32. 32. Java Archive  Analoger Aufbau zu jar-Files in Java SE  Java SE jar-Files werden analog behandelt (= weitere Klassen im Classpath)  Es gibt aber auch EJB-JARs. Diese beinhalten beispielsweise Session Beans die nur auf einem App-Server lauffähig sind
    33. 33. Web Archive  Inhalt  Servlets  JSP Pages  Utility Classes  Static documents (HTML, images, sounds, etc.)  Client side Java applets, beans, and classes  Descriptive meta information that ties all of the above elements together  Verzeichnisstruktur: Beispiel: /index.html /howto.jsp /images/logo.png /WEB-INF/web.xml /WEB-INF/lib/util.jar /WEB-INF/lib/catalog.jar!/META-INF/resources/catalog/moreOffers/book.html /WEB-INF/classes/org/wikipedia/MyUtil.class /WEB-INF/classes/org/wikipedia/MyServlet.class Beschreibung: http://download.oracle.com/otndocs/jcp/servlet-3_1-fr-eval-spec/index.html 10.5 Directory Structure  Deployment Descriptor / Annotations steuern das Verhalten  Enterprise Beans „funktionieren“ auch direkt im WAR Files seit Java EE 6
    34. 34. Enterprise Archive  Klammern jar, ejb-jar und war Files  Deployment Descriptor beschreiben das Verhalten (Classloader, …)  Waren bis zu Java EE 5/6 notwendig um mit Session Beans zu arbeiten  Seit Java EE 6 können die meisten Funktionalitäten des ear-Archives auch mit einem „einfacheren“ war-Archiv verwendet werden können.   war-file bevorzugen! Macht die Entwicklung einfacher ;-)
    35. 35. DAS PROGRAMM  Die Spec  Idee, Historie  Der App Server  Containerkonzept  Paketierung (JAR, WAR, EAR)  Marktüberblick  Das Projekt  Entwicklung eines Beispielprojektes  IDE Settings, Oberflächen (Servlets, JSF), Business Logic (EJB), Persistence (JPA), Java EE Patterns (CDI), Web Services (JAX-RS)  Die Produktion  Buildmanagement (maven, Jenkins)  Deployment einer Java EE Anwendung in der Cloud bei einem PaaS Anbieter
    36. 36. SERVER Parallelität – Sessions – Skalierbarkeit
    37. 37. HOLLYWOOD PRINZIP Don‘t call us, we‘ll call you!
    38. 38. Inversion of control Design pattern (http://en.wikipedia.org/wiki/Inversion_of_control)
    39. 39. The Java EE application model defines an architecture for implementing services as multitier applications that deliver the scalability, accessibility, and manageability needed by enterprise-level applications. This model partitions the work needed to implement a multitier service into the following parts:  The business and presentation logic to be implemented by the developer  The standard system services provided by the Java EE platform [Quelle: http://docs.oracle.com/javaee/7/tutorial/doc/overview002.htm]
    40. 40. http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
    41. 41. Java EE APIs in the Web Container http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
    42. 42. Java EE APIs in the Web Container http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
    43. 43. Java EE APIs in the EJB Container http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
    44. 44. Java EE APIs in the EJB Container http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
    45. 45. Java EE APIs in the Application Client Container http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
    46. 46. Middleware
    47. 47. Middleware is the infrastructure which facilitates creation of business applications, and provides core services like concurrency, transactions, threading, messaging, and the SCA framework for service-oriented architecture (SOA) applications. It also provides security and enables high availability functionality to the enterprise. Middleware includes Web servers, application servers, content management systems, and similar tools that support application development and delivery. It is especially integral to information technology based on Extensible Markup Language (XML), Simple Object Access Protocol (SOAP), Web services, SOA, Web 2.0 infrastructure, and Light weight directory access protocol(LDAP) [Quelle: http://en.wikipedia.org/wiki/Middleware]

    ×