codecentric @ W-Jax 2008, Tag 1, 04.11.2008

2 Kommentare

Wir sind heute zum ersten Konferenztag auf der W-Jax 2008, der führenden Konferenz für umfassendes Know-how im Java-Umfeld. Die Konferenz, die sich an Softwareentwickler, Projektleiter und Architekten richtet, beschäftigt sich mit den wichtigsten Aspekten erfolgreicher Enterprise-Projekte.

Wir nutzen die W-Jax als Forum, um mit unseren Kunden, potentiellen Kunden und Partnern Networking zu betreiben. Auf den folgenden Bilder sieht man unseren Messestand mit unseren Bereichen performance, architecture und open technology, zu denen wir spezialisierte Beratung und Services anbieten. Unser Stand ist direkt am Eingang des Ausstellungsbereiches und ist gut besucht. Unter anderem Alois Reitbauer von dynaTrace Software kommt nach seinem Vortrag „Architecture Notes on Java Database Access“ an unseren Stand und wir sprechen über aktuelle Themen. Schräg gegenüber von unserem Stand befindet sich der Stand von SUN microsystems, die opensolaris, GlassFish, MySQL und OpenOffice präsentieren.

Unsere Berater und Entwickler besuchen diese Veranstaltung, um sich auf den neuesten Stand zu aktuellen Technologie-Trends, Strategien und den Einsatz der jeweiligen Technologien zu bringen. Im Anschluss an die Konferenz werden die Technologien den anderen Kollegen von codecentric u.A. in unseren Freitagsmeeting vorgestellt, getestet und auf eine Eignung für potentielle Praxiseinsätze hin, auf „Herz und Nieren“ geprüft.

Eine Auswahl der besuchten Speaker-Slots und Sessions

Architecture Notes on Java Database Access (Alois Reitbauer)

Inhalt des Vortrages waren die häufigsten Probleme und Lösungsstrategien im Zusammenhang mit Datenbank-Anwendungen. Neben konkreten Problemen wurde auch speziell das Thema mangelnder Performance-Tests angesprochen. Interessant war hier, dass auf die Frage, wer Performance Tests im Unternehmen einsetzt, kaum einer der Anwesenden die Hand gehoben hat.

Auch in unserer Studie zum Thema „Performance im Java Umfeld“, die wir auf der diesjärigen Jax durchgeführt haben, wurde von den Teilnehmern der Studie als Ursache mangelnder Performance das Thema Datenbanken genannt. Hier besteht aber das Paradoxon, daß viele den Themenbereich Datenbanken als Problem ansehen, keiner aber Zeit und Geld in die Vermeidung von Problemen investiert.

Hier wäre es sehr interessant herauszufinden, wo die Gründe für diesen Widerspruch liegen.

Einer der Gründe könnte darin begründet sein, dass häufig wenige bis gar keine Performance Tools in den Unternehmen im Einsatz sind und auch das Wissen fehlt, geeignete Vorgehensweisen und Prozesse zur Performancemessung einzuführen und mit den gewonnen Daten über Tuningmaßnahmen eine Performanceverbesserung zu erreichen.

Tim van Baars @ codecentric GmbH

The Future Of The Web – Html 5, WebSocket and Comet (Jonas Jacobi)

Realtime-Anforderungen in Webanwendung werden immer gefragter – Die Erweiterung von AJAX heißt AJAX Push mit Comet sowie WebSocket. Während beim klassischen AJAX die Anfragen immer vom Client ausgehen, bietet AJAX Push die Möglichkeit an, den Server als Initiator einer Kommunikation zu nutzen.

Ein beliebtes Beispiel:

Während man sich auf einer Börsenseite die Kurse der Aktien anschaut, werden diese in Realzeit regelmäßig aktualisiert, ohne dass der Nutzer einen Refresh auf der Seite vornehmen muss.

Mit WebSocket wird über eine lange Zeit eine Verbindung mit dem Server aufgebaut über die dann in beiden Richtungen (full-duplex) kommuniziert werden kann. Sowohl der Client als auch der Server können hierbei Informationen an sein Gegenüber senden, so dass auch mit WebSocket Realtime-Anforderungen bedient werden können.

Fazit: Realtime-Aktualisierung von Webseiten ist eine schöne Variante, das Web interaktiver zu gestalten. Endlich erhält auch die Serverseite die Möglichkeit, ohne Zutun des Clients die Daten auf der Seite immer aktuell zu halten und diese Änderungen direkt im Client sichtbar zu haben.

Thomas Bosch, IT Consultant @ codecentric

Advanced JPA with EclipseLink (Doug Clarke)

EclipseLink ist die von Sun propagierte Opensource-JPA-Implementierung und entstand durch eine Portierung von Oracle-TopLink. Toplink selbst, ist nach der Portierung wieder als kommerzielle Lösung erhältlich.

Neben der Lieferung einer Referenz-Implementierung für JPA, bildet EclipseLink einen Layer über eine Reihe von Datenquellen und ermöglicht somit zusätzlich XML- und EIS-Persistence.

Im Vergleich zu Hibernate, welcher sein Caching über Third-Party-Anbieter löst, bietet EclipseLink eine eigene Caching-Lösung. Der Verbreitungsgrad ist im Vergleich zu Hibernate eher gering.

Demnach existieren im Netz bis auf die eigenen Seiten noch wenige brauchbare Informationen zu diesem Thema.

Die zusätzlichen Features wie XML-Persistence werden z.B. auch von Hibernate bereitgestellt, sodass er hier fraglich ist, ob die zusätzlichen Features ein Einscheidungskriterium darstellen.

Fazit: Beobachten!

Marc van den Boogard, IT Consultant @ codecentric

Do it asynchronous: Events und Messaging in Enterprise Architekturen (Jens Schumann)

Mit Asynchronität lässt sich eine Entkopplung von Komponenten leicht realisieren.

Events und Messaging bieten hier Möglichkeiten eine solche, wenn auch nicht zwingend erforderliche Asynchronität. Solche Event- oder Messaging-Driven Architekturen skalieren seht gut und lassen sich daher gut in stark ausgelasteten Anwendungen verwenden.

Events werden zumeist zum Prozessmonitoring verwendet. Sie bieten bei hochvolumigem Datenumsatz die Möglichkeit von Informationsaggregation, -selektion und dessen Monitoring.

Messaging wird hingegen eher zur Prozesssteuerung genutzt. Nachrichten, die über solche Wege versendet werden, enthalten in ihrem Content-Teil zumeist Informationen, die beim Empfänger direkt interpretiert werden.

Hier liegt ein Unterschied zu den Events. Events sind zumeist nur durch ihren Typ definiert, so dass auf Empfängerseite auf einen Event-Typ reagiert wird und nicht auf dessen Inhalt.

Fazit: Events und Messaging sind aus meiner Sicht eine gute Variante Komponenten voneinander zu entkoppeln und bilden gemeinsam mit Asynchronität einen guten Ansatz eine hohe Skalierbarkeit zu erreichen.

Thomas Bosch, IT Consultant @ codecentric

JavaFX – Java goes RIA (Lars Röwekamp)

JavaFX ist von Sun zum Nachfolger von Swing ernannt worden. Der große Vorteil gegenüber Swing ist die deklarative Syntax, die es ermöglicht, mit relativ wenigen Zeilen Code eine GUI-Applikation zu entwickeln. JavaFX ist eine DSL (Domain Specific Language), die auf die Entwicklung von Oberflächen hin optimiert wurde.

Code-Beispiel:

import javafx.ui.*;
import java.lang.System;
Frame {
    centerOnScreen: true
    visible: true
    height: 50
    width: 350
    title: "Hello codecentric application..."
    background: yellow
    onClose: operation() {System.exit(0);}
    content: Label {
        text: "Hello codecentric"
    }
}

Dies erzeugt einen einfachen Frame mit einem „Hello codecentric“-Label

Key Features von JavaFX – neben der deklarativen Syntax:

  • Funktionen sind Objekte einer Klasse, so dass sie auch Variablen zugeordnet oder als Parameter einer anderen Funktion übergeben werden können.
  • Sequenzen. Sie können als bessere Arrays gesehen werden und dienen der Abbildung einer Menge von Objekten, die vielfältig erstellt und verändert werden können
  • Das sog. Binding bietet die Möglichkeit, einer Variable einen Ausdruck oder eine andere Variable „anzubinden“. Bei Änderungen dieser angebundenen Variable oder des Ergebnisses des Ausdrucks wird der Wert der Variable neu gesetzt
  • Komponenten von JavaFX sind Wrapper von Swing Komponenten, die eine vereinfachte UI API besitze
  • Für grafische Elemente gibt es Scene Graph – ein Java2D-Wrapper. Hiermit lassen sich Effekte, wie Lichteffekte, Timelines oder Transformationen, auf JavaFX Objekte anwenden
  • Für Oberflächendesigner gibt es Plugins für Adobe Grafiktools, wie den Illustrator, die es ermöglichen eine einfache Trennung zwischen dem Obeflächendesign und der Geschäftslogik zu erreichen

JavaFX ist momentan noch in einem Preview-Status. Für Mitte 2009 ist eine komplette erste Version geplant.

Fazit: Aus meiner Sicht gesehen, bietet JavaFX nun endlich die Möglichkeit, auf einfache Art und Weise GUIs zu entwickeln. Die große Stärke ist dabei ebenso die Möglichkeit, über externe Grafik-Tools, Design und Logik getrennt voneinander zu entwickeln.

Thomas Bosch, IT Consultant @ codecentric

Kommentare

  • mydani

    Hallo,

    EclipseLink scheint wirklich leichte Anlaufschwierigkeiten zu haben – kein Wunder, bei der Art der Informationsstrukturierung. Die Homepage von EclipseLink erinnert an ein Kaufhaus – man findet nicht, was man sucht dafür 10000 andere interessante Dinge – und nach 2h hat man den Ausgang immer noch nicht gesehen. 🙂
    Dennoch, mit Oracle als Commiter und TopLink als Basis, wird EclipseLink sich über längere Zeit auf jeden Fall etablieren.

    Ob das aus für JavaFX auch gilt, ist – zumindest für meine Person – fraglich. Die Samples auf der SUN Homepage (z.B. eine animierte Bilderleiste) laufen langsam und stockend, also kein Genuss… Und Integration (Look&Feel) wird auch weiterhin ein (das) Thema bleiben. Ich hege immer noch die Hoffnung, das IBM und SUN sich etwas überlegen, um SWT nach SUNs Vorstellungen in die JVM zu integrieren.

    Gruß
    mydani

  • Tim van Baars

    15. Dezember 2008 von Tim van Baars

    Die Anlaufschwierigkeiten werden sich aus meiner Sicht auch mit einer zunehmenden Verbreitung von OSGi überwinden lassen. EclipseLink eignet sich sehr gut für den Einsatz in einem OSGi Container.

    Ein Kollege von mir war auf dem OSGi Event Day 2008 in Berlin. Folgende Präsentation in dem Zusammenhang wurde von Mike Keith gehalten:

    http://www.osgi.org/wiki/uploads/CommunityEvent2008/17_MikeKeith%20-%20Persistence%20in%20OSGi.pdf

Kommentieren

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.