Self-contained Systems
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.[1][2][3]
Eigenschaften von Self-contained System
BearbeitenSCS haben folgende Eigenschaften:
- Jedes SCS ist eine unabhängige Web-Anwendung.
- Jedes SCS wird von einem Team entwickelt.
- Kommunikation mit anderen SCSs oder Drittsysteme soll – wenn möglich – asynchron erfolgen.
- Ein SCS kann optional eine Service-API haben.
- Jedes SCS muss Daten und Logik enthalten.
- Ein SCS soll seine Features für Endkunden mit einer UI nutzbar machen.
- Um enge Kopplung zu vermeiden, darf ein SCS keinen Geschäftscode mit anderen SCS teilen.
Umsetzungen[4] implementieren so große Systeme – vor allem Web-Anwendungen.
Self-contained Systems und Microservices
BearbeitenSelf-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.[5]
Anwendung
BearbeitenEs gibt einige Systeme, die nach SCS-Ideen aufgebaut sind – beispielsweise bei Otto[6], GALERIA Kaufhof[7], Kühne+Nagel[8] und Breuninger[9].
Weblinks
Bearbeiten- Beschreibung des SCS-Ansatzes auf scs-architecture.org
Einzelnachweise
Bearbeiten- ↑ Self-contained Systems Website.
- ↑ heise developer Blog zu Self-contained Systems.
- ↑ Ursprünglicher Artikel zu den Ideen.
- ↑ Codecentric Blog.
- ↑ Self-contained Systems Website: SCS vs. Microservices.
- ↑ Otto Blog.
- ↑ Kaufhof Blog.
- ↑ From Monolith to Microservices. Abgerufen am 1. August 2023.
- ↑ Breuninger steigert Time-to-Market mittels Vertikalisierung und Self-Contained Systems. 25. März 2019, abgerufen am 14. August 2024 (deutsch).