Designing for Software System Integration: Architecture Makes the Difference