Components are the basic units of software that are composed together to form applications.
Instances of Components are created and managed within a Framework which also provides the basic services that components use to operate and communicate with other components. The philosophy of CCA is to precisely define the rules for constructing components and to specify the required behavior a component must exhibit and the interface between components and the Framework. However, very little is said about the way the Framework is constructed or the way the user interacts with the Framework to connect components together. The reason for this is that there will be many different Framework that can be used in very different situations. Some Frameworks will be designed to optimize the use of components that are distributed across a wide-area Grid.