SlideShare ist ein Scribd-Unternehmen logo
Java EE 5
             Was bringt die neue Java Enterprise Edition 5?




             Dirk Weil, GEDOPLAN GmbH
2006-11-07
Java EE 5

  JSR 244 von 05/2004
  Final Release am 11.05.2006
  Implementierungen
     Glassfish
     Sun Java System Application Server PE 9
     JBoss (EJB-3-Preview)
     BEA WebLogic 9 (Integration mit Spring Pitchfork)
     Oracle (EJB-3-Container)
     SAP WebAS
     ?


                                                         2
Technologie-Neuerungen

  Component Model Technologies
     EJB 3.0 / Java Persistence
     JavaServer Faces 1.2
     JavaServer Pages Standard Tag Library




                                             3
Technologie-Neuerungen

  Web Service Technologies
    JAX-WS 2.0
    JAXB 2.0
    SAAJ
    StAX
    ...




                             4
Hauptziel: Vereinfachungen

  Java-Annotationen statt XML-Descriptoren
     Meta-Daten im Quellcode (Java 5 !)
     Descriptoren werden überflüssig
     Descriptoren können weiterhin genutzt werden

  Configuration by Exception
     Vielfältige Defaults
     Nur Ausnahmen verlangen explizite Parameter




                                                    5
Hauptziel: Vereinfachungen

  Technische Interfaces entfallen
     Geringe Abhängigkeit von der Umgebung
     Geringerer Entwicklungsaufwand
     Viele J2EE-Patterns werden überflüssig




                                              6
EJB 3.0: Erstellung von Beans

  Business-Interface
  Implementierung durch POJO
  Annotationen statt XML-Konfiguration
  Keine technischen Interfaces
  Keine RemoteException




                                         7
EJB 3.0: Erstellung von Beans
@Remote
public interface SrvInfo
{
  public long getFreeMemory();
}
              @Stateless
              public class SrvInfoBean implements SrvInfo
              {
                public long getFreeMemory()
                {
                  return Runtime.getRuntime().freeMemory();
                }
              }




                                                          8
EJB 3.0: Dependency Injection

  ENC-Werte können in Bean injiziert werden
     Umgebungs-(Konfigurations-)werte
     Ressource-Referencen
     EJB-Referenzen




                                              9
EJB 3.0: Dependency Injection
@Stateless
public class EnvEntryDemoBean
{
  @Resource(name="mwstSatz")
  private Double mwstSatz = 0.16;
…
       @Stateless
       public class ResRefDemoBean
       {
         @Resource(name = "jdbc/defaultDS")
         private javax.sql.DataSource defaultDS;
       …
                @Stateless
                public class EJBRefDemoBean implements EJBRefDemo
                {
                  @EJB
                  private EnvEntryDemo ejbRef;
                …

                                                               10
EJB 3.0

  Früher ungleich höherer Aufwand
     Technische Interfaces (EJBObject, SessionBean ...)
     Bean implementierte Remote Interface nicht
     Home Interface nötig
     Konfiguration im Deployment Descriptor
     RemoteException
     Expliziter Lookup der Umgebungswerte und Referenzen




                                                           11
Java Persistence

  Entities
     Leichtgewichtig à la JDO oder Hibernate
     Annotierte POJOs
     Zugriff über Entity Manager
        injected, kein expliziter Lookup
     Detachable




                                               12
Java Persistence
      @Entity
      @NamedQuery(name = "findAllAccounts",
                  query = "SELECT a FROM Account a")
      public class Account implements Serializable
      {
        private int id;
        private String owner;
        private double balance;

        @Id
        @GeneratedValue
        public int getId()        { return id; }
        public void setId(int id) { this.id = id;   }
      ...
      }


                                                        13
Java Persistence

  Relationen       @ManyToOne
                   @JoinColumn(name="OWNER_ID")
                   public Person getOwner()
                   {
                     return owner;
                   }


  Vererbung

        @Entity
        @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
        public class GeschaeftsPartner
        {
        …



                                                                 14
Java Persistence

  Deutlich besser als EJB 2.x Entity Beans
     Keine Interfaces nötig
     Kein Deskriptor
     Vererbung problemlos
     Leistungsfähige Abfragesprache
     Als Value Objects nutzbar




                                             15
JavaServer Faces

  Komponenten für Web-Anwendungen
  Statusbehaftet
  Event-Modell
  Template Engine z.B. JSP, Facelets
  Leistungsfähige Expression Language




                                        16
Web Services

  Auch hier: Annotationen
  Keine zusätzlichen Build-Tools nötig

              @WebService()
              public class Hello
              {
                @WebMethod()
                public String sayHello(String name)
                {
                  return "Hello, world";
                }
              }




                                                      17
Web Services

  Automatische Generierung der WS-Infrastruktur
     WDSL
     RPC-Mapping
     webservice.xml




                                                  18
Die Leichtigkeit des Entwickelns …

  … Demo!




                                     19
fü
Danke für die Aufmerksamkeit!




                                20

Weitere ähnliche Inhalte

Was ist angesagt?

Let's talk about Java EE
Let's talk about Java EELet's talk about Java EE
Let's talk about Java EE
Andreas König
 
Schneller, besser, sparsamer - JBoss 7
Schneller, besser, sparsamer -  JBoss 7Schneller, besser, sparsamer -  JBoss 7
Schneller, besser, sparsamer - JBoss 7
gedoplan
 
Dependency injection
Dependency injectionDependency injection
Dependency injection
Mario Müller
 
JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
JBoss AS 7 als Plattform moderner Enterprise-AnwendungenJBoss AS 7 als Plattform moderner Enterprise-Anwendungen
JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
gedoplan
 
javaPersistenceInActionFeaturesJenseitsDesEntryLevels
javaPersistenceInActionFeaturesJenseitsDesEntryLevelsjavaPersistenceInActionFeaturesJenseitsDesEntryLevels
javaPersistenceInActionFeaturesJenseitsDesEntryLevels
gedoplan
 
OSGi Release 4.2 - Was ist neu?
OSGi Release 4.2 - Was ist neu?OSGi Release 4.2 - Was ist neu?
OSGi Release 4.2 - Was ist neu?
Roman Roelofsen
 
Speeding up Java Persistence
Speeding up Java PersistenceSpeeding up Java Persistence
Speeding up Java Persistence
gedoplan
 
Objektvalidierung mit dem Bean Validation Api
Objektvalidierung mit dem Bean Validation ApiObjektvalidierung mit dem Bean Validation Api
Objektvalidierung mit dem Bean Validation Api
gunnarmorling
 

Was ist angesagt? (8)

Let's talk about Java EE
Let's talk about Java EELet's talk about Java EE
Let's talk about Java EE
 
Schneller, besser, sparsamer - JBoss 7
Schneller, besser, sparsamer -  JBoss 7Schneller, besser, sparsamer -  JBoss 7
Schneller, besser, sparsamer - JBoss 7
 
Dependency injection
Dependency injectionDependency injection
Dependency injection
 
JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
JBoss AS 7 als Plattform moderner Enterprise-AnwendungenJBoss AS 7 als Plattform moderner Enterprise-Anwendungen
JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
 
javaPersistenceInActionFeaturesJenseitsDesEntryLevels
javaPersistenceInActionFeaturesJenseitsDesEntryLevelsjavaPersistenceInActionFeaturesJenseitsDesEntryLevels
javaPersistenceInActionFeaturesJenseitsDesEntryLevels
 
OSGi Release 4.2 - Was ist neu?
OSGi Release 4.2 - Was ist neu?OSGi Release 4.2 - Was ist neu?
OSGi Release 4.2 - Was ist neu?
 
Speeding up Java Persistence
Speeding up Java PersistenceSpeeding up Java Persistence
Speeding up Java Persistence
 
Objektvalidierung mit dem Bean Validation Api
Objektvalidierung mit dem Bean Validation ApiObjektvalidierung mit dem Bean Validation Api
Objektvalidierung mit dem Bean Validation Api
 

Ähnlich wie Java EE 5

Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
GFU Cyrus AG
 
Datenbankzugriff mit der Java Persistence Api
Datenbankzugriff mit der Java Persistence ApiDatenbankzugriff mit der Java Persistence Api
Datenbankzugriff mit der Java Persistence ApiChristian Baranowski
 
Der Application Server ist tot (?) - es lebe Jakarta EE!
Der Application Server ist tot (?) - es lebe Jakarta EE!Der Application Server ist tot (?) - es lebe Jakarta EE!
Der Application Server ist tot (?) - es lebe Jakarta EE!
gedoplan
 
node.js
node.jsnode.js
Feige sein! Testen im Java-EE-Umfeld
Feige sein! Testen im Java-EE-UmfeldFeige sein! Testen im Java-EE-Umfeld
Feige sein! Testen im Java-EE-Umfeld
gedoplan
 
Introduction to JEE
Introduction to JEEIntroduction to JEE
Introduction to JEEguestc44b7b
 
Java Persistence 2.0
Java Persistence 2.0Java Persistence 2.0
Java Persistence 2.0GFU Cyrus AG
 
Java EE Microservices ohne Server
Java EE Microservices ohne ServerJava EE Microservices ohne Server
Java EE Microservices ohne Server
gedoplan
 
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne BallastJava EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne Ballast
gedoplan
 
Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?
GFU Cyrus AG
 
Java Persistence 2.0
Java Persistence 2.0Java Persistence 2.0
Java Persistence 2.0
gedoplan
 
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne BallastJava EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne Ballast
gedoplan
 
EnterJS 2015 - JavaScript von Morgen schon heute
EnterJS 2015 - JavaScript von Morgen schon heuteEnterJS 2015 - JavaScript von Morgen schon heute
EnterJS 2015 - JavaScript von Morgen schon heute
Philipp Burgmer
 
Java EE 6/7 - Enterprise-Anwendungsentwicklung leicht gemacht
Java EE 6/7 - Enterprise-Anwendungsentwicklung leicht gemachtJava EE 6/7 - Enterprise-Anwendungsentwicklung leicht gemacht
Java EE 6/7 - Enterprise-Anwendungsentwicklung leicht gemacht
gedoplan
 
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
Lukas Eder
 
Testen im EE-Umfeld – Seien Sie feige!
Testen im EE-Umfeld – Seien Sie feige!Testen im EE-Umfeld – Seien Sie feige!
Testen im EE-Umfeld – Seien Sie feige!
gedoplan
 
Workshop zu Hibernate 3.2.2 GA
Workshop zu Hibernate 3.2.2 GAWorkshop zu Hibernate 3.2.2 GA
Workshop zu Hibernate 3.2.2 GA
Oliver Belikan
 
2009 03 17 Spring101
2009 03 17 Spring1012009 03 17 Spring101
2009 03 17 Spring101gueste4be40
 

Ähnlich wie Java EE 5 (20)

Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
 
Datenbankzugriff mit der Java Persistence Api
Datenbankzugriff mit der Java Persistence ApiDatenbankzugriff mit der Java Persistence Api
Datenbankzugriff mit der Java Persistence Api
 
Der Application Server ist tot (?) - es lebe Jakarta EE!
Der Application Server ist tot (?) - es lebe Jakarta EE!Der Application Server ist tot (?) - es lebe Jakarta EE!
Der Application Server ist tot (?) - es lebe Jakarta EE!
 
node.js
node.jsnode.js
node.js
 
Feige sein! Testen im Java-EE-Umfeld
Feige sein! Testen im Java-EE-UmfeldFeige sein! Testen im Java-EE-Umfeld
Feige sein! Testen im Java-EE-Umfeld
 
Introduction to JEE
Introduction to JEEIntroduction to JEE
Introduction to JEE
 
Java Persistence 2.0
Java Persistence 2.0Java Persistence 2.0
Java Persistence 2.0
 
Java EE Microservices ohne Server
Java EE Microservices ohne ServerJava EE Microservices ohne Server
Java EE Microservices ohne Server
 
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne BallastJava EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne Ballast
 
Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?Java oberflächlich betrachtet - Welche GUI ist die richtige?
Java oberflächlich betrachtet - Welche GUI ist die richtige?
 
Java Persistence 2.0
Java Persistence 2.0Java Persistence 2.0
Java Persistence 2.0
 
Java EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne BallastJava EE 7 - Enterprise-Anwendungen ohne Ballast
Java EE 7 - Enterprise-Anwendungen ohne Ballast
 
EnterJS 2015 - JavaScript von Morgen schon heute
EnterJS 2015 - JavaScript von Morgen schon heuteEnterJS 2015 - JavaScript von Morgen schon heute
EnterJS 2015 - JavaScript von Morgen schon heute
 
Java EE 6/7 - Enterprise-Anwendungsentwicklung leicht gemacht
Java EE 6/7 - Enterprise-Anwendungsentwicklung leicht gemachtJava EE 6/7 - Enterprise-Anwendungsentwicklung leicht gemacht
Java EE 6/7 - Enterprise-Anwendungsentwicklung leicht gemacht
 
GWT
GWTGWT
GWT
 
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
iJUG Java Aktuell [Februar 2015] Lukas Eder - jOOQ - ein alternativer Weg mit...
 
Testen im EE-Umfeld – Seien Sie feige!
Testen im EE-Umfeld – Seien Sie feige!Testen im EE-Umfeld – Seien Sie feige!
Testen im EE-Umfeld – Seien Sie feige!
 
Workshop zu Hibernate 3.2.2 GA
Workshop zu Hibernate 3.2.2 GAWorkshop zu Hibernate 3.2.2 GA
Workshop zu Hibernate 3.2.2 GA
 
Concurrency in java
Concurrency in javaConcurrency in java
Concurrency in java
 
2009 03 17 Spring101
2009 03 17 Spring1012009 03 17 Spring101
2009 03 17 Spring101
 

Mehr von GFU Cyrus AG

Social Media im Unternehmen
Social Media im UnternehmenSocial Media im Unternehmen
Social Media im Unternehmen
GFU Cyrus AG
 
Clean Code Developer
Clean Code DeveloperClean Code Developer
Clean Code Developer
GFU Cyrus AG
 
Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.
GFU Cyrus AG
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
GFU Cyrus AG
 
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
GFU Cyrus AG
 
Requirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordertRequirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordert
GFU Cyrus AG
 
SharePoint 2010 - Was ist neu, was wird besser!
SharePoint 2010 - Was ist neu, was wird besser!SharePoint 2010 - Was ist neu, was wird besser!
SharePoint 2010 - Was ist neu, was wird besser!
GFU Cyrus AG
 
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
GFU Cyrus AG
 
Liferay Portal - ein Webportal für viele Unternehmensanforderungen
Liferay Portal - ein Webportal für viele UnternehmensanforderungenLiferay Portal - ein Webportal für viele Unternehmensanforderungen
Liferay Portal - ein Webportal für viele Unternehmensanforderungen
GFU Cyrus AG
 
PostgreSQL im Produktivbetrieb
PostgreSQL im ProduktivbetriebPostgreSQL im Produktivbetrieb
PostgreSQL im Produktivbetrieb
GFU Cyrus AG
 
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
GFU Cyrus AG
 
Wieviel Web2.0 braucht Ihr Unternehmen?
Wieviel Web2.0 braucht Ihr Unternehmen?Wieviel Web2.0 braucht Ihr Unternehmen?
Wieviel Web2.0 braucht Ihr Unternehmen?
GFU Cyrus AG
 
Das Java-Spring-Framework in der Praxis
Das Java-Spring-Framework in der PraxisDas Java-Spring-Framework in der Praxis
Das Java-Spring-Framework in der Praxis
GFU Cyrus AG
 
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer SeminarverwaltungAgile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
GFU Cyrus AG
 
Wissensmanagement bei Volkswagen
Wissensmanagement bei VolkswagenWissensmanagement bei Volkswagen
Wissensmanagement bei Volkswagen
GFU Cyrus AG
 
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
GFU Cyrus AG
 
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalkGrenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
GFU Cyrus AG
 
Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...
Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...
Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...
GFU Cyrus AG
 
Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...
Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...
Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...
GFU Cyrus AG
 
E-Learning mit Moodle
E-Learning mit MoodleE-Learning mit Moodle
E-Learning mit Moodle
GFU Cyrus AG
 

Mehr von GFU Cyrus AG (20)

Social Media im Unternehmen
Social Media im UnternehmenSocial Media im Unternehmen
Social Media im Unternehmen
 
Clean Code Developer
Clean Code DeveloperClean Code Developer
Clean Code Developer
 
Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
 
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
Datenschutz bei Facebook & Co. - Wie schütze ich meine persönlichen Daten im ...
 
Requirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordertRequirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordert
 
SharePoint 2010 - Was ist neu, was wird besser!
SharePoint 2010 - Was ist neu, was wird besser!SharePoint 2010 - Was ist neu, was wird besser!
SharePoint 2010 - Was ist neu, was wird besser!
 
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
Pragmatische Einführung von IT-Servicemanagement - ITIL im Unternehmen - Erfa...
 
Liferay Portal - ein Webportal für viele Unternehmensanforderungen
Liferay Portal - ein Webportal für viele UnternehmensanforderungenLiferay Portal - ein Webportal für viele Unternehmensanforderungen
Liferay Portal - ein Webportal für viele Unternehmensanforderungen
 
PostgreSQL im Produktivbetrieb
PostgreSQL im ProduktivbetriebPostgreSQL im Produktivbetrieb
PostgreSQL im Produktivbetrieb
 
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
Java Server Faces 2.0 - Der Standard für moderne und komponentenbasierte Weba...
 
Wieviel Web2.0 braucht Ihr Unternehmen?
Wieviel Web2.0 braucht Ihr Unternehmen?Wieviel Web2.0 braucht Ihr Unternehmen?
Wieviel Web2.0 braucht Ihr Unternehmen?
 
Das Java-Spring-Framework in der Praxis
Das Java-Spring-Framework in der PraxisDas Java-Spring-Framework in der Praxis
Das Java-Spring-Framework in der Praxis
 
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer SeminarverwaltungAgile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
Agile Geschäftsprozeßanalyse OOA/D am Beispiel einer Seminarverwaltung
 
Wissensmanagement bei Volkswagen
Wissensmanagement bei VolkswagenWissensmanagement bei Volkswagen
Wissensmanagement bei Volkswagen
 
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
Professionelle Anforderungsanalyse am Beispiel einer Java-Anwendung zur Betri...
 
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalkGrenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
Grenzüberschreitende Geschäftsprozesse mit Microsoft SharePoint und BizTalk
 
Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...
Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...
Projekt! - Toll - Ein Anderer Macht`s! - Voraussetzungen für eine erfolgreich...
 
Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...
Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...
Standardsoftware in der Versicherungsbranche - Betrachtung eines Paradigmenwe...
 
E-Learning mit Moodle
E-Learning mit MoodleE-Learning mit Moodle
E-Learning mit Moodle
 

Java EE 5

  • 1. Java EE 5 Was bringt die neue Java Enterprise Edition 5? Dirk Weil, GEDOPLAN GmbH 2006-11-07
  • 2. Java EE 5 JSR 244 von 05/2004 Final Release am 11.05.2006 Implementierungen Glassfish Sun Java System Application Server PE 9 JBoss (EJB-3-Preview) BEA WebLogic 9 (Integration mit Spring Pitchfork) Oracle (EJB-3-Container) SAP WebAS ? 2
  • 3. Technologie-Neuerungen Component Model Technologies EJB 3.0 / Java Persistence JavaServer Faces 1.2 JavaServer Pages Standard Tag Library 3
  • 4. Technologie-Neuerungen Web Service Technologies JAX-WS 2.0 JAXB 2.0 SAAJ StAX ... 4
  • 5. Hauptziel: Vereinfachungen Java-Annotationen statt XML-Descriptoren Meta-Daten im Quellcode (Java 5 !) Descriptoren werden überflüssig Descriptoren können weiterhin genutzt werden Configuration by Exception Vielfältige Defaults Nur Ausnahmen verlangen explizite Parameter 5
  • 6. Hauptziel: Vereinfachungen Technische Interfaces entfallen Geringe Abhängigkeit von der Umgebung Geringerer Entwicklungsaufwand Viele J2EE-Patterns werden überflüssig 6
  • 7. EJB 3.0: Erstellung von Beans Business-Interface Implementierung durch POJO Annotationen statt XML-Konfiguration Keine technischen Interfaces Keine RemoteException 7
  • 8. EJB 3.0: Erstellung von Beans @Remote public interface SrvInfo { public long getFreeMemory(); } @Stateless public class SrvInfoBean implements SrvInfo { public long getFreeMemory() { return Runtime.getRuntime().freeMemory(); } } 8
  • 9. EJB 3.0: Dependency Injection ENC-Werte können in Bean injiziert werden Umgebungs-(Konfigurations-)werte Ressource-Referencen EJB-Referenzen 9
  • 10. EJB 3.0: Dependency Injection @Stateless public class EnvEntryDemoBean { @Resource(name="mwstSatz") private Double mwstSatz = 0.16; … @Stateless public class ResRefDemoBean { @Resource(name = "jdbc/defaultDS") private javax.sql.DataSource defaultDS; … @Stateless public class EJBRefDemoBean implements EJBRefDemo { @EJB private EnvEntryDemo ejbRef; … 10
  • 11. EJB 3.0 Früher ungleich höherer Aufwand Technische Interfaces (EJBObject, SessionBean ...) Bean implementierte Remote Interface nicht Home Interface nötig Konfiguration im Deployment Descriptor RemoteException Expliziter Lookup der Umgebungswerte und Referenzen 11
  • 12. Java Persistence Entities Leichtgewichtig à la JDO oder Hibernate Annotierte POJOs Zugriff über Entity Manager injected, kein expliziter Lookup Detachable 12
  • 13. Java Persistence @Entity @NamedQuery(name = "findAllAccounts", query = "SELECT a FROM Account a") public class Account implements Serializable { private int id; private String owner; private double balance; @Id @GeneratedValue public int getId() { return id; } public void setId(int id) { this.id = id; } ... } 13
  • 14. Java Persistence Relationen @ManyToOne @JoinColumn(name="OWNER_ID") public Person getOwner() { return owner; } Vererbung @Entity @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS) public class GeschaeftsPartner { … 14
  • 15. Java Persistence Deutlich besser als EJB 2.x Entity Beans Keine Interfaces nötig Kein Deskriptor Vererbung problemlos Leistungsfähige Abfragesprache Als Value Objects nutzbar 15
  • 16. JavaServer Faces Komponenten für Web-Anwendungen Statusbehaftet Event-Modell Template Engine z.B. JSP, Facelets Leistungsfähige Expression Language 16
  • 17. Web Services Auch hier: Annotationen Keine zusätzlichen Build-Tools nötig @WebService() public class Hello { @WebMethod() public String sayHello(String name) { return "Hello, world"; } } 17
  • 18. Web Services Automatische Generierung der WS-Infrastruktur WDSL RPC-Mapping webservice.xml 18
  • 19. Die Leichtigkeit des Entwickelns … … Demo! 19
  • 20. fü Danke für die Aufmerksamkeit! 20