Title: Using an Architectural Approach to Integrate Heterogeneous, Distributed Software Components