The Heterogeneity Problem and Middleware Technology: Experiences with and Performance of Database Gateways