Depend on standards to reduce your risk. The goal is to insulate your application code so it is not effected as the product evolves. The IDL allows for the specification of API's in a language and platform independent manner. We strive to enhance system adaptability. Software archtitectures are designed by individual chief architects or by design teams.
Individual architects can develop conceptually simple and elegant atchitectures.
Once developed it is imperative that the architecture be completely understood by the individuals. Design teams usually create larger more complex architectures, the complexity a result of the inability to compromise and merge viewpoints. Once an architecture is designed, use prototypes and a regular release schedule for updates. The OMG IDL and the ORB provide two basic sources for the enabling of software architectures. The IDL is a notation for specifying API's.