This article needs additional citations for verification .(December 2015) |
In computing, self-contained system (SCS) is a software architecture approach that focuses on a separation of the functionality into many independent systems, making the complete logical system a collaboration of many smaller software systems. [1]
SCSs have certain characteristics:
Implementations [2] create larger systems using this approach – in particular web applications. There are many case studies [3] and further links available. [4]
While self-contained systems are similar to microservices there are differences: A system will usually contain fewer SCS than microservices. Also microservices can communicate with other microservices – even synchronously. SCS prefer no communication or asynchronous communication. Microservices might also have a separate UI unlike the SCS that include a UI. [5]
Self-contained systems and vertical slice architecture have similarities but also decisive differences. Both approaches divide a system into smaller, manageable units. Vertical slices are cut on the basis of features, Self-contained systems along the boundaries of functional domains. They also differ in the strictness with which they attempt to encapsulate and isolate specialized logic. [6]
There are quite a few known usages of SCS – e.g. at Otto, [7] Galeria Kaufhof, [8] and Kühne+Nagel. [9]