Rückblick JPA-Roadshow: JPA 2.0 mit EclipseLink

Gestern fand unsere Roadshow in München ihren krönenden Abschluss. Gemeinsam mit Oracle Deutschland präsentierten wir in Düsseldorf, Stuttgart und München den State-of-the-Art der Java-Persistenz-Technologien. In drei überaus interaktiven Vorträgen betrachteten wird das Java-Persistence-API samt seiner Referenzimplementierung EclipseLink. Wir zeigten neben ausgewählten Neuerungen aus JPA 2.0 auch die erweiterten Fähigkeiten von EclipseLink/Oracle TopLink für skalierbare Geschäftsanwendungen. Den dritten Teil bildete eine Case-Study über die Migration einer bestehenden Persistenz-Schicht hin zur EclipseLink. Die Pausen zwischen den Vorträgen waren geprägt durch angeregte Diskussionen über das Thema „Persistenz“ im Allgemeinen und ihre Modernisierung im Besonderen.

Großer Dank gebührt Oracle Deutschland als hervorragenden Gastgeber der Veranstaltungen. Auch möchten wir uns bei allen Java-User-Groups bedanken, die unser Marketing für diese Veranstaltung unterstützten. Besonderer Dank gilt Michael Bräuer, der kongenial das Thema aus Sicht von Oracle darlegte. Wir sehen erwartungsvoll der nächsten Roadshow im Herbst dieses Jahres entgegen.

Bilder aus Stuttgart:


Die Vortragsfolien werden Anfang der nächsten Woche an alle Teilnehmer versendet, die dies auf ihrem Feedback-Bogen vermerkt haben.

Zu neuen Ufern: Java Persistence API 2.0

Im Zuge der noch druckfrischen Java Enterprise Edition 6 hat auch der Persistenz-Standard JPA wesentliche Ergänzungen erfahren. Die erste Spezifikation des Java Persistence APIs wurde im Mai 2006 fertiggestellt und liegt damit mehr als drei Jahre zurück. Die Einfachheit des Programmiermodells und die Ausdrucksstärke der Abfragesprache haben diese Mapping-Technologie seither zum Erfolg geführt. In manchen Projekten war allerdings festzustellen, dass einige Features nur unter Umgehung des Standards zu erzielen waren. Zweifel an einer einfachen Austauschbarkeit der Mapper-Implementierung entstanden. Die zweite Version des Java Persistence API kann diese Bedenken weitgehend zerstreuen…

Lesen Sie den vollständigen Artikel hier:
Download DatabasePro, Ausgabe 6/2009, S. 68 – 72

Buchrezension: JBoss im Einsatz

Cover: JBoss im Einsatz

Javid Jamae, Peter Johnson
Deutsche Übersetzung von Dorothea Heymann Reder
JBoss im Einsatz
Den JBoss Application Server konfigurieren

517 Seiten. FlexCover
€ 49,90
ISBN 978-3-446-41574-4

Vor nicht allzu langer Zeit waren Begriffe wie „Enterprise-Java-Beans“ oder „Application-Server“ noch von einer mystischen Aura umgeben. Nur tapfere Software-Architekten nahmen den Kampf mit dieser Technologie auf und sangen noch Jahre später von ihren Heldentaten. Mit der Java Enterprise Edition 5 hat sich die Sache wesentlich zum Besseren gewendet. Das Erstellen von Session-Beans und das Mappen von Modell-Objekten ist schnell erklärt und gehört heute zum Rüstzeug der meisten Java-Entwickler. Auch das Betreiben eines Application-Servers ist – von wenigen Ausnahmen abgesehen – geradliniger geworden.

Frei nach dem Motto: „Man kann nur konfigurieren, was man auch versteht“, treten die Autoren Javid Jamae und Peter Johnson an, den Betrieb eines JBoss AS 5 dem geneigten Entwickler näher zu bringen. Die Autoren nutzen ihre langjährige Erfahrung, um genau das in den Fokus zu rücken, was für eine erfolgreiche Produktivstellung von Anwendungen ausschlaggebend ist. Das Buch richtet sich dabei an Leser, die mit den Java-EE-Spezifikationen (EJB, JMS, JPA, JCA, JAXWS, …) bereits bestens vertraut sind; es wird deshalb nur überblicksartig erläutert, wie man Java-EE-Anwendungen erstellt. Das Augenmerk wird vielmehr auf die Frage gerichtet, wie man Anwendungen bereitstellt, absichert, auf Performance trimmt und ihre Verfügbarkeit in der Produktion sicherstellt. Neben den klassischen Java-EE-Anwendungen gehen die Autoren auch detailliert auf das Produkt JBoss Portal ein.

weiterlesen

O/R-Mapping ohne Schnickschnack

Zwischen der Flexibilität reinen SQLs und der Mächtigkeit ausgewachsener O/R-Mapper existiert eine kleine Bibliothek, die es beinahe in das JDK 6 geschafft hätte: EoD SQL (Ease of Development SQL). Die Idee hinter EoD SQL ist so genial wie einfach: Der Nutzer annotiert ein Java-Interface mit SQL-Statements und die Bibliothek liefert mittels eines Java-Reflection-Proxys eine Implementierung dieses Interfaces zur Benutzung:

public interface NutzerMgmt extends BaseQuery {

  @Select("SELECT COUNT(*) FROM USER")
  long ermittleNutzerAnzahl();

}

Folglich die Benutzung :

Connection c = … ;

NutzerMgmt nutzerMgmt = QueryTool.getQuery(c, NutzerMgmt.class);

try {

  long anzahl = nutzerMgmt.ermittleNutzerAnzahl();

} finally {

  nutzerMgmt.close(); // schließt ebenfalls die Connection

}

Möchte man das Gleiche mit reinem SQL erreichen, so ist der Code ungleich komplizierter:

weiterlesen

Initialisierung von JSF-Managed-Beans

Allgemein bekannt ist die Tatsache, dass Managed-Beans in der Faces-Config-XML-Datei nicht nur deklariert, sondern auch initialisiert werden können. Schon weniger bekannt ist die Tatsache, dass bei der Initialisierung der Beans auch Verknüpfungen zu anderen Managed-Beans hergestellt werden können. Zur Verdeutlichung soll der folgende Code-Schnipsel dienen:

<faces -config version="1.2" ...>
  <managed -bean>
    </managed><managed -bean-name>user</managed>
    <managed -bean-class>
            my.app.model.Person</managed>
    <managed -bean-scope>application</managed>
    <managed -property>
      <property -name>homeAddress</property>
      <value>#{address}</value>
    </managed>
  
  <managed -bean>
    </managed><managed -bean-name>address</managed>
    <managed -bean-class>
            my.app.model.Address</managed>
    <managed -bean-scope>application</managed>
    <managed -property>
      <property -name>city</property>
      <value>Dresden</value>
    </managed>
    <managed -property>
      <property -name>street</property>
      <value>Leipziger Str. 93</value>
    </managed>
  
</faces>

WEB-INF/faces-config.xml: Initialisierung einer Managed-Bean

In Zeile 9 wird die Verbingung zwischen der Bean „user“ und der Bean „address“ über die Eigenschaft „homeAddress“ hergestellt.

Wie lässt sich allerdings die Sache angehen, wenn man für das Address-Objekt keine eigenständige Bean deklarieren möchte?

weiterlesen

 Zurück 1 2 3 4 5 6 Vor