If, however, network managers are interested in components, they make use of them to lower the costs of applications deployment and maintenance. These components represent a class of software applications that are Modular Extensible Open Modularity means that a software component contains everything needed to complete one or more tasks. For example, you could say that a spell-checking application is modular because it does not need anything else to complete its mission. Extensibility means that a software component can be told to complete more tasks than it was originally designed to fulfill. Moreover, it could be told to do its original tasks in new ways.
Openness means two things to software components.
First, it denotes the capability of functioning on a number of platforms such as Unix, Windows, MacOS, and so on. Second, it denotes the capability of one component to talk to another by using a single programming interface. With this type of openness, component developers can instruct one component to become aware of another. These components can then automatically exchange information and tasks. For example, a spell-checking program could automatically know how to interact with a thesaurus, creating for the user what appears to be a single application, when in reality, there are really two applications that simply know how to speak the same language.