Java Magazin 5.15

Umfang: 132 Seiten

Erhältlich ab: 08.04.2015

Autoren: Wajdi Almir Ahmad, Joachim Arrasz, Marc van den Bogaard, Uwe Friedrichsen, Martin Gutenbrunner, Arno Haase, Roland Huß, Thomas Jaggi, Thorben Janssen, Tobias Kraft, Arne Limburg, Thomas Mauch, Christian Meder, Christian Mennerich, Sascha Möllering, Nils Preusker, Alois Reitbauer, Roland Rickborn, Lars Röwekamp, Peter Roßbach, Daniel Takai, Stefan Toth, Anatole Tresch, Stefan Ullrich, Eberhard Wolff

Sie werden zu unserer Partnerseite entwickler.de weitergeleitet

Magazin

News

Bücher
Continuous Delivery

Java Core

Collections aus dem Baukasten
Key Collections: Ein Baukasten für Java Collections
Thomas Mauch

High-Performance-Computing mit Java
Parallelisierung auf der Grafikkarte mit JNI, Rootbeer und CUDA
Marc van den Bogaard

Kolumne: Java-Trickkiste
Class Loading
Arno Haase

Titelthema

Damit es auch morgen noch läuft
Eine kurze Einführung in Resilient Software Design
Uwe Friedrichsen

Keine Angst vor Chaos
Netflix: Resilience konsequent zu Ende gedacht
Stefan Toth

Resilience mit Spring Cloud
Integration von Netflix Hystrix und Turbine
Eberhard Wolff

„Die normale Betriebsart heißt: teilweiser Ausfall.“
Michael Nygard über Resilient Software Design

Architektur

Nachhaltig – oder nur langlebig?
Eine Replik auf Wolfgang Pleus’ Artikelserie „Sustainable Service Design“
Nils Preusker

Enterprise

Kolumne: EnterpriseTales
Reduce to the Max: Microservices
Lars Röwekamp und Arne Limburg

Tools

Kolumne: Docker rockt Java
Docker mit Maven steuern
Roland Huß und Peter Roßbach

Testen mit Selenium
Teil 2: Selenium im Grid parallelisieren
Roland Rickborn und Tobias Kraft

Datenbanken

Eine kleine Reise durch NoSQL
Teil 1: Relationale Datenbanksysteme
Christian Mennerich und Joachim Arrasz

Agile

Konfiguration in Java
Einführung in Apache Tamaya
Anatole Tresch und Thorben Janssen

Web

gulp
Inkrementelles Frontend-Build-System auf Node.js-Basis
Daniel Takai und Thomas Jaggi

Vaadin und JavaScript
Vaadin-Widgets mit JavaScript erweitern
Wajdi Almir Ahmad

„Loserere“ Kopplung
Dynamische Schnittstellenkommunikation mit JSON und REST
Stefan Ullrich

Cloud Computing

Gesundheitscheck für Cloud-Apps
Architektur-Reviews in hoch dynamischen Anwendungen
Alois Reitbauer und Martin Gutenbrunner

Android360

Die wunderbare Reise des Androiden Lollipop
Release auf Raten: Android 5 Lollipop und seine Nexus-Geräte
Christian Meder

The Art of Runtime Development
ART vs. Dalvik VM
Lars Röwekamp und Arne Limburg

Fehler passieren

In den Anfängen des Internets machten Firmen wie Sun Microsystems, IBM, aber auch Yahoo! als Taktgeber technischer Innovation und als Orte „wahrhaftiger Ingenieurskultur“ auf sich aufmerksam.

Nach dem Platzen der New-Economy-Blase folgte dann das Google-Jahrzehnt, in dem technische Exzellenz, modernste Geek-Kultur (vom kostenlosen Bioessen bis hin zur berühmten „20 Percent Time“) und höchste Sympathiewerte in der Tech-Szene den Internetgiganten aus Mountain View auszeichneten.

Möglicherweise befinden wir uns heute mitten in einem „Netflix-Zeitalter“, zumindest wenn man über das Thema Softwarearchitektur in extrem skalierbaren Systemen nachdenkt. So ist der Videostreamer, dem man nachsagt, für ein Drittel des gesamten Downstream-Internettraffics in Nordamerika verantwortlich zu sein, Urheber von einer Fülle zukunftsweisender Konzepte für den Bau von Software – womit wir bei unserem Titelthema wären.

In Zeiten digitaler Geschäftsmodelle ist die Verfügbarkeit eines Systems von essenzieller Bedeutung für den Erfolg von Unternehmen. Da es aber deren Natur mit sich bringt, dass die entsprechenden Systeme hoch skalierbar und extrem verteilt mit einer Vielzahl externer Abhängigkeiten funktionieren, müssen wir uns eingestehen, dass Fehler unvermeidlich werden.

Wie können wir dann noch für die gebotene Verlässlichkeit sorgen? Bei klassischen Ansätzen der Qualitätssicherung und -optimierung würde man versuchen, die Anlässe für solche Fehler systematisch zu reduzieren oder gar zu eliminieren.

Das Konzept „Resilience“ schlägt da einen anderen Gedanken vor: Es ist etwas fundamental anderes, Fehler als nicht vorgesehene Ausnahme zu betrachten oder aber davon auszugehen, dass Fehler immer passieren können und passieren werden – und von dieser Warte aus nach Wegen zu suchen, die Verfügbarkeit von Systemen zu maximieren. Davon handelt unser Schwerpunkt ab Seite 33.

Wenn man bedenkt, dass das erfolgreichste Netzwerk, das in den vergangenen Jahrzehnten aufgebaut wurde und im Prinzip seit über zwei Jahrzehnten unverändert seinen Dienst tut, das Internet ist, dann ahnt man die Bedeutung des Resilience-Konzepts: Das Netz, vom amerikanischen Militär von Anfang an für den Fall des Ausfalls konzipiert, scheint das stabilste und dauerhafteste zu sein, das die IT je hervor gebracht hat. Es ist resilient.

Sebastian Meyen, Chefredakteur