OLAP TB
Architecture de récupération de données de cubes Olap
Présentation
OLAP TB est le projet le plus abouti que j’ai pu mener. Il se sépare en trois projets à part entière dont l’objectif était d’afficher les données extraites d’un cube de données OLAP pour les afficher par l’intermédiaire de technologies Web. Les utilisateurs, des sapeurs pompiers du service d'incendie et de secour de Seine est Marne réparti dans l’ensemble d'un département, l’accessibilité offertes par ce format était un véritable atout. Le résultat final consistait en une suite de tableaux de bord indépendants affichants des synthèses de données selon leur centre et le grade. Un même tableau de bord devait donc répondre à des demandes aussi variés que la consultation de données personnelles ou l’aide à la gestion de centres et de groupements.
Description de l’architecture du projet
Ce projet était conçu selon une architechture N-tiers de 3 couches applicatives répartient sur cinq couches techniques distinctes. Il était ainsi possible de les réutiliser à posteriorie dans des projets différents. La première couche était un web service passe-plat qui récupérait la requête MDX qui lui était indiquée avec les paramètre fournis avant de contacter le cube de données OLAP. Le resultat était ensuite transformé au format XML, stoqué en cache et renvoyé à l'application appelante. La seconde Couche utilisait une bibliothèque javascript de génération de graphique et retransformait les données XML demandées au format attendu selon le type de graphique. La dernière couche, celle visible par l'utilisateur, était celle des tableaux de bords qui permettait à l'utilisateur de sélectionner les paramètres à fournir au cube. Une URL était alors généré pour chaque graphique puis forunit aux Iframes correspondantes, destinés à afficher les graphiques ainsi générés.
Déroulement
Chacune de ces trois couches applicatives m'a demandé des compétences particulières pour mener à bien ce projet, mais toutes ont demandé de l'humilité et de la hauteur de vue : Même si un développement fonctionne dans un premier cas envisager, il vaux mieux parfois le mettre de côté pour repartir sur une idée neuve quand un nouveau besoin le met en echec. La première couche à demandé un long travail d'optimisation : l'utilisation de classes plus performantes pour le traitement de la donnée, la création d'un module de cache pour limiter la solicitation du cube. La seconde couche, destinée à servir d'API graphique pour afficher les données des cubes dans d'autres projets web. J'ai donc du réfléchir à la manière de la rendre simple d'utilisation tout en répondant à un maximum de cas d'utilisations La couche des tableau de bords était elle à l'inverse destinée à répondre à des besoins spécifiques. J'ai donc du faire preuve d'une capacité d'écoute et de compréhension pour acquérir un nombre de connaissances métier dans des branches aussi diverses que la comptabilité, les ressources humaines, les bilans infirmiers ou les effectifs opérationnels.