Java Magazin 4.13

Umfang: 100 Seiten
Erhältlich ab: 2013-03-06 00:00:00
Autoren: Jeanfrançois Arcand, Andreas Bauer, Christian Gross, Martin Dilger, Walid El Sayed Aly, Sven Haiges, Dominik Helleberg, Lukas Holzamer, Jendrik Johannes, Christine König, Arne Limburg, Bernhard Löwenstein, Christian Meder, Michael Müller, Florian Potschka, Nils Preusker, Lars Röwekamp, Chris Rupp, Remo Schildmann, Michael Schnell, Dirk Schüpferling, Yann Simon, Kai Spichale, Mario Tonelli, Dino Tsoumakis, Eberhard Wolff, Tobias Zeck
Sie werden zu unserer Partnerseite kiosk.entwickler.de weitergeleitet
Magazin
News
Bücher: DevOps für Developers
Bücher: Radikal führen
Java Core
Mixins mit Java-Bordmitteln
Realisierung von Mixins mittels AOP (AspectJ) oder Quellcodemodifikation (JaMoPP)
von Jendrik Johannes und Michael Schnell
Titelthema
vert.x – alles wird alles
Polyglott – asynchron – modular
von Eberhard Wolff
Node.js – hinter dem Hype
Sollte man sich als Java-Entwickler mit Node.js beschäftigen?
von Christian Gross
Atmosphere
WebSocket-Portabilität auf der JVM
von Jeanfrançois Arcand
Tutorial
Play – jetzt wird’s ernst!
von Yann Simon und Remo Schildmann
Web
Aber nicht die Bohne!
Wicket 6 und JSR 303 – Bean Validations
von Martin Dilger
Spring ins OAuth-Vergnügen!
Implementierung eines OAuth-2.0-Servers mit Spring Security
von Sven Haiges
Das dynamische Web
von Nils Preusker
Enterprise
Continuous Integration in großen Projekten
Vorteile mehrstufiger Integration und hoher Automatisierung
von Kai Spichale
Kolumne: EnterpriseTales
Wie frag’ ich die Datenbank? Typsichere dynamische Abfragen mit JPA
von Lars Röwekamp und Arne Limburg
Java EE meets Smart Metering
Entwicklung einer Energiedatenmanagement-Anwendung mit Java EE 6
von Andreas Bauer, Dino Tsoumakis und Tobias Zeck
Git in Kombination mit anderen Systemen
von Walid El Sayed Aly
Retrospektive
Load Testing
von Bernhard Löwenstein
Android360
Mobile Geräte verwalten
von Lukas Holzamer, Mario Tonelli und Christine König
We are family
Nexus 4 und Nexus 10 genauer unter der Lupe
von Christian Meder
Emulierte Roboter
Den Android Emulator effektiv nutzen
von Dominik Helleberg
O/R Mapping in Android
ORMLite, greenDAO und stORM
von Lars Röwekamp und Arne Limburg
Agile
Fragen und Antworten
Warum Sie in Interviews nie die ganze Wahrheit erfahren
von Chris Rupp und Dirk Schüpferling
Alles Scripting oder was?
Da ist man nun seit so vielen Jahren Java-Entwickler, d. h. Spezialist für die beste Programmiersprache der Welt, und plötzlich mehren sich die Rufe nach polyglotter Programmierung. Haben wir nicht über die Jahre bewiesen, dass wir mit Java praktisch alles machen können, was die IT-Fantasie erdenken kann?
Dank zahlreicher Webframeworks haben wir eine ungeheure Auswahl an Architekturen, wenn es um Java-basierende Webanwendungen geht. Für die komplizierteren Fälle können wir zwischen Java EE und Spring wählen, und dank Android können wir auch Smartphone-Apps mit unserer geliebten Alleskönnersprache schreiben.
Und überhaupt – hatte es nicht immer geheißen: „Scripting is for kids“ und „Real men compile“?
Ola Bini, vermutlich einer der wichtigsten Vordenker moderner Programmiersprachen derzeit, hat einmal ein interessantes Modell entworfen. Jedes Softwaresystem solle sich demnach in drei Ebenen gliedern lassen. Die unterste Ebene bilde dabei der „Stable Layer“, typischerweise programmiert in Java (der Sprache) oder in einer anderen kompilierten Sprache wie etwa Scala. Hier werden die Fundamente einer Anwendung programmiert, die wichtigsten APIs, sozusagen der Kernel des Systems.
Darüber befindet sich der „Dynamic Layer“, typischerweise in einer (oder mehreren) dynamischen Sprachen geschrieben, wie etwa Groovy, JRuby, Clojure oder JavaScript. Hier wird, gemäß dem Modell, der überwiegende Teil der Geschäftslogik eines Systems entwickelt. Der Vorteil dynamischer Sprachen auf dieser Ebene: Dadurch, dass der Code nicht kompiliert wird, lassen sich Modifikationen „on the fly“ realisieren, was in einer Welt dramatisch beschleunigter Geschäftsprozesse und immer schnellerer Anpassungszyklen von großem Vorteil sein kann. Darüber hinaus erlauben Skriptsprachen typischerweise einen erheblich kompakteren Programmcode, was uns eine höhere Produktivität sowie eine geringere Fehleranfälligkeit verspricht.
On top finden wir den so genannten „Domain Layer“, und hier geht es ans geschäftliche Eingemachte: Hier werden Preise berechnet oder Daten ausgewertet, Zinssätze entwickelt oder Geschäftsregeln definiert und vieles andere mehr. Auf diesem Layer sollten wir den Fachabteilungen, denen unsere Systeme ja letztendlich dienen, größtmögliche Gestaltungsmöglichkeiten geben. Domänenspezifische Sprachen sind daher, laut Ola Bini, das Mittel der Wahl für diesen Bereich.
Gewiss, wir sollten diese Gedanken keineswegs als Dogma betrachten, so wie wir eigentlich nichts in der Welt der Softwarearchitektur dogmatisch verstehen sollten. Aber interessant sind Olas (gar nicht mal so neue) Ideen für eine Strukturierung polyglotter Systeme auf jeden Fall: Unterschiedliche Sphären erfordern unterschiedliche Antworten auf Probleme, und diese lassen sich am besten in zielgerichteten Sprachen formulieren. Aus diesem Grunde haben wir uns in der vorliegenden Ausgabe einigen Scripting-Technologien für die Java-Plattform zugewandt. vert.x ist ein polyglottes Framework für die Java-Plattform und wird von Eberhard Wolff (Seite 18) vorgestellt. Node.js wurde von einer aktiven Community lange Zeit stark gehypt und stellt ein interessantes Konzept für JavaScript auf dem Server dar; ob es ein neues Tor zur Webarchitektur der Zukunft öffnet, prüft Christian Gross in seinem Artikel auf Seite 24. Und mit Atmosphere betrachten wir ein Framework, das mit verschiedenen Java-Technologien kompatibel für eine reibungslose Unterstützung von Protokollen wie WebSockets sorgt (Seite 33).
Halten wir‘s mit dem Fazit von Eberhard Wolff: Die Beschäftigung mit Scripting-Frameworks weitet auf jeden Fall den Horizont – zumal vert.x und Atmosphere dezidiert für die Java-Plattform gemacht sind. Und denken Sie bitte daran: Als Java-Enterprise-Entwickler haben Sie zu den Helden der 2000er-Jahre gezählt; aber die Welt verändert sich rapide, und die Softwareentwicklung wird ohne Zweifel mehrsprachiger. Die Plattform hat mittlerweile bewiesen, dass sie zu nachhaltiger Innovation fähig ist. Jetzt ist es an der Java-Community zu beweisen, dass sie trotz (oder gar wegen) ihrer Erfolge bis heute zu einem Umdenken bereit ist.
In diesem Sinne: Viel Spaß beim Lesen!
Sebastian Meyen, Chefredakteur Java Magazin
Twitter: @smeyen
Google+: gplus.to/JavaMagazin