Component-Based Development for Enterprise Systems