The rest of this section will explore these requirements in more detail. Interface specification is the most important aspect of a software component because it is the only means by which a component user interacts with the component. For the interface specification to be useful, it must be both brief, and accurate, makeing the task of the component user and developer easy. The black box nature of software components makes interface specification important. Distribution and hosting are closely related issues.
Distribution refers to the act of making a component known to other components.
Hosting refers to the method employed for packaging the component as a single unit or file. Frequently, distribution is implemented through a central component registry, which stores information about the component and the files used by the component. Hosting is frequently implemented in the form of executable files and dynamic link libraries. Hosting and distribution are related in the sense that the API for creating and dealing with the components needs to know what type of hosting and distribution mechanisms are employed. Software components are usually obtained through public computer networks such as the Internet.