Groupware systems are designed to support the cooperation of people within and between enterprises. The development of groupware using component-based programming techniques has received a lot of attention recently. The commonly expected benefits are reduced development time, lower costs and higher product quality. Aiming at an additional benefit, the work presented in this paper makes use of the concept of software components after development in order to provide tailorability of already-deployed groupware systems. We describe the architecture of the Evolve platform, which permits one to maintain and manipulate nested component structures of distributed groupware systems at run-time. Apart from run-time tailorability, the architecture meets other groupware-specific (or relevant) requirements, namely support for synchronous and asynchronous cooperative tailoring, tailoring at different levels of complexity, and the flexible control of the scope of tailoring activities (i.e. the set of users affected by these activities). Evolve itself is application-independent and works with any set of software components complying with the FlexiBeans component model, which is an adaptation of the JavaBeans model. We demonstrate the object-oriented design behind Evolve with a simple example and give an overview of related and future work.
展开▼