Services de vues et de rendus

BoardZ : Version 2

Présentation générale

L'exploitation des indicateurs et données stockées de BoardZ sera principalement déportée dans des applicaitons tierces clientes de BoardZ.

Pour Moodle, des plugins d'intégration seront implantés dans la construction des pages Moodle, affichant aux utilisateurs une vue “invoquée” dans BoardZ.

Les autres applications pourront implémenter des “portlets” conduisant au même affichage dans leur propre contexte.

BoardZ fournit à toutes les applications tierces les vues sous divers formats de sortie, à travers un serveur de vues implémenté selon les protocoles standards de webservices. Les protocoles principaux envisagés sont Rest et Soap pour les applicatifs qui implémentent nativement des clients Soap. La structure de BoardZ découple l'implémentation du protocole d'échange de l'API des vues BoardZ pour permettre des adaptations et évolutions futures.

Structure générale

La structure générale du service de vues est scindée en quatre couches principales :

Le point d'entrée : Pour la version prototype PHP, il s'agit d'un script serveur invoqué en http/https sous nginx ou apache (ou tout autre serveur web fournissant php7).

La couche de réception de service : Elle traite le protocole d'échange de messages avec le client, et extrait les paramètres “métiers” de la requête. Elle peut également effectuer des contrôle généraux d'intégrité de type ou de structure d'entrées.

La couche de présentation. La couche de réception de service oriente la requête vers un objet de présentation, responsable du rendu des données dans un format de sortie particulier. La couche de présentation peut proposer à son niveau un paramétrage des vues qui agissent sur le “rendering”.

La couche de données est commune avec le serveur BoardZ de calcul des données. Elle accède à ses concepts d'indicateurs et de stockages pour obtenir les données affichables.

Formats supportés

BoardZ fournit des sorties selon plusieurs formats de sortie (output). Ce paramètre de format est généralisé dans toutes les invocations.

Les formats envisagés sont :

raw : Données brutes sans formatage.

html : formatées en HTML.

styledhtml : formatées en HTML + données de style.

csv : Données structurées en colonnes avec un ligne de titres de colonnes

json : Les données arrangées dans une structure json.

Concepts d'assemblage de présentation

Les vues de données sont construites à partir de deux éléments principaux :

Les Widgets

Les Panels

Le rendu de données est confié à des Renderers spécialisés dans les différentes mises en forme à produire :

Les Widgets

Les Widgets présentent des données d'indicateurs dans une boite avec un titre et un contenu de boite. Le contenu exprime le résultat d'un Renderer.

Les Panels

Les Panels assemblent des Widgets dans un layout pour produire un tableau de bord composite dans une page.

Prospective

Dans les évolutions envisagées, des structures multi-paneaux commutés par onglets seront possibles.

Revenir au sommaire de la conception - Revenir au sommaire général