Was der Wandel für die Java-Community bedeutet

Technologien für den Schritt nach Agilität


Durch den „Wirtschaftsdarwinismus“ ändern sich die Herausforderungen, denen sich die IT stellen muss. Aber welche konkreten Technologien sind relevant? Und wie beeinflussen die Herausforderungen den typischen Java-Entwickler?

Neue Technologien für Enterprises

Das Java-Ökosystem ist vor allem im Enterprise-Bereich führend und das auch schon sehr lange. Viele Technologien können auf eine ganze Dekade Geschichte zurückblicken – aber das Umfeld ändert sich. Das wird sicher an Java nicht spurlos vorbei gehen. Oft ist aber kein radikaler Wandel, sondern eine Ergänzung des „üblichen“ Technologiestacks ausreichend. Dieser Artikel gibt einen Überblick über die Technologien und dient als Hinweis auf die verschiedenen Trends. Er geht also in die Breite – und nicht so sehr in die Tiefe bei den einzelnen Technologien.

Continuous Delivery

Agile Prozesse versprechen, dass Features in Software wesentlich schneller umgesetzt werden können. Allerdings ist das Ergebnis eines agilen Prozesses „nur“ auslieferbare Software – ob sie dann wirklich in Produktion laufen wird, steht auf einem anderen Blatt. Genau dort setzt Continuous Deployment [1] an: Das Ziel ist es, Software regelmäßig in Produktion zu bringen. Dazu dient eine Deployment-Pipeline, in der die Software verschiedene Stufen durchläuft, bis sie schließlich in Produktion landet (Abb. 1). Diese Pipeline soll möglichst schnell und zuverlässig durchlaufen werden – und darauf zielen die Technologien für die Pipeline auch ab.

wolff_abb1.tif_fmt1.jpgAbb. 1: Deployment-Pipeline

Der erste Schritt in der Pipeline ist der „Commit ­Stage“. Er wird angestoßen, wenn ein Entwickler Code in die Versionskontrolle eincheckt. Konkret wird in diesem Schritt der Code kompiliert, Unit Tests durchgeführt und gegebenenfalls eine statische Codeanalyse durchgeführt. Werkzeuge für diesen Schritt sind: Continuous-Integration-Server wie Jenkins [2] oder Hudson [3] und Werkzeuge für statische Codeanalyse wie SonarQube [4]. Diese Technologien haben sich weitestgehend durchgesetzt. Also ändert sich in diesem Bereich für Java-Entwickler noch nicht so viel.

Der nächste Schritt sind Akzeptanztests. Im Gegensatz zu Unit Tests werden in diesem Schritt die fachlichen Anforderungen getestet. Klassisch werden dazu oft Testpläne aufgestellt und die einzelnen Anforderungen manuell abgetestet. Oft werden die Tests schon sehr detailliert beispielsweise in Excel-Checklisten beschrieben. Tests so genau zu beschreiben, ist aufwändig. Die Durchführung ist dann nur noch Routine. Abe...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang