Composability

Composability is a system design principle that deals with the inter-relationships of components. A highly composable system provides components that can be selected and assembled in various combinations to satisfy specific user requirements. In information systems, the essential features that make a component composable are that it be:

  • self-contained (modular): it can be deployed independently – note that it may cooperate with other components, but dependent components are replaceable
  • stateless:[citation needed] it treats each request as an independent transaction, unrelated to any previous request. Stateless is just one technique; managed state and transactional systems can also be composable, but with greater difficulty.

It is widely believed that composable systems are more trustworthy than non-composable systems because it is easier to evaluate their individual parts.[1]

  1. ^ Peter G. Neumann (2004). 'Principled Assuredly Trustworthy Composable Architectures' (PDF) (Report).