Zerlegung einer Anwendung in IT-Systeme
Diese Seite ist ein Teil der IsyFact-Standards. Alle Inhalte der Seite, insbesondere Texte und Grafiken, sind urheberrechtlich geschützt. Alle urheberrechtlichen Nutzungs- und Verwertungsrechte liegen beim Bundesverwaltungsamt.
Die Nutzung ist unter den Lizenzbedingungen der Creative Commons Namensnennung 4.0 International gestattet.
Eine der ersten und wichtigsten Entwurfsentscheidungen ist, wie eine Anwendung technisch in IT-Systeme zerlegt wird. Die Zerlegung einer Anwendung in kleine Einheiten, die auf eine Aufgabe fokussiert und untereinander lose gekoppelt sind, verspricht einige Vorteile:
-
Kleine IT-Systeme mit klaren Verantwortlichkeiten ändern sich vorhersehbar und sind leichter wartbar.
-
Die IT-Systeme können verschieden ausgeprägte nichtfunktionale Anforderung erfüllen, da sie sich z. B. unabhängig voneinander skalieren lassen.
-
Ein Verbund von IT-Systemen ist resilienter als ein großes IT-System, da Störungen in der Regel nur einen Teil der Anwendung betreffen.
Dem gegenüber stehen einige Herausforderungen:
-
Erhöhter Koordinationsaufwand zwischen den IT-Systemen (z. B. bei Build, Deployment und Kommunikation).
-
Mehrere IT-Systeme nehmen unterschiedliche Sichten auf dieselben Datenmodelle ein.
-
Änderungen an den Daten sind nicht sofort allen IT-Systemen bekannt.
"Unterm Strich" ist eine Zerlegung von Anwendungen erstrebenswert, sofern die resultierenden IT-Systeme lose gekoppelt sind.
1. Schritt: Identifikation von IT-Systemen
Das im Folgenden skizzierte Vorgehen orientiert sich an der Systemspezifikation und kann als Entscheidungshilfe bei der Frage unterstützen, ob zwei oder mehrere Anwendungskomponenten (ANKs) vom selben IT-System umgesetzt werden sollten. Es ist recht einfach zu befolgen und bezieht die wichtigsten Ergebnisse aus der Systemspezifikation mit ein. Als Ergebnis steht ein technischer Schnitt der Anwendung in IT-Systeme.
Das Vorgehen ist keine feste Vorgabe der IsyFact. Es dient als Empfehlung, wenn in einem Projekt oder einer Organisation bisher kein Vorgehen hierfür etabliert wurde. Ebenso kann es gute Gründe dafür geben, die IT-Systeme nicht nach diesen Gesichtspunkten zu schneiden. Diese können z. B. mit der Organisation der Entwicklung bzw. Wartung oder mit der Infrastruktur des Betriebs zusammenhängen. Es wird ausdrücklich davor gewarnt, das Vorgehen "blind" zu verwenden. Das Vorgehen sollte stets mit Blick auf die eigenen Rahmenbedingungen angewendet werden. |
Das Vorgehen ist zunächst nach Art eines Ablaufdiagramms beschrieben. Als Input dient eine Auswahl aus zwei oder mehr Anwendungskomponenten (im folgenden: ANKs) aus der Systemspezifikation der Anwendung.
Es umfasst die folgenden Entscheidungspunkte:
- Gemeinsame MKO / ETY?
-
An diesem Punkt wird geprüft, ob die ANKs auf denselben Datenmodellen (MKO) und fachlichen Objekten (ETY) arbeiten.
Wird diese Frage mit Nein beantwortet, sollten die ANKs in separaten IT-System umgesetzt werden, da sie kaum bis keine gemeinsame Fachlichkeit besitzen. - Hohe Kohäsion?
-
An diesem Punkt wird geprüft, ob die ANKs für sich zusammengenommen eine hohe Kohäsion aufweisen. Das bedeutet, dass sie zusammen einen wohldefinierten Teil der Fachlichkeit der Anwendung übernehmen.
Wird diese Frage mit Nein beantwortet, sollten die ANKs in separaten IT-System umgesetzt werden, da sie keine hohe Kohäsion aufweisen und das entstehende IT-System somit mehrere nicht zusammenhängende Aufgaben übernehmen würde. - Vergleichbare NFAs?
-
An diesem Punkt wird geprüft, ob die ANKs mit hoher Kohäsion auch vergleichbare nichtfunktionale Anforderungen (NFAs) erfüllen müssen. Dies kann z.B. bedeuten, dass sie ähnliche Mengengerüste zur Grundlage haben oder die Anforderungen an Antwortzeiten oder Sicherheit vergleichbar hoch sind.
Wird diese Frage mit Nein beantwortet, sollten die ANKs aufgrund ihrer stark unterschiedlichen nichtfunktionale Anforderungen in separaten IT-System umgesetzt werden.
Am Ende steht eine Einschätzung, ob die geprüften ANKs im selben oder in separaten IT-Systemen umgesetzt werden sollten. Sind alle ANKs auf IT-Systeme verteilt, ist der Schritt abgeschlossen.
2. Schritt: Zuweisung von IT-Systemtypen
Den identifizierten IT-Systemen muss nun ein IT-Systemtyp zugeordnet werden, damit sie umsetzbar sind. Dazu werden sie um weitere Inhalte aus der Systemspezifikation angereichert, die einen Bezug zu den in ihnen enthaltenen Anwendungskomponenten besitzen. Dies umfasst in der Regel Nachbarsystemschnittstellen (NST), Dialoge (DIA) und Batches (BAT). Ist dies geschehen, kann anhand der Abbildung von IT-Systemtypen auf ihre maßgeblich umgesetzte Fachlichkeit der passende IT-Systemtyp ermittelt werden. Würden für ein IT-System nach dieser Abbildung mehrere IT-Systemtypen infrage kommen, muss das IT-System weiter zerlegt werden.
IT-Systeme zerfallen in diesem Schritt oft in ein Backend sowie ggf. ein Frontend und mehrere Batches. |
Als Ergebnis steht eine Zerlegung der Anwendung in IT-Systeme, denen jeweils genau ein IT-Systemtyp zugeordnet ist und die den Vorgaben aus IT-Systeme und IT-Systemtypen, vor allem bezüglich der umgesetzten Fachlichkeit, entsprechen.
3. Beispielzerlegung
Es folgt ein kurzes Beispiel zur Zerlegung der "Beispielanwendung" (abgekürzt: BSP). Die Beispielanwendung ist eine Geschäftsanwendung. Aus der fachlichen Sicht heraus enthält sie:
-
Dialog-Komponenten (
DIA_BSP_*
), -
Nachbarsystemschnittstellen (
NST_BSP_*
), -
Batches (
BAT_BSP_*
), -
Anwendungskomponenten (
ANK_BSP_*
).
Die Anwendung des obigen Vorgehens führt zur Erkenntnis, dass die Anwendungskomponenten ANK_BSP_1
und ANK_BSP_2
so stark zusammenhängen, dass eine Umsetzung in getrennten IT-Systemen nicht sinnvoll ist.
Alle anderen Anwendungskomponenten können in separaten IT-Systemen umgesetzt werden.
Es entsteht eine Abbildung von Anwendungskomponenten auf IT-Systeme.
Anwendungskomponente(n) | IT-System |
---|---|
|
|
|
|
|
|
Im nächsten Schritt werden alle weiteren fachlichen Inhalte zugeordnet und die IT-Systemtypen identifiziert. Gemäß der Abbildung von IT-Systemtypen auf ihre maßgeblich umgesetzte Fachlichkeit werden aus Dialogen und Batches jeweils eigene IT-Systeme. Die Nachbarsystemschnittstelle wird dem Backend mit der zugehörigen ANK zugeordnet. Allen IT-Systemen kann nun ein IT-Systemtyp zugeordnet werden.
Anwendungskomponente(n) | IT-System | IT-Systemtyp |
---|---|---|
|
|
Backend |
|
|
Frontend |
|
|
Batch |
|
|
Backend |
|
|
Backend |
Zum Abschluss ist die Zerlegung noch einmal grafisch dargestellt.