java ee - fhws 2014 - 1 spec
Post on 26-Jun-2015
133 Views
Preview:
DESCRIPTION
TRANSCRIPT
Java EEFull Stack for Business
Applications
Die Spec
2014-10-17
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
2014-10-17
Die Spec
2014-10-17
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
2014-10-17
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
2014-10-17
Definition(en)
2014-10-17
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 ]
2014-10-17
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]
2014-10-17
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]
2014-10-17
Die Java Enterprise Edition ist angetreten um einen
Full Stack for Business Applications zu definieren.
2014-10-17
Definieren?
Die Java EE ist „nur“ eine Spezifikation
Die Implementierung dieser Spezifikation wird von Herstellern der Application Servern übernommen.
2014-10-17
http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
2014-10-17
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…
2014-10-17
Wer bestimmt eigentlich was mit Java und Java EE passiert?
2014-10-17
JCP & JSR
2014-10-17
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 ReleaseJSR 338, Java Persistence 2.1JSR 310, Date and Time API
Aus der Praxis: http://jaxenter.de/news/java-ee-8-konfiguration-175990
2014-10-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) Specificationhttps://jcp.org/en/jsr/detail?id=371
2014-10-17
Wie alles begann…
2014-10-17
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)
2014-10-17
Problem…
langen Releasezyklen.
Neue, innovative Techniken sind nur sehr langsam in die Spezifikation eingeflossen.
2014-10-17
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)
2014-10-17
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
2014-10-17
Der App Server
2014-10-17
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
2014-10-17
Application Server implementieren die Java EE
Spezifikation
2014-10-17
Mit Fertigstellung der Spec liefert Oracle eine Referenzimplementierung aus: der Glassfish Application Server
2014-10-17
Der verbreiteste Open Source Application Server kommt aus dem Hause RedHat: JBoss AS / Wildfly
2014-10-17
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
2014-10-17
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
2014-10-17
Keine (Java) Application Server
Apache HTTP Server Tomcat Jetty Node.js Internet Information Server (IIS) Grails / Rails
2014-10-17
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
2014-10-17
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
2014-10-17
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:
Beschreibung: http://download.oracle.com/otndocs/jcp/servlet-3_1-fr-eval-spec/index.html10.5 Directory Structure
Deployment Descriptor / Annotations steuern das Verhalten
Enterprise Beans „funktionieren“ auch direkt im WAR Files seit Java EE 6
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
2014-10-17
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 ;-)
2014-10-17
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
2014-10-17
SERVERParallelität – Sessions – Skalierbarkeit
2014-10-17
HOLLYWOOD PRINZIPDon‘t call us, we‘ll call you!
2014-10-17
Inversion of controlDesign pattern
(http://en.wikipedia.org/wiki/Inversion_of_control)
2014-10-17
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]
2014-10-17
http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
2014-10-17
Java EE APIs in the Web Container
http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
2014-10-17
Java EE APIs in the Web Container
http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
2014-10-17
Java EE APIs in the EJB Container
http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
2014-10-17
Java EE APIs in the EJB Container
http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
2014-10-17
Java EE APIs in the Application Client Container
http://docs.oracle.com/javaee/7/tutorial/doc/overview007.htm
2014-10-17
Middleware
2014-10-17
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]
2014-10-17
top related