Schlüsselthemen der W-JAX 2013

Strategien für den Wandel: Insights von der W-JAX 2013

Hartmut Schlosser, Claudia Fröhling, Diana Kupfer

Die IT befindet sich im Wandel. In vielen Branchen genügt es nicht mehr, existierende Geschäftsprozesse durch gut gemachte Informationstechnologie nur zu unterstützen. Unternehmen sind vielmehr gefordert, rein digitale Geschäftsmodelle zu implementieren, wie sie idealtypisch von erfolgreichen Startups wie Google oder Facebook vorgelebt werden.

Dieser tiefgreifende Transformationsprozess zog sich denn auch wie ein roter Faden durch das Programm der W-JAX 2013, die in vielen Sessions, Workshops und Keynotes aufzeigte, wie sich der Wandel in der IT auf technologischer wie strategischer Ebene bewältigen lässt. Denn so gut wie kein Bereich bleibt hier unberührt – seien es die etablierten Unternehmensprozesse, die sich ob der Anforderung kurzer Time-to-Market-Spannen oft als zu träge erweisen; seien es die liebgewonnenen Enterprise-Server-Technologien, die sich zunehmend mit leichtgewichtigen Browser- bzw. elastischen Cloud-Ansätzen messen müssen; oder die traditionellen Storage-Lösungen, die sich im Lichte der Big-Data-Herausforderung die Performance-Frage gefallen lassen müssen; und nicht zuletzt das Internet der Dinge, das dem Bereich Embedded – und damit gerade der Java Community – völlig neue Horizonte eröffnet.

IT-Strategien für das 21. Jahrhundert

Gleich die erste Keynote von Jeff Sussna (Ingineering.IT) stimmte die Teilnehmer in den W-JAX-Grundton einer sich verändernden IT-Welt ein.  „Wir befinden uns mitten im Übergang von der Industriellen zur Post-Industriellen Ära“, war Sussnas These, die er mit einigen Fakten untermauerte. Lange Jahre führende Unternehmen wie Kodak werden vom Markt verdrängt, Startups wie Facebook und Google erwirtschaften Milliarden-Beträge, selbst gestandene Branchen-Riesen wie Microsoft und Apple müssen sich stets neu erfinden, um relevant zu bleiben.

Kurz: Was wir heute sehen, ist, dass Wandel zur Normalität wird und starre Unternehmen, die sich nicht ständig den geänderten Bedingungen anpassen, abgehängt werden.

Sussna bemühte die militärische Metapher der sogenannten OODA-Schleife: Wer den Zyklus von „Observe, Orient, Decide, Act“ schneller bewältigt, hat einen Vorteil über die feindliche Partei – gleich wie am Ende die Handlung ausfällt. 

Was heißt das für die IT des 21. Jahrhunderts? Laut Sussna verändern sich in der post-industriellen Zeit die unternehmerischen Grundwerte:

Es geht nicht mehr um das reine Produzieren und Bereitstellen von Produkten (Things), sondern um die Vermittlung von Erlebnissen mit den Dingen (Experience), um das Mit-Gestalten von Produkten (Co-Creation), um den Beziehungsaufbau zum Kunden (Relationships). Das ständige Einholen von Feedback wird dabei wichtiger als die generalstabsmäßige Planung; kontinuierliches Lernen geht über das Befolgen von Best Practices; Anpassung hat mehr Gewicht als Effizienz.

Neu ist auch – und das freute natürlich die Besucher der W-JAX -, dass IT-Systeme der Schlüssel zum Erfolg werden: Kunden können nicht mehr ohne IT angesprochen werden. Feedback kann nicht mehr ohne IT eingeholt werden. Das Business ist mehr und mehr IT-getrieben.

Nun bringen diese unternehmerischen Veränderungen aber auch neue Anforderungen an IT-Systeme mit sich. Die IT-Systeme waren kompliziert – jetzt werden sie komplex, konstatierte Sussna, da immer mehr unberechenbare Faktoren auf das System einwirken. Solche komplexen Systeme sind schwer vorab zu modellieren und zu kontrollieren – und erzeugen somit regelmäßig Situationen, in denen Anpassungen vorgenommen, Fehler behoben, Ausfälle wett gemacht werden müssen.

IT-Systeme der post-industriellen Zeit müssen deshalb nicht Ausfall-sicher sein. Stattdessen kommt es darauf an, dass Ausfälle schnell behoben werden können. „From fail-safe to safe-to-fail“, lautete Sussnas Formel. In diesem Kontext fiel auch das Wort „resilient“  – zu deutsch etwa „belastbar“, „dehnfähig“, „rückfedernd“ -, das wir in der Folge noch von vielen anderen W-JAX-Speakern gehört haben und sich auch als Kernthese im Reactive Manifesto aus dem Scala-Umfeld wiederfindet.

[ header = Seite 2: Scala und die funktionale Renaissance ]

Scala und die funktionale Renaissance

Vor fünf Jahren hielt Scala-Schöpfer Martin Odersky eine Keynote auf der W-JAX. Damals war Scala erst fünf Jahre alt und weit weniger populär. Die Sprache stand sogar noch in dem Ruf, zu akademisch zu sein, zu schwer zu erlernen.

Fünf Jahre später: Scala feiert ihren zehnten Geburtstag und bekommt ein ganztägiges Panel auf einer großen Java-Konferenz gewidmet. Die Sprache hat bewiesen, dass sie weit mehr ist als eine Kopfgeburt des Professors aus Lausanne: reif für den Einsatz in unterschiedlichsten Unternehmen zum Beispiel – sei es bei einer Tageszeitung wie der Süddeutschen, bei einem Software-Testing-Unternehmen wie der imbus AG oder beim Mobilfunkhersteller Nokia.

Der Erfolg Scalas ist nicht nur auf die Sprache selbst zurückzuführen, sondern – genau wie bei Java – auch auf das expandierende Scala-Ökosystem. Dazu gehören das Aktoren-Framework Akka, das Web-Framework Play – zu beiden wurden Vorträge auf der W-JAX gehalten –, das REST-/HTTP-Toolkit Spray oder auch das etwas weniger populäre Web-Framework Lift. Nicht zuletzt verlieh die Gründung des Unternehmens Typesafe durch Odersky und Jonas Bonér im Mai 2011, vom Investor Greylock Partners großzügig bezuschusst, Scala Schubkraft.

Die JVM-Sprache ist vieles gleichzeitig: statisch getypt, funktional, objektorientiert, imperativ und zur Nebenläufigkeit geeignet, wie Viktor Klang in seiner Nachmittagssession zeigte. Dabei steht Scala sicherlich auch exemplarisch für eine Veränderung des vorherrschenden Programmierparadigmas der Java Community, in der 15 Jahre lang Objektorientierung gepflegt wurde. Wie es scheint, erleben funktionale Aspekte in Zeiten von verteilten Umgebungen und Multicore-Systemen eine Renaissance auf der JVM – und das hat gute Gründe.

Den Aspekt der funktionalen Programmierung machte auch der Keynoter Neal Ford (Thoughtworks) zum Thema seines Vortrags. Ford hält die alten Dichotomien – schwache versus starke, statische versus dynamische Typisierung – für überholt, genauso wie die polyglotte Pyramide von Ola Bini. Bini hatte sich 2008 für ein Architekturmodell stark gemacht, nach dem die unteren Schichten einer Anwendung in statischen, die mittleren Schichten in dynamischen und die oberen in domänenspezifischen Sprachen (DSLs) implementiert sind. Fords neues Pyramidenmodell sieht vor, dass die unteren Architekturschichten funktional (d.h. auch stateless), die mittleren imperativ und die oberen mithilfe von DSLs programmiert werden. Die Immutability funktionaler Sprachen sei eine unabkömmlich stabile Basis für Applikationen und vereinfache den Code erheblich, so Ford.

Glaubt man dem langjährigen JAX- und W-JAX-Speaker, so führt längst kein Weg mehr am funktionalen Paradigma vorbei. „All major languages are adding functional elements at a very fast pace.“ Recht hat er – man braucht sich nur die Neuerungen in Java 8 zu vergegenwärtigen, um zu sehen, dass die Zeichen auf funktionale Programmierung stehen.

[ header = Seite 3: Neue Stacks für Webarchitekten ]

Neue Stacks für Webarchitekten

Moderne Webanwendungen stehen vor neuen Herausforderungen. Neben der zunehmenden Zahl an mobilen Clients gibt es neue Protokolle und APIs wie beispielsweise WebSocket, AMQP oder SPDY; des Weiteren nimmt JavaScript eine immer wichtigere Rolle bei der Entwicklung von „State of the Art“-Webanwendungen ein. Die Implementierung dieser Anwendungen muss nicht immer mit dem Java EE Framework erfolgen. Und so beschäftigte sich der Web Architecture Day mit neuen Ansätzen, die der etablierten Java-EE-Schule den einen oder anderen Trick voraus haben könnten: Vert.x, Netty, WebSocket, ROCA und der sogenannte MEAN Stack.

Vor etwa einem Jahr hatte noch gut ein Drittel der Teilnehmer eines JAXenter-Quickvotes angegeben, Vert.x nicht zu kennen. Das dürfte sich mittlerweile geändert haben. Zwar ist es noch immer gängig – und notwendig –, die Web-Technologie dem besseren Verständnis wegen als „JVM-Alternative zu Node.js“ zu paraphrasieren. Doch in Sachen Popularität hat die polyglotte Plattform zur Programmierung asynchroner I/O-Anwendungen gegenüber Node.js ein wenig Boden gutgemacht.

Vert.x zeichnet sich durch ein Aktoren-ähnliches Concurrency Model aus. Der verteilte und dadurch hoch skalierbare Event Bus, der die serverseitigen Komponenten verbindet,  wird von Vert.x-Entwicklern gern als „Nervensystem“ der Plattform bezeichnet. Vert.x unterstützt neben Java auch JavaScript, CoffeeScript, Ruby, Python, und Groovy. Auch Scala- und Clojure-Implementierungen sind in Arbeit. Während Node.js die Google V8 JavaScript Engine zur Ausführung verwendet, kommt bei Vert.x die Java-Runtime zum Einsatz.

Zu den verwandten Technologien, die Eingang in Vert.x fanden, gehört auch Netty, ein Framework zur Erstellung von nicht-blockierenden (NIO-)Netzwerkapplikationen. Der Konnex zwischen Vert.x und Netty macht sich auch im Entwicklerpersonal bemerkbar: Norman Maurer, der Core-Committer von Netty, ist mittlerweile auch am Vert.x-Projekt beteiligt. In diesem Jahr stellte Maurer zum zweiten Mal in Folge Netty auf einer W-JAX vor.

Premiere auf einer JAX feierte indes das Konzept der Resource-oriented Client Architecture (ROCA) – eine Art Manifest, das für die Server- und die Clientseite jeweils einen Katalog an Empfehlungen enthält. Die Verfasser des ROCA-Manifests machen sich für eine RESTful Server-Seite stark – und eine Client-Seite, die nach dem Progressive Enhancement-Prinzip aufgebaut ist. Client- und Serverlogik sollen demnach möglichst unabhängig voneinander sein, um Fehlerwiederholungen zu vermeiden, aber einander komplementär ergänzen. Der Clou: Hält man sich an die dort formulierten Prinzipien, kann man die Möglichkeiten einzelner Webtechnologien optimal ausschöpfen, ohne konventionelle Webarchitekturprinzipien notwendigerweise aufgeben zu müssen. Das zumindest verspricht Stefan Tilkov: „Es ist leichter, mit dem Web als gegen das Web zu kämpfen“, so der Speaker, dessen Talk den Raum bis auf den letzten (Steh-!)Platz füllte.

Der MEAN-Stack – gemeint ist eine Kombination aus MongoDB, Express, AngularJS und Node.js – war Thema des finalen Talks von Marco Rico-Gomez. Die Serverseite (Node.js, Express) enthält nur die Business-, das Frontend (Angular.js) nur die UI-Logik. Vorteile dieses Stacks sind u. a., dass man lediglich eine Programmiersprache (JavaScript) für Server und Client benötigt, sich Schemamigration erspart und eine ereignisgesteuerte Architektur mit nicht-blockierendem I/O zur Verfügung hat, so der Referent.

[ header = Seite 4: Herr der Daten ]

Herr der Daten

Big Data Days ohne Hadoop, das wäre wie eine (W-)JAX ohne Java. Seit seinen bescheidenen Anfängen im Rahmen von Yahoos Suchmaschinen-Projekt Nutch ist das Java-Framework für verteilte, skalierbare Systeme zum Dreh- und Angelpunkt wegweisender Big-Data-Lösungen avanciert. Oder, wie der W-JAX-Speaker Kai Wähner es formuliert: „das Thema Nummer eins, wenn es um die Verarbeitung großer Datenmengen geht“ – nicht nur im Java-Umfeld, sondern auch weit darüber hinaus. Hadoop ist damit eine Art Exportschlager der Java-Welt. Und mit Version 2 wird sich das keineswegs ändern.

Die Hadoop-eigene Kombination aus HDFS (Hadoop Distributed File System) und dem Programmiermodell MapReduce hat sich als Erfolgsrezept erwiesen. Neben Yahoo sind u. a. Twitter, Facebook, AOL, und IBM prominente Nutzer. Selbst Microsoft setzt mit Azure und dem Windows Server auf Hadoop auf. Das Timing der Big Data Days könnte im Übrigen nicht besser sein: Erst seit drei Wochen, seit 15. Oktober, ist Version 2 – genauer: 2.2 – von Hadoop verfügbar. Nach mehr als drei Jahren Entwicklungszeit wurde die nächste Generation des gelben Elefanten endlich aus dem Sack gelassen.

Wieso hat das Release so lange auf sich warten lassen? Grund war eine Art Generalüberholung der Ablaufumgebung. Das neue System MapReduce 2.0, auch bekannt als YARN (Yet Another Resource Negotiator), das in der Architektur auf das Dateisystem HDFS (Hadoop Distrubuted File System) aufsetzt, teilt die wichtigsten Funktionalitäten des JobTrackers in zwei separate Bereiche auf: (Hardware-)Ressourcen-Verwaltung und Job-Verwaltung, sprich: die Speicherung der Daten einerseits, die Verarbeitung andererseits. Damit ist man nicht mehr auf MapReduce beschränkt  – beliebige verteilte Programme können nun direkt auf Hadoop laufen.

Die Echtzeitverarbeitung der exorbitant steigenden Datenmengen aus sozialen Medien etc. hatte das Hadoop-Projekt in den vergangenen Jahren vor eine große Herausforderung gestellt. Mit der neuen Version zeigt die Vorreitertechnologie, dass sie auch diese mit Bravour meistern kann – und das halten, was Bernd Fondermanns Session-Titel auf der W-JAX verspricht, nämlich „schneller, bigger, weiter“ zu sein.

Auch HBase basiert auf Hadoop. Diese Technologie stand im Fokus von Lars Georges (Cloudera) Vortrag, an dem das Interesse auf dieser W-JAX sehr groß war. HBase ist die Kurzform von „Hadoop Database“. Es handelt sich um eine Open-Soruce-Implementierung des proprietären Google-Datenbanksystems BigTable. In den Jahren nach seiner Gründung durch Mike Cafarella legte HBase eine steile Karriere hin: von einem Contrib-Modul (2007) in Hadoop wurde es zu einem Unterprojekt (2008), von einem Unterprojekt schließlich zu einem Apache-Hauptprojekt. Aktuell trägt es die Versionsnummer 0.96. Seit Version 0.94 unterstützt HBase „regionslokale Transaktionen“, die mit den Entitätsgruppen im Google-Megastore-Projekt vergleichbar sind. HBase hat die Vorteile, verteilt, spaltenorientiert und multidimensional zu sein. Es schreibt sich zudem eine hohe Verfügbarkeit sowie Performanz auf die Fahnen.

Eine hoch gejubelte NoSQL-Technologie im Java-Umfeld ist Neo4j. Die Graphdatenbank stand ebenfalls auf der Agenda des zweiten Big Data Days auf der W-JAX, wo Stefan Armbruster (Neo Technology) eine Einführung gab.

Die letzte Session des Big Data Days war zugleich ein kleiner Vorgeschmack auf die im Anschluss stattfindende Embedded Night: Ramon Wartala zeigte, dass es keineswegs gigantische Serverracks braucht, um die Funktionsweise von Hadoop nachzuvollziehen. Zu diesem Zweck bastelte Wartala mit Einplatinenrechnern (Cubieboards) ein konventionelles Hadoop-Cluster zusammen. Dass es nicht nur auf Datenvolumina ankommt, sondern auch auf ausgeklügeltes Clustering, war Thema der Session „Personal Hadoop Cluster“.

[ header = Seite 5: Spaß mit Lego MINDSTORMS NXT ]

Spaß mit Lego MINDSTORMS NXT

 Premiere auf der W-JAX: Am Mittwoch Abend fand in diesem Jahr erstmals eine „Embedded Night“ statt. Die Stars des Abends waren Roboter-Fahrzeuge der Lego-MINDSTORMS-NXT-Serie und AR.Drone-Quadrokopter. In zwei Konferenzräumen fanden sich interessierte Konferenzteilnehmer ein, um sich über die Hard- und Software autonomer Quadrokopter zu informieren und bei der Programmierung von Roboterfahrzeugen mithilfe der Java-basierten Programmierumgebung leJOS NXJ selbst Hand anzulegen. W-JAX-Speaker Bernhard Löwenstein leitete den MINDSTORMS-Workshop, Dr. Jürgen Sturm und Jakob Engel von der TU München gaben Einblicke in ihre Arbeit mit fliegenden Robotern.

Die Begeisterung über diese Gadgets war enorm, der Ansturm übertraf die Erwartungen der Organisatoren bei weitem. Wer hätte auch gedacht, dass nach einem langen Konferenztag über Enterprise-Java, Business Technology & Co. der bloße Anblick von Lego-Baukästen das Kind im Manne und in der Frau wecken würde? Bernhard Löwenstein, ehrenamtlicher Obmann des gemeinnützigen Instituts zur Förderung des IT-Nachwuchses [1], war nicht weniger verblüfft, zumal er diesen Workshop zum ersten Mal für Erwachsene anbot.

Wer rettet den Duke? (Bild: B. Löwenstein)

Bereits lange, bevor die Workshops ihre Türen öffneten, standen die Teilnehmer im Flur des Konferenzhotels Schlange. Besonders der MINDSTORMS-NXT-Workshop war gefragt: 54 Teilnehmer meldeten sich nach Löwensteins kompaktem Einführungsvortrag für ein Roboter-Rennen an, das unter dem Motto „Rettet den Duke“ stand. Ziel des Spiels war es, ein Roboterfahrzeug so zu programmieren, dass es mithilfe ansteckbarer Farb- und Ultraschallsensoren einen Parcours fehlerfrei durchquert. Auch auf Geschwindigkeit kam es an. Hinter der Ziellinie wartete eine Duke-Figur, der das Fahrzeug ein „Rettungspaket“ bringen sollte.

Das große Rennen. Anfeuern lassen sich Roboter nicht, wodurch es aber nicht weniger spannend war (Bild: B. Löwenstein)

Nach zwei Durchgängen stand der Sieger fest: Das „Team Perkele“ (siehe Bild) schaffte dank seiner genial einfachen Strategie, sich auf einen seitlichen Fahr-, d.h. Farbstreifen und minimales Sensorzubehör zu konzentrieren, eine Bestzeit von ca. 41 Sekunden. Die strahlenden Sieger gewannen ein Lego-MINDSTORMS-EV3-Kit, den Nachfolger der NXT-Serie. Die Gewinner des zweiten und des dritten Platzes durften sich über Buchpreise freuen.

Dem Siegerteam gratulierte Conference Chair Sebastian Meyen (r. Bild: B. Löwenstein)

Wer nicht dabei sein konnte, hat möglicherweise auf der JAX 2014 [2] wieder Gelegenheit dazu. Dort soll es wie im Vorjahr wieder einen „Embedded Experience Day“, also einen ganzen Special Day zu Embedded-Technologien geben, MINDSTORMS NXT inklusive!

Weitere Berichte, Interviews und Session-Mitschnitte von der W-JAX 2013 finden Sie in der W-JAX-Serie auf JAXenter und in unserem YouTube Channel JAX TV!

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Hartmut Schlosser ist Redakteur und Online-Koordinator bei Software & Support Media. Seine Spezialgebiete liegen bei Java-Enterprise-Technologien, JavaFX, Eclipse und DevOps. Vor seiner Tätigkeit bei S & S Media studierte er Musik, Informatik, französische Philologie und Ethnologie.
Claudia Fröhling
Claudia Fröhling
Claudia Fröhling hat in verschiedenen Redaktionen als TV- und Onlineredakteurin gearbeitet, bevor sie 2008 zur Software & Support Media GmbH kam und sich bis 2014 um alle Projekte des Verlages im Ressort Java kümmerte. Claudia hat einen Abschluss in Politikwissenschaften und Multimedia Producing. Ihr Google+ Profil findest du hier.
Diana Kupfer
Diana Kupfer
Diana Kupfer war Redakteurin bei S&S Media für die Zeitschriften Java Magazin, Eclipse Magazin und das Portal JAXenter. 
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.