A component is an encapsulated functional unit which exposes methods for communication with the outside world.
Each component has status and configuration. The status contains all static characteristics of a component. The configuration contains all characteristics of a component that can be changed (configured). Given that, all components support the following three methods:
There are two types of components: system components and functional components.