Database cooperation: Classification and Middleware Tools