Frameworks for component-based client/server computing