By definition components are software modules that are composable...
Component - Encapsulated software object that provides a certain functionality or service and can be used in conjunction with other components to build applications
A component consists of
- an API (abstract interface) and
- one or more component implementations
- common behavior among these components
CCA uses a peer component model - No particular component assumes it is “in charge” of the others