Besuch auf der JAX 2011

Eschborn, 23.06.2011

Vom 2. bis 6. Mai fand in diesem Jahr die 11. JAX in der Mainzer Rheingoldhalle statt. Mit 2000 Teilnehmern, 190 Konferenzsprechern und 50 Ausstellern ist sie mittlerweile die bedeutendste Java-Konferenz in Europa.

Unter dem Motto „Java-Ökosystem" wurde eine große Bandbreite an Themen behandelt. Dazu gehörten sowohl technische Themen für Entwickler rund um Java 7, HTML 5, JavaServer Faces (JSF) und JVM-Sprachen wie Scala, als auch Themen für Projektleiter wie z.B. Scrum und Kanban..

Die folgenden Themen fanden wir aus Agon Sicht besonders interessant:

Agile Entwicklung

Agile Vorgehensweisen haben inzwischen eine breite Akzeptanz gewonnen, was sich mit den Erfahrungen der Agon Solutions deckt. Mit Praxisbezug vertieft und lebhaft diskutiert wurden Best-Case-Vorgehensweisen wie das Pareto-Prinzip (80/20-Prinzip) und die notwendige Priorisierung des Product Backlogs zur Steigerung der Wirtschaftlichkeit von Software-Projekten sowie zur Erzielung von Ergebnissen in kurzen Iterationen. Auch deckt es sich mit unserer Erfahrung, dass iteratives Vorgehen ohne eine bereits existierende Infrastruktur für Entwicklung und Test und ohne starke Automatisierung von Test und Deployment nur schwer umsetzbar ist.

Business Process Management (BPM)

Ein eigener Special Day war dem Thema BPM gewidmet, das auch bei Agon durch ein eigenes Competence Center repräsentiert ist. Zum Zeitpunkt der JAX konnten bereits zu den Open Source Produkten Activiti, jBPM und Bonita eine verfügbare Laufzeitumgebung und Tool-Unterstützung (Roundtrip-Engineering) für die Business Process Modeling Notation (BPMN) 2.0 vermeldet werden.

Erste Projekterfahrungen mit gemischtem Einsatz der BPMN Notation in Fachbereichen und Entwicklung wurden vorgestellt. Eine Integration von BPMN-Modellen und -Engines mit Rules-Engines und Simulationsfunktionen sind in der Open Source Produktpalette aber noch nicht zu finden. BPMN ist eine relativ neue Sprache (Notation) um Geschäftsprozesse zu modellieren. Modelle ähneln einem Flussdiagramm, vergleichbar mit UML Activity Diagrammen. Die Sprache ist an die Bedürfnisse von Mitarbeitern der Fachabteilung angepasst und kann zusammen mit Mitarbeitern der Entwicklung zur Erstellung gemeinsamer Geschäftsprozess-Modelle eingesetzt werden. Vorteil von BPMN ist, dass die Notation eine direkte Ausführung in einer Business Process Engine erlaubt und so gegenüber anderen Notationen ein lückenloser Regelkreis (Roundtrip-Engineering) aus Design, Ausführung und erneuter Überarbeitung möglich ist. BPMN wird als präziser angesehen, schließt andererseits aber auch Inhalte anderer Notationen wie die Angabe konkreter Datencontainer und dessen Verhalten im Ablauf aus, was das Design und die Simulation von Geschäftslogiken und Verzweigungen erschwert.

Derzeit kommt kein Hersteller an der Integration von BPMN in eigene BPM-Produkte vorbei. BPMN wird in EU-Ausschreibungen häufig als Standard-Sprache für Geschäftsprozesse gefordert. Aus Agon Sicht ist die Modellierung in BPMN allerdings noch nicht wirklich verbreitet, andere Notationen wie ARIS und UML überwiegen. Sollte BPMB zu einem reinen Austauschformat reduziert werden, hätte es sicher seinen Sinn verfehlt.

Java

Der Fokus beim Java Core Day und der Keynote von Brian Goetz (Oracle) lag bei den Entwicklungen für Java 7 und 8 (Ende 2011 bzw. 2012). Hier wurde vor allem auf die funktionalen Konzepte (Stichwort Lambdas) hingewiesen, die in die Programmiersprache Java integriert werden. Mit diesen bereits aus anderen Sprachen (u.a. Scala) bekannten Konzepten, wird auf die Entwicklungen der Hardware reagiert. Für eine effiziente Nutzung von Multicore-Prozessoren sind funktionale Konzepte unabdingbar. Als Beispiel sei hier die altbekannte for-Schleife genannt, die derzeit die einzige Möglichkeit darstellt, durch Collections zu iterieren und die von Natur aus seriell arbeitet. Es ist schwierig, mit einem solchen Konstrukt mehrere Prozessoren effizient zu beschäftigen.

Immer wieder fiel der Hinweis auf die Trennung von Java als Programmiersprache und der Virtuellen Maschine (VM). Java braucht die VM – aber die VM Java nicht. Die VM dient heute schon als Plattform für andere Programmiersprachen, wie Groovy oder Scala. Ziel ist es, die VM auch für andere Nicht-Java-Sprachen zu etablieren. Aus Agon Sicht spielen die genannten alternativen Sprachen im Enterprise Bereich bisher nur eine Nebenrolle. Entsprechend gelassen kann man diese Entwicklung verfolgen.

Eng mit der VM verbunden ist die Garbage Collection. Da es derzeit drei große VMs mit Sun, JRockit und IBM gibt, existieren auch drei unterschiedliche Garbage Collectors (GC). Da alle drei verschiedene Strategien verfolgen, muss beim Tuning im Projekt ganz genau darauf geachtet werden, welche VM und damit welcher GC im Einsatz ist.

Cloud

Die Cloud ist da und wird auch bleiben. Da sind sich anscheinend auch die Kritiker einig. Auch wenn die technischen Vorteile vielleicht nicht für jeden im Vordergrund stehen, so sind auf jeden Fall die Kostenmodelle sehr attraktiv. Ob Infrastructure as a Service (IaaS), Platform as a Service (PaaS) oder Software as a Service (SaaS), alle drei Varianten haben ihre Vorzüge, aber auch ihre technischen Herausforderungen, die es zu meistern gilt.

Auch in diesem Bereich steht man mit Spring nicht auf der falschen Seite. Die großen Anbieter, wie Google App Engine, Amazon Beanstalk oder VMware Cloud Foundry kommen alle mit Spring-Anwendungen zurecht, wohingegen es derzeit kein Angebot für eine vollständige Java EE PaaS gibt.

NoSQL

Auch Spring erkennt jetzt den Wert nicht-relationaler Datenbanken und bietet mit der Spring Data JPA Unterstützung für „Not-only-SQL" Datenbanken an. Und damit allen JAX-Teilnehmern klar wurde, was NoSQL eigentlich bedeutet, gab Iran Hutchinson (Intersystems) in einer Keynote einen Überblick zum Thema. Iran Hutchinson präsentierte auch auf der JAX London am 11.04.2011 das neue Datenbank-Projekt Globals (www.globalsdb.org), eine kostenfreie, verteilte NoSQL-Lösung. Der Trend zu NoSQL-Datenbanken deckt sich auch mit der Erfahrung aus Agon Projekten, dass Technologien wie JavaScript und JSON geradezu nach einem direkteren Programmiermodell im Storage-Umfeld verlangen. Und NoSQL-Datenbanken wie z.B. Apache COuchDB bieten genau das.

Fragen Sie unseren Experten

Nicole Heyne
Marketing/Vertrieb
vertrieb@agon-solutions.de