Business Component Factory : A Comprehensive Overview of Component-Based Development for the Enterprise