Object-oriented frameworks and components to support customization and tailoring in groupware

Hummes, Jakob

The objective of this thesis is to design reusable, customizable and tailorable software components and frameworks for groupware systems. This thesis targets the requirements to offer users from different user categories -- compoent developers, groupware integrators, groupware administrators, power-users, and end-users -- the means to customize groupware applications at design-time and at run-time. The level of customization is thereby dependent on the skills of the user category; hence, this thesis provides different customization and tailoring functionalities to support these different levels and skills. This thesis addresses the issue of designing reusable and adaptable groupware by combining the software engineering concepts of frameworks and components. It describes an approach to design groupware frameworks, which capture the core functionality of groupware tasks, and groupware components, which deliver pluggable extensions for these frameworks. Both, groupware frameworks and components are developed to be reusable also in other settings and all implemented frameworks and components can be combined differently to produce various groupware systems. Conclusions majeures : A general design for distributed groupware components and frameworks has been developed. Both, groupware components and frameworks, can define their own interaction protocol based on the distribution of events. The event distribution is uniformly handled by specialized group communication components. The introduced design concepts focus on reusability through customizing and extension. The thesis also presents customization wizards, which are used to offer the end-user a convenient user-interface to customize components. By relying only on the standard Java Beans component model, users can customize the components and their compositions with any available visual builder tool for Java Beans. This thesis invents a new approach of tailoring groupware applications by dynamic extensions. The two-step approach allows the users to customize in a first step components with their favorite tools for the Java Beans component model. In the second step, the user inserts the customized components into the local groupware application, which distributes them to all remote applications, where they are integrated within the running groupware applications. The two-step approach relies on the possibility to distribute components over the network and to insert them dynamically within the running local applications. This thesis presents and discusses two different approaches. One approach uses the distribution of code to insert newly developed components into the remote applications. The other approach distributes stateful objects to instantiate a cooperation.

Data Science
Eurecom Ref:
© EPFL. Personal use of this material is permitted. The definitive version of this paper was published in Thesis and is available at : http://dx.doi.org/10.5075/epfl-thesis-2020
See also:

PERMALINK : https://www.eurecom.fr/publication/898