Zum Inhalt springen

Self-contained Systems

aus Wikipedia, der freien Enzyklopädie

Self-contained Systems (SCS) sind ein Architekturmuster der Informationstechnik, bei dem Funktionen in mehrere unabhängige Systeme separiert werden. So wird das logische Gesamtsystem zu einer Kollaboration mehrerer kleiner Software-Systeme.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Self-contained Systems Website.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL;.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref><ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig heise developer Blog zu Self-contained Systems.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL;.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref><ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Ursprünglicher Artikel zu den Ideen.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL;.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>

Eigenschaften von Self-contained System[Bearbeiten]

SCS haben folgende Eigenschaften:

  1. Jedes SCS ist eine unabhängige Web-Anwendung.
  2. Jedes SCS wird von einem Team entwickelt.
  3. Kommunikation mit anderen SCSs oder Drittsysteme soll – wenn möglich – asynchron erfolgen.
  4. Ein SCS kann optional eine Service-API haben.
  5. Jedes SCS muss Daten und Logik enthalten.
  6. Ein SCS soll seine Features für Endkunden mit einer UI nutzbar machen.
  7. Um enge Kopplung zu vermeiden, darf ein SCS keinen Geschäftscode mit anderen SCS teilen.

Umsetzungen<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Codecentric Blog.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL;.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> implementieren so große Systeme – vor allem Web-Anwendungen.

Self-contained Systems und Microservices[Bearbeiten]

Self-contained Systems sind Microservices ähnlich, aber es gibt einige Unterschiede: Ein System enthält weniger SCS als Microservices. Außerdem können Microservices mit anderen Microservices kommunizieren – sogar synchron. SCS hingegen sollen idealerweise gar nicht oder nur asynchron kommunizieren. Da ein Self-contained System eine unabhängige Web-Anwendung darstellt, die mit möglichst loser Kopplung mit anderen Systemen integriert wird, kann es auch als kleiner Monolith betrachtet werden, der nur eine Funktion geschlossen abbildet.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Self-contained Systems Website: SCS vs. Microservices.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL;.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>

Self-contained Systems und Vertical Slice Architecture[Bearbeiten]

Self-contained Systems und Vertical Slice Architecture haben Ähnlichkeiten, aber auch entscheidende Unterschiede. Beide Ansätze unterteilen ein System in kleinere, überschaubare Einheiten. Vertical Slices werden auf der Grundlage von fachlichen Features geschnitten, Self-contained Systems entlang der Grenzen von fachlichen Domänen. Sie unterscheiden sich auch in der Striktheit, mit der sie Fachlogik kapseln und isolieren.<ref>Self-contained System vs. Vertical Slice Architecture. 19. März 2025, abgerufen am 19. März 2025.</ref>

Anwendung[Bearbeiten]

Es gibt einige Systeme, die nach SCS-Ideen aufgebaut sind – beispielsweise bei Otto<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Otto Blog.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL;.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>, GALERIA Kaufhof<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Kaufhof Blog.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL;.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>, Kühne+Nagel<ref>From Monolith to Microservices. Abgerufen am 1. August 2023.</ref> und Breuninger<ref>Breuninger steigert Time-to-Market mittels Vertikalisierung und Self-Contained Systems. 25. März 2019, abgerufen am 14. August 2024 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>.

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

<references />