Self-contained Systems

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]

Self-contained System Characteristics

SCS have certain characteristics:

  1. Each SCS is an autonomous web application.
  2. Each SCS is owned by one team.
  3. Communication with other SCSs or 3rd party systems is asynchronous wherever possible.
  4. An SCS can have an optional service API.
  5. Each SCS must include data and logic.
  6. An SCS should make its features usable to end-users by its own UI.
  7. To avoid tight coupling an SCS should share no business code with other SCSs.

Implementations [2] create larger systems using this approach - in particular web applications.

Self-contained Systems and Microservices

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.[3]

Usage

There are quite a few known usages of SCS - e.g. at Otto [4] and GALERIA Kaufhof.[5]

References


This article is issued from Wikipedia - version of the Thursday, January 21, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.