Java EE 5
Upcoming SlideShare
Loading in...5
×
 

Java EE 5

on

  • 1,592 views

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 ...

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.

Statistics

Views

Total Views
1,592
Views on SlideShare
1,589
Embed Views
3

Actions

Likes
0
Downloads
7
Comments
0

1 Embed 3

http://www.slideshare.net 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Java EE 5 Java EE 5 Presentation Transcript

  • 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