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 App...
Technologie-Neuerungen

  Component Model Technologies
     EJB 3.0 / Java Persistence
     JavaServer Faces 1.2
     Java...
Technologie-Neuerungen

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




             ...
Hauptziel: Vereinfachungen

  Java-Annotationen statt XML-Descriptoren
     Meta-Daten im Quellcode (Java 5 !)
     Descri...
Hauptziel: Vereinfachungen

  Technische Interfaces entfallen
     Geringe Abhängigkeit von der Umgebung
     Geringerer E...
EJB 3.0: Erstellung von Beans

  Business-Interface
  Implementierung durch POJO
  Annotationen statt XML-Konfiguration
  ...
EJB 3.0: Erstellung von Beans
@Remote
public interface SrvInfo
{
  public long getFreeMemory();
}
              @Stateless...
EJB 3.0: Dependency Injection

  ENC-Werte können in Bean injiziert werden
     Umgebungs-(Konfigurations-)werte
     Ress...
EJB 3.0: Dependency Injection
@Stateless
public class EnvEntryDemoBean
{
  @Resource(name="mwstSatz")
  private Double mws...
EJB 3.0

  Früher ungleich höherer Aufwand
     Technische Interfaces (EJBObject, SessionBean ...)
     Bean implementiert...
Java Persistence

  Entities
     Leichtgewichtig à la JDO oder Hibernate
     Annotierte POJOs
     Zugriff über Entity M...
Java Persistence
      @Entity
      @NamedQuery(name = "findAllAccounts",
                  query = "SELECT a FROM Accoun...
Java Persistence

  Relationen       @ManyToOne
                   @JoinColumn(name="OWNER_ID")
                   public ...
Java Persistence

  Deutlich besser als EJB 2.x Entity Beans
     Keine Interfaces nötig
     Kein Deskriptor
     Vererbu...
JavaServer Faces

  Komponenten für Web-Anwendungen
  Statusbehaftet
  Event-Modell
  Template Engine z.B. JSP, Facelets
 ...
Web Services

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

              @WebService()
              ...
Web Services

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




         ...
Die Leichtigkeit des Entwickelns …

  … Demo!




                                     19
fü
Danke für die Aufmerksamkeit!




                                20
Upcoming SlideShare
Loading in...5
×

Java EE 5

1,050

Published on

Durch die Java EE 5 ist es gelungen, die Komplexität der Entwicklung von Enterprise-Anwendungen drastisch zu reduzieren und mächtige Defaults zur Verfügung zu stellen. Entwickler sollen mit Hilfe der Java EE 5 Software Web Services und SOA-Applikationen (Service-oriented Architecture) der nächsten Generation erstellen. Neuen Techniken, wie die APIs Enterprise JavaBeans 3.0 (EJB) und JavaServer Faces sowie das Java Persistence API und das "Java API for XML-based Web Services" (JAX-WS), sollen die Entwicklung von Web- und Unternehmensapplikationen beschleunigen.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,050
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Java EE 5

  1. 1. Java EE 5 Was bringt die neue Java Enterprise Edition 5? Dirk Weil, GEDOPLAN GmbH 2006-11-07
  2. 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. 3. Technologie-Neuerungen Component Model Technologies EJB 3.0 / Java Persistence JavaServer Faces 1.2 JavaServer Pages Standard Tag Library 3
  4. 4. Technologie-Neuerungen Web Service Technologies JAX-WS 2.0 JAXB 2.0 SAAJ StAX ... 4
  5. 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. 6. Hauptziel: Vereinfachungen Technische Interfaces entfallen Geringe Abhängigkeit von der Umgebung Geringerer Entwicklungsaufwand Viele J2EE-Patterns werden überflüssig 6
  7. 7. EJB 3.0: Erstellung von Beans Business-Interface Implementierung durch POJO Annotationen statt XML-Konfiguration Keine technischen Interfaces Keine RemoteException 7
  8. 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. 9. EJB 3.0: Dependency Injection ENC-Werte können in Bean injiziert werden Umgebungs-(Konfigurations-)werte Ressource-Referencen EJB-Referenzen 9
  10. 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. 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. 12. Java Persistence Entities Leichtgewichtig à la JDO oder Hibernate Annotierte POJOs Zugriff über Entity Manager injected, kein expliziter Lookup Detachable 12
  13. 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. 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. 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. 16. JavaServer Faces Komponenten für Web-Anwendungen Statusbehaftet Event-Modell Template Engine z.B. JSP, Facelets Leistungsfähige Expression Language 16
  17. 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. 18. Web Services Automatische Generierung der WS-Infrastruktur WDSL RPC-Mapping webservice.xml 18
  19. 19. Die Leichtigkeit des Entwickelns … … Demo! 19
  20. 20. fü Danke für die Aufmerksamkeit! 20
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×