An Architectural Approach to Information Integration in Heterogeneous Environments