Architecture

The Cloud4all architecture encompasses an overall technical approach, a development framework, and a working reference implementation that serves as the basis for developing an ecosystem of tools to support user interface personalization. This architecture is designed to work across platforms and devices, including desktop computers, mobile devices, and web applications. It includes the specification and implementation of the data interchange formats, component APIs, and extension points that comprise Cloud4ll’s personalization workflow.

This architecture is designed to promote the long term growth, sustainability, and viability of the Cloud4all technology. The primary concerns of the architecture are to ensure that all critical components within the system are built in a performant, modular, reusable, secure, and well-tested manner. These goals are primarily accomplished by providing a core framework that manages the personalization workflow and all relationships between components within the system, ensuring that it can be extended and reconfigured to support new functionality and new implementation strategies over time.

The Cloud4all architecture reference implementation (often referred to as “the real-time framework”) builds on the familiar cross-platform and standards-driven approach of the web. In particular, it makes extensive use of both client and server-side JavaScript (using Node.js as its primary cross-platform runtime) as well as HTML and CSS for user interfaces. This enables the core of Cloud4all to be easily ported to a wide variety of devices and operating systems without requiring costly code rewrites and duplication. JSON, a lightweight interchange format, is used for all data in the system. The Fluid Project’s accessible Infusion framework is used extensively to provide Cloud4all’s context-aware, model-driven, and highly decoupled development infrastructure.

The Global Public Inclusive Infrastructure is built and supported by an open source community governed as a meritocracy. Influence and authority is distributed amongst both volunteer and employed community members based on their skill and contributions to the project.

This technical governance process is intended to provide clear, simple, and collaborative “rules of the game” for contributing to the GPII, making decisions, and earning commit access. This policy covers the core open source software developed by GPII-affiliated projects. Recognizing that other communities have extensive experience with open governance, this policy adopts many of the approaches used by prominent open source projects.