What is a Component?
OMG Unified Modeling Language Specification [OMG01] defines a component as
“… a modular, deployable, and replaceable part of a system that encapsulates implementation and exposes a set of interfaces.”
OO view: a component contains a set of collaborating classes
Conventional view: logic, the internal data structures that are required to implement the processing logic, and an interface that enables the component to be invoked and data to be passed to it.