Neue Features der Java EE 6

Embed Size (px)

DESCRIPTION

Die Version 6 der Java Enterprise Edition steht kurz vor der Verabschiedung. Viele Stimmen sagen, dass die darin enthaltenen Technologien nunmehr nahezu ausgereift und alle Erwartungen erfüllt seien. Es werden die neuen Features insbesondere in den Bereichen Enterprise JavaBeans, Webanwendungen, Java Persistence und Webservices beleuchtet. Die anschließende Diskussion kann zeigen, ob die anfangs angesprochenen Vorschusslorbeeren gerechtfertigt sind und ob die Wunschliste tatsächlich vollständig abgearbeitet wurde. EJB 3.1 - Session Beans ohne local Interface - Singletons, Timer - Session Bean Methoden asynchron Servlet 3.0 - Ease of Development JSF 2.0 - Ohne faces-config.xml? JPA 2.0 - Weitere Mapping-Optionen - Relationsfelder im Primärschlüssel

Text of Neue Features der Java EE 6

  • 1. g GFU Cyrus AG Ihr Partner fr IT Schulung "Semicolon" Vortragsreihe bei der GFU Vortrag am Dienstag, 09. Juni 2009 Thema Die Leichtigkeit der Softwareentwicklung Strken und Schwchen der neuen Spezifikation Java EE 6 Einfhrung Peter Hecker, GFU Cyrus AG Vortrag Dirk Weil, GEDOPLAN GmbH
  • 2. Entwicklung von Informationssystemen 29 Jahre am Markt ~35 Mitarbeiter Beratung und Entwicklung Konventionelle und GEDOPLAN neue Technologien Mageschneiderte Lsungen Objektorientierte Softwareentwicklung Standardsoftware SAP SOA Java .NET
  • 3. Seit 1998 im Bereich Java: 50+ Beratungs- und Entwicklungsprojekte Konzeption und Entwicklung 30+ Seminartitel GEDOPLAN Java / Java EE Diverse App.-Server Objektorientierte Softwareentwicklung Glassfish IBM WebSphere JBoss SAP Oracle WebLogic SOA Java .NET SAP NetWeaver
  • 4. IT-Systeme und Prozesse Beratung, Schulung, Entwicklung 100+ Mitarbeiter www.involva-gruppe.de
  • 5. Die Leichtigkeit der Softwareentwicklung Strken und Schwchen der neuen Spezifikation Java EE 6 Enterprise Java Team, GEDOPLAN GmbH 2009-06-09
  • 6. Java Enterprise Edition technische Basis Komfort J2EE1.0 J2EE 1.2 J2EE 1.3 J2EE 1.4 JEE 5 JEE 6 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 Produktivstand 6
  • 7. Java Enterprise Edition J2EE 1.4 schwergewichtig viele XML-Descriptoren Java EE 5 POJOs, IoC / DI Configuration by Exception Java-5-Annotationen statt XML Java EE 6 Fortsetzung des Trends zur Einfachheit Diverse "Wunscherfllungen" 7
  • 8. Servlet 3.0: Konfiguration mit Annotationen Bisher Registrierung in web.xml public class SimpleServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) { SimpleServletde.gedoplan.demo.SimpleServletSimpleServlet/demo/SimpleServlet 8
  • 9. Servlet 3.0: Konfiguration mit Annotationen Registrierung per Annotation @WebServlet(name="SimpleServlet", urlPatterns={"/demo/SimpleServlet"}) public class SimpleServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) { Auch fr: Init-Parameter Servlet Filter Context Listener 9
  • 10. Aber: Servlets sind keine POJOs! Servlet-Klasse implementiert HttpServlet Alternative Jersey/JAX-RS @Path("/demo/SimpleServlet"}) public class SimpleServlet { @Get @Produces("text/plain") public String getMessage() { return "Hello, world"; 10
  • 11. JSF 2.0: Konfiguration mit Annotationen Bisher Deklaration von Managed Beans in faces-config.xml public class DemoBean { private double steuerSatz = 0.19; public double getSteuerSatz() { return steuerSatz; } ... DemoBeandemoBeande.gedoplan.demo.DemoBeanrequest 11
  • 12. JSF 2.0: Konfiguration mit Annotationen Deklaration von Managed Beans per Annotation @ManagedBean(name = "demoBean") @RequestScoped public class DemoBean { private double steuerSatz = 0.19; public double getSteuerSatz() { return steuerSatz; } ... 12
  • 13. JSF 2.0: Konfiguration mit Annotationen Annotation auch fr: Managed Properties @ManagedProperty(value=#{barBean}) private BarBean barBean; Converter Validatoren Renderer Lifecycle 13
  • 14. JSF 2.0: faces-config.xml ist optional berschreibt Annotationen weiterhin fr Anwendungsparameter wie Lokalisierung, Phase Listeners etc. Navigationsregeln 14
  • 15. EJB 3.1: No Interface Beans Bis EJB 3.0: Obligatorisches Local oder Remote Interface @Stateless public class ArbeitsplatzDaoBean implements ArbeitsplatzDao { public void insert(Arbeitsplatz entity) { } public void update(Arbeitsplatz entity) { } @Local public interface ArbeitsplatzDao { public void insert(Arbeitsplatz entity); public void update(Arbeitsplatz entity); Fr rein interne Nutzung (Local!) lstig 15
  • 16. EJB 3.1: No Interface Beans Interfaces sind nun optional. Wenn kein Interface deklariert: Container stellt Referenz-Objekt (Proxy) zur Verfgung Proxy enthlt alle ffentlichen Methoden der Bean. Proxy ist von der Bean-Klasse abgeleitet. Nutzung (z.B.) aus anderen EJBs ber den Typ der Bean-Klasse. @Stateless public class ArbeitsplatzDaoBean { @Stateless public void insert(Arbeitsplatz entity) { } class SomeOtherBean public public void update(Arbeitsplatz entity) { } { @EJB private ArbeitsplatzDaoBean dao; 16
  • 17. EJB 3.1: No Interface Beans Erstellung des No-Interface-Referenzobjekts auch zustzlich mit @LocalBean Achtung: Alle ffentlichen Methoden sind zugreifbar! Aufruf nicht-ffentlicher Methoden wirft Exception. 17
  • 18. EJB 3.1: Singletons Genau eine Bean-Instanz pro JVM. Neue Annotation fr Session Beans: @Singleton. @Singleton public class SomeBean { 18
  • 19. EJB 3.1: Singletons Lebenszyklus wird durch den Container gesteuert. @Startup erzwingt @Singleton