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 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