A component-based approach to build a portable and flexible middleware for metacomputing