Agile Testing Days Berlin, der zweite Tag

Key Note Lisa Crispin – Are Agile Testers Different?

Besucht und geschrieben von: Andreas & Thomas

Die Antwort auf die Fage aus dem Titel der Keynote lautet: Ja! Dabei hat Lisa auch wieder besonderen Fokus darauf gelegt, dass es in agilen Teams keine Silos gibt, sondern es darum geht gemeinsam die gestellte Aufgabe zu lösen. Hierzu sind (agile) Tester genauso wichtig wie (agile) Entwickler und alle anderen Mitglieder des Teams.
(weiterlesen…)

Thomas Jaspers

 

JUG Köln – 5. Oktober – Vortragsfolien von Eclipse RAP

Bei meinem Vortrag heute bei der Java User Group waren zahlreiche Zuhörer anwesend. Vielleicht wollten sie aber nur an das kostenlose Buffet oder warteten auf den folgenden Vortrag :-) Spaß beiseite, es war ein guter Abend. Neben meinem Vortrag über Eclipse RAP (zu dem sich unten die Slides finden) zeigte Andreas Schreiber vom DLR wie die Forscher mit verschiedenen Programmiersprachen ihre echten Probleme lösen; ganz im Gegensatz dazu, wie wir manchmal Probleme lösen die wir ohne Programmiersprachen garnicht hätten. Er zeigte wie man zum Beispiel Phyton an Java anbinden kann und warum das Sinn macht. Dr. Simon Wiest brachte nicht nur leuchtende Bären mit um den Zustand seines Hudson Builds zu visualisieren, sondern auch einige Ideen und Ansätze wie man Builds beschleunigen kann. Der Abend endete mit ein paar Kölsch und Diskussionen wie man denn mit Nabaztags einen sinnvollen Buildmonitor bauen kann ohne nur deren Ohren zu rotieren :-)

Fabian Lange

 

(English) Agile 2009 calendar files for Outlook

This page lists all sessions from the forthcoming Agile 2009 conference, with a slightly modified calendar file to make them work

  1. If you live in another timezone than America / Chicago
  2. You happen to use Outlook as your calendar (and maybe sync that to your Smartphone)

For the technically inclined, more background can be found in the accompanying blog. Here’s the most important, the list of sessions, ready to be imported into your calendar. Let me know if it worked, or if you still have problems.

Andreas Ebbert-Karroum

 

codecentric @ W-Jax 2008, Tag 1, 04.11.2008

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

Tim van Baars

 

Ajax World Conference in San Jose, CA

Vom 20.-22. Oktober fand in San Jose die 6. Ajax World Conference statt. Als Abgesandter von codecentric war ich 3 Tage dort vor Ort um die neuesten Trends und Entwicklungen im Bereich Ajax und RIA zu verfolgen.

In dem unten angehängten Slideset habe ich versucht die vielen Eindrücke zu sammeln und strukturiert wiederzugeben. Ich hoffe es ist mir zumindest ansatzweise gelungen. Generell war der breite Blick auf das Thema RIA, AJAX oder web 2.0 sehr interessant. Sowohl sehr technische als auch sehr businesslastige Präsentationen gaben ein sehr vollständiges Bild des status quo.

Ich für mich habe dort viele interessante und nette Menschen kennengelernt, einiges an JavaScript Wissen vertieft und gute Argumentationshilfen für den geschäftlichen Einsatz von RIA gesammelt.

Für Rückfragen bezüglich der Konferenz, den Slides oder RIA im allgemeinen stehe ich gerne zur Verfügung

Fabian Lange

 

Internet Explorer 8 wird neue AJAX-Funktionalität enthalten

Ein Blog-Eintrag bei MSDN berichtet von einer wesentlichen Neuerung im Internet Explorer 8: es wird eine Steuerung der Navigationshistorie per JavaScript geben.

Bisher war es für den Anwender AJAX-basierter Webanwendungen problematisch, vor- und rückwärts durch die Anwendung zu navigieren. Nach dem Laden der Seite wird unter Umständen der Zustand des HTML-Dokuments durch AJAX verändert, zum Beispiel durch dynamisches Nachladen von Texten oder Daten. Klickt der Anwender in seinem Browser auf “zurück”, so springt der Browser zurück zur vorher geladenen Seite in der Anwendung. Damit geht der komplette, per AJAX veränderte Zustand, verloren.

Die neue Implementierung im Internet Explorer 8, adaptiert aus HTML 5, soll dieses Problem beheben. Es wird dann möglich sein, AJAX-basierte Vorgänge mit in die Navigationshistorie aufzunehmen, so dass der Anwender wieder nach dem altbekannten Vor-/Zurück-Prinzip durch die Applikation navigieren kann. Damit wäre ein großes Usability-Problem mit AJAX-Anwendungen gelöst.

Das neue Feature wird hier als Video präsentiert.

Über die Adaption dieser Funktionalität in Firefox oder anderen Browsern gibt es derzeit noch keine konkreten Aussagen. Man wird abwarten müssen, wie sich die einzelnen Hersteller orientieren.

Robert Spielmann