Eimerkette mit Konzept

Webanwendungen brauchen Module

Wer komplexe Systementwicklung im Bereich des Webcomputing betreibt, sollte die bewährten modularen Vorgehensweisen aus anderen Bereichen übernehmen. Zunächst sollte der Entwickler klären, welche Schnittstellen zwischen den einzelnen Funktionsblöcken liegen sollen. Ideal sind Applikationsprotokolle, wie sie in den RFC-Standards (Request for Comment) festgelegt sind. Ihre Datenpakete lassen sich ohne Systemeingriff mit Netzwerk-Sniffern analysieren. Die Normen sind nicht an bestimmte Maschinentypen gebunden und ermöglichen es dem Programmierer, einzelne Module auf verschiedene Rechner zu verteilen.

Auch die Netzwerk- und Security-Verantwortlichen sollten beim Design eine zentrale Rolle übernehmen. Nur eine wohl überlegte Auswahl möglichst offener Applikationsprotokolle nutzt die Vorteile der Modularität einer IT-Architektur wirklich aus. Es bleibt noch die Frage nach dem Ablauf des Design-prozesses eines in Komponenten zerlegten Systems. Dieser läuft immer immer in drei Phasen ab. Am Anfang steht die Analyse, danach folgen die Synthese und die Skalierung.

In der Analyse teilt der Planer die Gesamtfunktionalität in unabhängige funktionale Blöcke auf. Dabei sollte er sich hinsichtlich der Art und des Umfangs der Komponenten an vorhandenen Produktkategorien oder Lösungen orientieren, ohne schon konkret ein bestimmtes Produkt ins Auge zu fassen. Andernfalls erhält er eine zu grobe oder zu feine Modularisierung, die er nicht verwenden kann. Das Projektteam evaluiert, welche Verbindungsmöglichkeiten zwischen den einzelnen Teilen denkbar sind. Es muss darauf achten, möglichst verfügbare Lösungen, offene Standards und gut dokumentierte Schnittstellen zu wählen. Sonst steigt der Aufwand für die Implementierung und spätere Änderungen. Im ersten Schritt werden die Blöcke bereits in der gewünschten Weise angeordnet und miteinander verbunden.

Während der Synthesephase ersetzen die Konstrukteure die abstrakten Funktionsblöcke durch reale Produkte. Dazu erstellen sie zunächst für jede Funktion eine Liste der verfügbaren Produkte. Diese verfügen im Gegensatz zu ihren theoretischen Vorläufern nicht über alle erdenklichen Verbindungsmöglichkeiten, sondern nur über eine Untermenge, die der Hersteller implementiert hat. Durch Einsetzen dieser "realen" Funktionsblöcke ist ersichtlich, ob ein durchgängiger Datenzugriff vom Frontend bis ins Backend möglich ist.

Zudem kann es in dieser Phase passieren, dass der Planer angrenzende Funktionsblöcke vereinigt und damit die Modularität wieder verringert. Dieser Schritt ist nur dann möglich, wenn die entsprechenden Produkte vom gleichen Hersteller stammen oder die Funktion beider Blöcke durch ein Produkt umgesetzt werden.

Die dritte Phase der Skalierung dient dazu, das Ergebnis der Planung in einem dynamischen Funktions- und Lasttest zu prüfen. Dabei untersuchen die Tester, ob der Datentransport zwischen dem Frontend und dem Backend schnell genug erfolgt. Auch die Leistungsfähigkeit der einzelnen Komponenten wird unter die Lupe genommen. Mithilfe der Leistungsdaten legen die Planer die Größe der einzelnen Maschinen und ihre Skalierungsmethodik fest. Dabei ziehen sie auch die Ausfallsicherheit ins Kalkül.