Challenges
Component based software engineering requires:
- tools (management, assembly, etc.),
- software development process (documentation, abstraction, maintenance, evolution, etc.),
- testing (white-box, black-box, regression, integration, etc.),
- licensing, and
- infrastructure ( fault tolerant, load-balanced, transaction, security, naming, addressing, etc.)