Ähnlich wie bei der Microservice-Architektur wird bei einem Self-Contained System (SCS) eine Anwendung in zahlreiche unabhängige Komponenten (hier: Systeme) untergliedert. Der Unterschied von SCS zu einer Microservice-Architektur besteht etwa darin, dass bei der Microservice-Architektur die Anzahl der unabhängigen Service-Komponenten deutlich höher ist. Und bei der Microservice-Architektur kommunizieren die Microservice-Komponenten untereinander (auch synchron) und haben gegebenenfalls ein eigenes User Interface.

Soviel zu den Unterschieden. SCS wird übrigens vor allem für Webanwendungen eingesetzt. Hier ein paar zentrale Charakteristiken für ein Self-Contained System: Jedes SCS wird typischerweise von einem eigenen Team entwickelt (die Unabhängigkeit führt dann häufig auch zu einer geringeren Wiederverwendbarkeit von Funktionen). Die Kommunikation zwischen den SCS soll asynchron ausgelegt werden. Jedes SCS hat eine eigene Logik- und Datenschicht.

Vorteile im Überblick

  • Verfügbare UI (Web bzw. HTML)
  • Separation von Funktionalität in autarke Systeme
  • Freie Wahl der Programmiersprache pro System
  • Beliebige Architektur in einem SCS

Es gibt auch – wie immer im Leben – ein paar Nachteile

  • Integration über UI aufwändig
  • Delegation zwischen den SCS nur über Links
  • Wiederverwendbarkeit eingeschränkt
  • Diskrepanz Integration per UI bzw. API
Author

Der Autor ist Manager in der Softwareindustrie mit internationaler Expertise: Prokurist bei einem der großen Beratungshäuser - Verantwortung für den Aufbau eines IT Entwicklungszentrums am Offshore-Standort Bangalore - Director M&A bei einem Softwarehaus in Berlin.