Kolumne

Java-Magazin-Retro: SOA – ein besonderer Hype der damaligen Zeit

Bernhard Löwenstein

Ein herzliches Grüß Gott zu einer weiteren Ausgabe der Java-Magazin-Retrospektive. Dieses Mal steht die Nummer 9 aus dem Jahr 2005 auf dem Programm. Im Mittelpunkt stand mit dem Thema SOA (Service-orientierte Architektur) ein besonderer Hype der damaligen Zeit.

Die Grundidee bei diesem Architekturstil bestand darin, sämtliche Unternehmensfunktionalitäten in Form von unabhängigen Diensten zur Verfügung zu stellen und dann darauf basierend die einzelnen Geschäftsprozesse umzusetzen. Ins Zentrum sollte dadurch der eigentliche Businessprozess und nicht mehr die pure Technik rücken, wie Chefredakteur Sebastian Meyen im Editorial richtig anmerkte. Als Technologie zur Umsetzung einer SOA empfahlen sich zu dieser Zeit SOAP-basierte Web Services, als Integrationstechnologien boten sich BPEL (Business Process Execution Language) und BPMN (Business Process Model and Notation) an.

Java Magazin 5.2009 - Titelthema: SOA

Festzuhalten ist, dass der SOA-Ansatz damals nicht mehr unbedingt neu war, denn beispielsweise bereits Jini (mittlerweile Apache River) verfolgte schon Jahre davor dieses Paradigma. Auch die Idee, Applikationen auf Basis von Services zusammenzubauen, war nicht revolutionär, sondern vielmehr eine logische Konsequenz aus den jahrzehntelangen Entwicklungen. Was einst mit Funktionen begann, nahm seine Fortsetzung mit Units, Modulen und Bibliotheken, ehe Objekte, Komponenten und in bisher letzter Instanz Dienste folgten. Die Idee dahinter blieb aber stets die gleiche, nämlich Software aus möglichst unabhängigen, wiederverwendbaren Bausteinen zusammenzubauen. Lediglich die Granularität der Bausteine wuchs über die Jahre.

Der Artikel prognostizierte eine neue Rolle beim Entwicklungsprozess, und zwar die des SOA-Architekten. Dieser sollte als Bindeglied zwischen Fachbereich und IT-Bereich fungieren und somit für den Brückenschlag zwischen den beiden Welten sorgen. Wie entwickelte sich das Thema nun in den letzten Jahren? SOA war nicht, wie so oft in unserer Branche, nur ein vorübergehender Hype, sondern schaffte tatsächlich den Einzug in die IT. Wer heute Applikationen baut, ist jedenfalls gut beraten, seine Funktionalitäten in Serviceform zu realisieren und seine Prozesse auf Basis dieser Dienste umzusetzen. Im Idealfall wird dafür eine Beschreibungs- oder Modellierungssprache verwendet, wenngleich diese Vorgehensweise wenig verbreitet ist. Anstatt BPEL oder BPMN zum Verknüpfen der einzelnen Services zu einem Gesamtprozess zu verwenden, kommt in den meisten Fällen dafür immer noch herkömmlicher Programmcode zum Einsatz. Auch die explizite Rolle des SOA-Architekten findet man nur selten vor.

Ein weiterer Artikel beschäftigte sich mit statischen Variablen, Methoden und Blöcken in Java. Wie der Autor Michael Wiedeking gleich zu Beginn festhielt, ist das Keyword static in einer objektorientierten Sprache mit gewisser Vorsicht zu genießen und oftmals ein Indiz dafür, dass man seine Problemlösung besser nochmals überdenken sollte. So demonstrierte er anhand eines Beispiels, dass die Reihenfolge der statischen Codeteile innerhalb des Java-Quellcodes unbedingt zu beachten ist, da dies sonst zu unerwarteten Phänomenen führt. Diese Erkenntnis überrascht vielleicht den einen oder anderen Java-Entwickler, der bisher davon ausgegangen ist, dass die Reihenfolge der einzelnen Codekonstrukte vollkommen belanglos ist.

Mit Apache Cocoon wurde weiterhin auf ein Framework eingegangen, das seinerzeit groß im Gespräch war. Ein Blick auf die Website zeigt, dass das Projekt nach wie vor weiterentwickelt wird, wenngleich sich der Fokus verändert hat. Standen seinerzeit Webapplikationen im Mittelpunkt, rückt in der dritten Version nun der allgemeinere Anwendungsfall ins Zentrum.

Sich nicht über die Jahre retten konnte sich das ebenfalls in dieser Ausgabe vorgestellte HiveMind-Projekt. Es handelte sich hierbei laut Jakarta um einen „services und configuration microkernel“. Damit ließ sich der Dependency-Injection-Mechanismus für Services über so genannte Service-Points umsetzen. Der Nutzer konnte hierbei unter anderem konfigurieren, wann ein Service erzeugt werden soll und wie Instanzen davon erstellt werden. Konkret konnte er zwischen vier Service-Models wählen: primitive, singleton, threaded und pooled. Doch all die netten Konzepte halfen nichts – seit 15. April 2009 ziert der Satz „Apache HiveMind has been retired.“ die offizielle Apache-Projektseite.

Geschrieben von
Bernhard Löwenstein
Bernhard Löwenstein
Bernhard Löwenstein (bernhard.loewenstein@java.at) ist als selbstständiger IT-Trainer und Consultant für javatraining.at tätig. Als Gründer und ehrenamtlicher Obmann des Instituts zur Förderung des IT-Nachwuchses führt er außerdem altersgerechte Roboterworkshops für Kinder und Jugendliche durch, um diese für IT und Technik zu begeistern.
Kommentare

Schreibe einen Kommentar

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