The Connectivity Revolution
Distributed: Within and across organizations
Heterogeneous: Lots of platforms, languages, interfaces
Time-Varying: All of the components and their locations are evolving
Lots of Everything: Users, Designs, Servers, Services, Tools, etc.
Leads to a Component-Based Software Architecture