Graphical User Interface Variability Architecture Pattern
Ngo Huy Bien, Tran Dan Thu · 2015
Designing software applications for multiple tenants is challenging. The task is even harder when designing pure multi-tenancy applications that must support different customers using a single codebase and data store. One of the most common problems when developing these systems is to support different graphical user interface not only for different users but also tenants. This critical requirement also applies to context-aware applications in which different graphical user interface should be presented to each user according to the user's context or software components and platforms that should allow developers easily to create different looks and feel for their applications. In this paper, we propose an architecture pattern for modeling graphical user interface that support different customizations and configurations. The modularity, the reusability and the maintainability of the pattern were evaluated by qualitative analysis based on well-known patterns used in the proposed architecture pattern. Real world systems were built to validate the applicability, the correctness, the security and the performance of the pattern. We believe that our pattern will be useful for software providers as well as normal organizations when building software components or software systems for different customers or creating multi-tenancy applications in a cloud-based environment or building context-aware applications.