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:
DatabasePro, Ausgabe 6/2009, S. 68 - 72
buschmais startet in das neue Jahr auf der OOP 2010. Vom 25. - 29. Januar 2010 wird das International Congress Center München zum Treffpunkt für Softwarearchitekten und für Entscheider. Unter dem Motto „Productivity: People, Process and Technology“ wird sich die OOP den aktuellen und praxisnahen Softwarethemen widmen.
Wir laden Sie zu interessanten Gesprächen mit unseren Spezialisten ein. Besuchen Sie uns an unserem Stand 8.4c!
Gern können Sie mit uns im vorab einen Gesprächstermin für die OOP vereinbaren. Kontaktieren Sie uns einfach per E-Mail über info@buschmais.com oder per Telefon unter 0351 320923-0.
Mit unserem Freepass-Ticket (PDF) können Sie die Ausstellung und das Rahmenprogramm kostenfrei besuchen.
Erfahren Sie mehr über die OOP 2010 und über das kostenfreie Besucherprogramm.

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.
‘Buchrezension: JBoss im Einsatz’ weiterlesen
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:
‘O/R-Mapping ohne Schnickschnack’ weiterlesen
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-bean-name>user</managed-bean-name>
<managed-bean-class>
my.app.model.Person</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
<managed-property>
<property-name>homeAddress</property-name>
<value>#{address}</value>
</managed-property>
</managed-bean>
<managed-bean>
<managed-bean-name>address</managed-bean-name>
<managed-bean-class>
my.app.model.Address</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
<managed-property>
<property-name>city</property-name>
<value>Dresden</value>
</managed-property>
<managed-property>
<property-name>street</property-name>
<value>Leipziger Str. 93</value>
</managed-property>
</managed-bean>
</faces-config>
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?
‘Initialisierung von JSF-Managed-Beans’ weiterlesen