An integrated component-oriented framework for effective and flexible enterprise distributed systems development