Encapsulated i.e., with well defined interfaces and with an unknowable interior • Composable with other components (using a well establish composition mechanism) • Multiple-use (i.e., not a restricted resource) • Not context dependent (usable in multiple systems) • A unit of independent deployment and versioning (independent of other components