Component-Based Grid Programming Environments -- From Grid Middleware to Grid