de.openvms.org - Für die deutschsprachige VMS-Community https://org.openvms.de:443/stories.php?story=08/09/28/9960572

The Minimum You Need To Know about SOA - eine Rezension
Allgemein - 28-Sep-2008 05:32 UTC
The Minimum You Need To Know ...about Service Oriented Architecture
von Roland Hughes, Logical Solutions, ISBN (978-)0-9770866-6-5

Eine Rezension von Willem Grooters:

Dieses Buch ist das dritte der Serie The Minimum You Need To Know. Es erweitert die Applikationen, die in den vorangehenden Büchern ...to be an OpenVMS application developer und ...about Java on OpenVMS beschrieben wurden. Eine Vertrautheit mit deren Inhalt wird vorausgesetzt - und ohne eine solche ist ein Verständnis einiger Beispiele schwierig. Wenn Sie die beiden Bücher gelesen und die Beispiele verfolgt haben, haben Sie das Grundwissen, dass in diesem Buch genutzt wird. Andernfalls wird das Ausführen der Beispiele dieses Buches zumindestens beschwerlich.

Die ersten fünf Kapitel enthalten kaum technische Punkte, lediglich gutes Gedankengut. Der Autor erklärt, dass ein geeignetes Design von SOA einige Wahlmöglichkeiten beinhaltet - und wo OpenVMS und der richtige Wahl von eingebauten und zusätzlichen Diensten und Software Vorteile gegenüber anderen Systemen bietet, was Linux und (natürlich) Windows einschliesst: Stabilität, Sicherheit und vor allem eingebautete Fähigkeiten zur Verfügbarkeit wie Cluster; Lastverteilung und eine einzelne Administrations-Domäne sind im Konzept enthalten. Dies wird alles in einer wenig technischen Sprache erklärt, und bietet ein gutes grundlegendes Verständnis auch für technisch wenig Interessierte.
Das ist es, was das Buch eigentlich zeigen will: Wie man SOA auf OpenVMS mit dem aufsetzt, was auf der Plattform verfügbar ist: RMS Journaling und die Dienste, die mit VMS Clustern zur Verfügung stehen, kombiniert mit einer Software wie ACMS, und, in geringerem Maße, RdB- oder MySQL-Datenbanken.

Die nächsten beiden Kapitel (6 und 7) sind eine ausführliche Beschreibung eine kompletten Umschreibens (in Java unter Ubuntu Linux) einer Applikation, die Daten aus einer RdB- oder MySQL-Datenbank auf VMS abruft; in seinen Augen die falsche Lösung. Dieses Mal gibt er keine Details dazu, wie man Daten aus RMS-Dateien abruft, und entschuldigt sich mit dem Hinweis, dass Werkzeuge für diesen Zweck nicht frei erhältlich sind. Das ist zwar wahr, es ist aber schade, dass es nicht abgedeckt wird.

Kapitel 8 enthält die Gelegenheit, an einer Beispiel-Applikation zu arbeiten: ein einzelnes Programm, das unter einem Webserver läuft und von einem Java-Applet ausgelöst wird. Es stellt RMS-Daten für Benutzer in einem Browser zur Verfügung. Verschiedene Vorgehensweisen werden diskutiert - aber alle erfordern einen Webserver, um die Applikation zu starten.

Kapitel 9 behandelt Lastverteilung und Fehlertoleranz - Dinge, die man unbedingt lösen muss, wenn man echtes SOA produktiv einsetzen will - mit oder ohne Webserver. Der Autor verwendet ein Warenlager als Beispiel - wenn man mit einer solchen Umgebung nicht vertraut ist, braucht es Zeit und einige Anstrengung, um es zu verstehen.

Kapitel 10 beschreibt die nötigen Schritte zur Erzeugung eines komplett ACMS-basierten Webservice, unter Verwendung der Applikationen aus dem ersten Buch der Reihe.

Kapitel 11 und 12 enthalten Beobachtungen und Gedanken des Autors zur Reife der IT. Man mag seine Ansichten teilen, oder auch nicht.

Aller Code ist auf der dem Buch beiligenden CD vorhanden. Allerdings sind die Dateien nicht nach Kapiteln geordnet, sondern nur nach Name. Wenn man an den Kapiteln entlang das Buch durcharbeitet, wäre eine Sortierung nach Kapiteln angenehmer gewesen. Es muss aber gesagt werden: das Vorhandensein des Quellcodes erspart eine Menge Tipparbeit. Das Vorhandensein von Compilern und von ACMS wird vorausgesetzt, was aber mit Hobbyisten-Lizenzen kein Problem darstellt. Allerdings benötigt man auch RDB - eine Vorausetzung für CDD, das in allen VMS-Beispielen verwendet wird, und als Datenbank für die Applikation. Das macht die Beispiele vermutlich unbenutzbar, weil das Dictionary für alle Datensatz-Definitionen überall im Code verwendet wird. Aber der Autor bietet keine Alternativen an...

Im grossen und ganzen ist das Buch lesenswert. Hauptsächlich für Software-Techniker der Vor-Java/C#-Ära gedacht, gibt es gute Ansätze, wie man seinen Code auf die "modernen Zeiten" vorbereitet. Ein gutes Verständnis von VMS ist Bedingung, was aber vom ersten Band der Reihe abgedeckt wird. Die Fähigkeit, Java-Code zu lesen (und zu verstehen) ist nützlich - was Inhalt des zweiten Bands ist. Für den besten Nutzeffekt sollte man beide durchgearbeitet haben: die Applikation aus dem ersten Band ist die Basis des erzeugten Dienstes, und der zweite Band enthält die Grundlagen für den Java-Anteil. Auf beide wird Bezug genommen, beide werden in diesem Buch benutzt. Außer, dass man lernt, wie man einen SOA unter OpenVMS aufsetzt (und wie nicht), ist es eine kurze, aber mächtige Einführung in ACMS.

Erfahrene OpenVMS-Entwickler "alter Schule" werden bekannte Gefühle in der heutigen IT wiederfinden. Der Autor ist zeitweise sehr offen mit seiner Meinung, vielleicht zu offen.

Trotz meiner Kritik an einigen Stellen kann ich dieses Buch empfehlen. Ich habe (noch) nichts mit SOA angestellt, habe wenig Erfahrung mit Java (aber genug, um es im normalen Leben nicht zu mögen), und keine mit ACMS. Dennoch bin ich mit diesem Buch zuversichtlich, dass ich in der Lage wäre, einen gut durchdachten, gutmütigen und gut arbeitenden Dienst unter OpenVMS zu erstellen.


Original auf www.openvms.org