Self-contained system (software)
This article needs additional citations for verification. (December 2015) (Learn how and when to remove this template message)
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.
Self-contained System Characteristics
SCS have certain characteristics:
- Each SCS is an autonomous web application.
- Each SCS is owned by one team.
- Communication with other SCSs or 3rd party systems is asynchronous wherever possible.
- An SCS can have an optional service API.
- Each SCS must include data and logic.
- An SCS should make its features usable to end-users by its own UI.
- To avoid tight coupling an SCS should share no business code with other SCSs.
- Shared infrastructure should be reduced to increase availability and decrease coupling.
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.
|This computing article is a stub. You can help Wikipedia by expanding it.|