codecentric als Goldsponsor auf der Jazoon ’11 in Zürich

Keine Kommentare

Tag 1.

[nggallery id=20]

Auf der diesjährigen Jazoon tritt codecentric auch aufgrund der neuen Niederlassung in der Schweiz als Goldsponsor auf. Zudem hat codecentric mit Uwe Friedrichsen und Andreas Ebbert-Karroum zwei Speaker-Slots, die von ihnen mit Agilitätsthemen gefüllt werden. Neben Oracle, netcetera und Microsoft, die Platinsponsoren sind, sowie CreditSuisse als zweiter Goldsponsor, gehört codecentric zu den Top 5 der Sponsoren der „International Conference of Modern Art of Software“, die auch in diesem Jahr wieder im Sihlcity Kinokomplex in Zürich stattfindet. Über 400 Teilnehmer aus aller Welt nehmen an der Konferenz teil. Der überwiegende Teil, nämlich 75%, sind Schweizer, was nicht wirklich überrascht. Von den übrigen 25% ist jedoch eine Gruppe mit 30% Anteil überraschend vorne. Die Mazedonier, gefolgt von Deutschen und Teilnehmern aus USA und UK.

Die einführende Keynote wird von David Chappell vorgetragen, der uns die Cloud etwas näher bringt. Es ist ein sehr kurzweiliger, ja sogar lebendiger Vortrag über verschiedene Aspekte von Cloud Computing. IaaS (Infrastructure as a Sercice) und PaaS (Platform as a Service) werden sehr gut erläutert und deren Unterschiede und verschiedenen Anwendungsmöglichkeiten dargestellt. IaaS ist momentan noch marktbeherschend wird jedoch, so die Meinung des Vortragenden in nächster Zeit immer mehr durch PaaS verdrängt. Im weiteren Verlauf werden uns noch die verschiedene Produkte, wie Microsoft Azure oder Amazon EC2 gegenübergestellt. Am Ende gibt es jedoch keinen Gewinner.

Ein großer Block des weiteren Konferenztages bildet natürlich das Thema „Cloud“. In gleich mehreren Sessions werden Möglichkeiten und Produkte für die Cloud vorgestellt. Alexis Moussine-Pouchkine und Ludovic Champenois gehen zunächst auf das Thema JavaEE 7 und deren geplante neue Features ein. In einer kleinen Demo zeigen sie dann, wie der Glassfish-Server virtuelle Maschinen einer VirtualBox starten und dessen Resourcen nutzen kann. Insgesamt eine sehr Produktgetrieben Präsentation mit zu vielen Zahlen zu Versionen von JSR’s und Standards, die in JavaEE 7 eingehen. In diesem Cloud Computing Block folgt dann eine Vorstellung der Cloud durch die Brille eines Managers. Ronnie Brunner und Jason Brazile liefern sich in ihrem Vortrag ein „Duell“, das die unterschiedlichen Blickwinkel von Kunde und Cloud-Provider darstellt. Die Firma Netflix wird von ihnen immer wieder als Paradebeispiel für einen wirtschaftlichen Einstieg in die Cloud vorgezeigt. Jedoch wird auch gesagt, dass es natürlich start vom Kontext abhängt, ob ein Gang in die Cloud wirtschaftlich ist, oder nicht. Nicht jedes Szenario ist in der Cloud sinnvoll.

Nach dem Cloud-Vormittag gibt es am Nachmittag doch noch andere Themen. In einem kurzen Vortrag von Marek Potociar werden REST und SOAP gegenüber gestellt. Wann ist welche Technologie geeignet und wann nicht. Vor allem: Was ist in der Cloud. Hierzu vorweg: Beide sind seiner Meinung nach Cloud-geeignet. Unterschiede lassen sich nur in einzelnen Punkten finden. So hat REST beispielsweise im mobilen Kontext, also auf kleinen Entgeräten aufgrund der Leichtgewichtigkeit die Nase vorn. Dafür zeigt SOAP bei nicht instabilen Verbindungen seine Stärken.

Am späten Nachmittag habe ich mir dann noch zwei Vorträge zu Java Werkzeugen angesehen. Zu Apache Camel und Gradle.
Kai Wähner und Martin Hubner zeigen in einer Live-Demo Apache Camel. Apache Camel ist ein Application Integration Framework, welches dann zum Zuge kommt, wenn verschieden Anwendungen in verschiedenen Protokollen miteinander kommunizieren wollen. Die Konfiguration der Integration kann dabei über verschiedene Wege erreicht werden. Es gibt eine Java DSL mit der über Methodenaufrufe deklarativ eine Konfiguration erfolgen kann. Natürlich gibt es auch einen Weg über XML, wie die Einbettung in eine Spring-Kontext.xml, die Integration zu konfigurieren. Insgesamt finde ich, dass das Framework interessant ist, vor allem, wenn ein schwergewichtiger ESB (Enterprise Service Bus) nicht benötigt wird. Für viele etwas kleinere Szenarien lässt sich Apache Camel sicher gut und schnell einsetzen.

Die letzte Session dieses Tages stellt die provokante These auf: Gradle. A better way to build. Etienne Studer stellte in seiner Präsentation das von ihm mitentwickelte Build-Tool Gradle vor. Ingesamt kommt das Tool gut bei mir an. Vor allem ist es sehr leichtgewichtig und einfach zu konfigurieren. Der Build läuft Task-basiert ab und es werden diverse Plugins angeboten, die beispielsweise Ant-Tasks ausführen. Immer wieder wird auch Maven als Build-Tool erwähnt, jedoch nicht wirklich in einen Vergleich einbezogen. Es fehlte also ein Argument, warum man jetzt von Maven, als ausgereiftes Build-Tool zu Gradle wechseln sollte. Ist Grade wirklich „A better way to build“?

In der Schluss-Keynote von Simon Ritter von Oracle ist unverkennbar, dass Oracle bemüht ist, sein Image in der Entwickler-Community zu verbessern. Immer wieder wird auf die großartige Java-Community verwiesen und gesagt, dass Java eine Sprache von Entwicklern für Entwickler sei. In den kommenden Java-Versionen, die nochmals in Feature-Listen dargestellt wurden, soll nun fortlaufend auf die Bedürfnisse der Entwickler eingegangen werden. Techniken wie z.B. Clojures sollen Einzug in die Sprache bekommen, wie es die Community schon lange gefordert hat.

 

Tag 2.

Der zweite Tag wird von einer eher ungewöhnlichen Keynote von Linda Rising eröffnet. Aus meiner Sicht ungewöhnlich, da der Vortrag überhaupt nicht technisch ist. Für eine Keynote einer Software-Konferenz schon recht ungewöhnlich. In ihrem Vortrag vergleicht sie auf ansprechede Art das Verhalten von Personen in Experimenten aus der kognitiven Wissenschaft mit dem Verhalten von Personen in Entwickler-Teams. Die Präsentation regt zum Nachdenken und Reflektieren eigener Verhaltensweisen an. Ein gelungener Start in den zweiten Tag.

Nachdem der Vortag großteils mit dem Thema Cloud Computing gespickt war, bildet nun das halten von Daten in Zeiten der Cloud einen Themenblock. Mircea Markus erläutert in seiner Präsentation die Notwenidigkeit von Datagrids, die im Gegensatz zu den Databases, also klassischen relationalen Datenbanken stehen. Er sagt, dass relationale Datenbanken nicht skalieren und neue Wege der Datenhaltung nötig sind um den Anforderungen des Cloud Computing gewachsen zu sein. Datagrids können auch in Kombination mit Datenbanken verwendet werden und bilden dann als Caches die Inhalte der Datenbank in Form von z.B. Schlüssel/Wert-Paaren nach, können jedoch dann auf mehrere Maschinen verteilt werden, was dann die Skalierbarkeit erhöht. Mircea erläutert auch die Problem solcher Datagrids, die mit den üblichen Cache-Problemen, wie dirty-reads umschrieben werden können.

In diesem Block der Datagrids folgte dann eine Vorstellung von Hibernate OGM. Hardy Ferentschik stellte den neuen Object Mapper von Hibernate vor. Der Untertitel des Mappers lautet „JPA for NoSQL“. Das bedeutet, dass der Object Mapper wie gewohnt, also wie bei JPA in relationalen Datenbanken funktioniert, jedoch im Hintergrund eine NoSQL-Datenquelle nutzt. Hierbei wird eine relationales Datenbankschema z.B. auf Schlüssel/Wert-Paare platt geklopft und in dieser Form persisiert. Als Datagrid Platform nutzt Hibernate Infinispan, was ebenfalls aus der JBoss-Community stammt. Mit Hibernate OGM werden also die Stärken von Hibernate und NoSQL Datagrids zusammengelegt. Dieser Ansatz ist auf jeden Fall dann zu empfehlen, eine Migration von relationalen Datenbanken zu NoSQL-Datagrids erfolgen soll und schon Hibernate JPA in der Anwendung genutzt wird.

In der folgenden Session brachte Thilo Tanner den Zuhörern das Rapid-Web-Development Framework Play! etwas näher. Das Framework bietet vieles, was ein Web-Framework mitbringen sollte. Templating, Internationalisierung, Testbarkeit durch eigene Testrunner, usw. Das Framework eignet sich vor allem, um mal eben schnell eine kleine Oberfläche zu erstellen, die kleine Funktionen abbildet. Zu erwähnen ist jedoch, dass das Framework noch viele Bugs enthält, die jedoch laut Präsentator durch die eigene Community sehr bald gefixt sein.

Beide Vorträge, Hibernate OGM und auch der Play!-Vortrag wurden sehr schnell vorgetragen. Die zur Verfügung stehende Zeit wurde auf die Hälfte reduziert, was sich stark auf die Qualität der Vorträge auswirkte. Es schien, als wären die Vorträge eigentlich für die doppelte Menge an Zeit gedacht gewesen. Die Verweildauer auf jeder Folie war viel zu kurz und auch die Demos wirkten durchgehastet. Schade eigentlich.

Zum Abschluss des zweiten Tages hatten sich die Organisatoren was besonderes ausgedacht. Den „Rookie Award“. Diese Auszeichnung wurde auch schon im letzten Jahr verliehen. Um als Rookie das Finale zu erreichen mussten bestimmte Kriterien erfüllt sein. Zum einen durfte die Altersgrenze von 26 Jahren nicht überschritten sein und zum anderen muss der Rookie aus Europa kommen. Ins Finale hatten es drei Bewerber geschafft, die mit ihren Vorträgen die Gunst des Publikums für sich gewinnen mussten. Die Wertung wurde über ein „Applausometer“ gemessen. Wie schon im letzten Jahr hieß der Sieger am Ende: Benjamin Muskalla und sein Vortrag über die Integration von Eclipse Mylyn mit Gerrit, Git und Hudson um die Produktivität bei Codereviews zu erhöhen.

Nach seinem Studium der Informatik stieß er direkt im Anschluss, im Jahr 2007, auf codecentric und ist seitdem begeisterter Arbeitnehmer.
In seinen Projekten bei der codecentric war er für diverse Versicherungen tätig und hat darin Systeme und Lösungen für Versicherungsprodukte geschaffen.

Share on FacebookGoogle+Share on LinkedInTweet about this on TwitterShare on RedditDigg thisShare on StumbleUpon

Kommentieren

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