Designing Architecture Flexibility using Software Components

F. Nordemann, F.M. Thiesing, and M. Peussner (Germany)


CBSD, software architecture, reuse, flexibility, virtualization


Software components have to be highly flexible to ensure their reusability in as many scenarios as possible. In addition, they need to fit into different software architectures like well-known Desktop Applications or modern Rich Internet Applications. Frequently, software components cannot satisfy these expectations due to technology gaps between software architectures. This paper illustrates challenges of reusing software components across architecture boundaries. The most significant issues are the communication between application layers and the usage of different technologies for the user interface among architectures. The paper shows how to design software components that are flexible with respect to different architectures. Asynchronous communication between layers enables the distribution of application layers. In addition, the design of flexible user interface components is presented using Microsoft Silverlight. Furthermore, an alternative approach to the adaptation of existing software components to new design requirements is described by using a combination of the terminal server concept and innovative virtualization technology. This enables the efficient reuse of components across different architectures without any need for adjusting the implementation at all.

Important Links:

Go Back