Système Interactif d'Aide à la Décision
Système Interactif d'Aide à la Décision
S O F T - T E C H
INTERNATIONAL
En vue de l’obtention du
DIPLOME D’INGENIEUR DE CONCEPTION EN INFORMATIQUE,
(Année Académique 2004 / 2005)
Sous la direction de :
Dr. Augustin YEKEL
Je dédie ce mémoire à :
i
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
REMERCIEMENTS
"Le résultat d’un travail n’est que l’aboutissement de nombreux efforts et de beaucoup de
persévérance". Chaque réussite cache derrière elle une pléthore de personnes qui se sont
illustrées par leurs aides et conseils. Qu’il me soit permis d’adresser de sincères remerciements
aux personnes qui ont contribué à l'aboutissement de ce travail, notamment :
Que tous ceux qui de près ou de loin m'ont assisté et dont les noms n’ont pas été cités,
trouvent ici l'expression de ma profonde gratitude !
ii
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
RESUME
La mondialisation des échanges, la globalisation des marchés, l'innovation technologique
constituent des facteurs de multiplication des risques qui rendent la position des entreprises de
plus en plus difficile à une échelle économique mondiale. On assiste aujourd'hui au passage
d'une économie de production à une économie d'environnement et à une économie de marché
(création et développement d'alliances, fusions/acquisitions etc.…) [NCL 95].
Cette problématique, dans un univers où la quantité d'information et son accessibilité
augmentent et se complexifient, nécessite d'adopter une attitude "anticipatrice" par une
exploitation permanente des informations vitales pour l'entreprise : c'est ce que permettent de
faire les Systèmes Interactifs d'Aide à la Décision (SIAD).
Mettre sur pied un SIAD n'est pas chose aisée. En effet, l'organisation par processus
fonctionnels des Systèmes de Gestion de Base de Données (SGBD) conventionnels1 ne convient
pas aux SIAD. Il faut revoir les principes de stockage de l'information et même la structure de la
base de connaissances; un nouveau type de SGBD a été conçu dans ce but : l'entrepôt de
données ou Data Warehouse. Cette restructuration de la base de connaissances engendre
aussi de grandes modifications lors de l'exploitation de cette dernière.
Ce document présente en détail et de façon pratique les techniques intervenant lors de
la mise sur pied d'un SIAD. La partie pratique est basée sur SQL Server 2000 et son nouveau
complément logiciel, Microsoft SQL Reporting Service.
1
Base de données de production
iii
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
ABSTRACT
The internationalization of exchanges, the globalization of markets, the technological
innovation constitute factors of multiplication of risks that make the position of enterprises more
and more difficult at a world economic scale. Today, the production economy is replaced by an
economy of environment and by an economy of market (creation and development of alliances,
mergings/acquisitions etc.…) [NCL 95].
This problematic, in an universe where the quantity of information and its accessibility
are increasing and becoming more and more complex, require to adopt an "anticipating"
attitude by a permanent exploitation of the enterprise's vital information: that's what Business
Intelligence (BI) aims at.
Building BI software is not an easy task. Indeed, the organization by functional
processes of the conventional2 Database Management Systems (DBMS) doesn't fit to BI. The
storage principles of information and even the structure of the DBMS have to be review; a new
type of DBMS has been conceived in this goal: the Data Warehouse. This restructuring of the
database makes its exploitation more challenging than with conventional DBMS.
The present document gives in details and practically the techniques used when building
a BI application. The implementation part is based on SQL Server 2000 and its new add-on,
Microsoft SQL Reporting Service.
Keywords: Data Warehouse, Business intelligence, SQL Server 2000, Reporting Services
2
Production database
iv
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
SOMMAIRE
Dédicaces .......................................................................................................................................i
remerciements ............................................................................................................................. ii
Abstract.........................................................................................................................................iv
Sommaire ...................................................................................................................................... v
v
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Chapitre 6: Implémentation du prototype .........................................64
I. Outils et langages de développement ......................................................................................... 64
II. Interface de définition des Paramètres de connexion ........................................................ 64
III. Interface de construction de tableau de données................................................................. 65
IV. Interface de présentation de comptes-rendus........................................................................ 66
Glossaire...................................................................................................................................... 70
Annexes ....................................................................................................................................... 71
vi
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
TABLE DES ILLUSTRATIONS
vii
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
1ère Partie
Introduction générale
1
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Introduction générale
2
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Introduction générale
3
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Introduction générale
4
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
2ème Partie
Data warehouse, data mining et tableau
de bord
5
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
I. Quelques Définitions
1. Entreprise
Par souci d’exhaustivité, nous nous appuyons sur le schéma des secteurs
institutionnels données par la Figure 1.
6
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
2. Décideur
Dans l’organisation ainsi définie, le décideur peut être le responsable de cette
organisation ou le responsable d’une fonction de cette organisation. Nous associons le
terme “Décideur” et la responsabilité vis à vis de la pérennité de l’organisation.
3. Décision
Soit l’axiome suivant: entre les deux issues mutuellement exclusives d'une
alternative, l'individu X qui choisit une issue à la suite d'un processus mental, appelé
réflexion, aurait pu tout aussi bien choisir l'autre.
Nous appelons ce choix : “décision” ou plus précisément “prise de décision”.
Nous considérons toujours qu'il y a correspondance biunivoque non ambiguë entre
une prise de décision et un problème que l'on cherche à résoudre.
H.A. Simon [MSHA 57] distingue quatre phases dans le processus de décision :
7
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
Remarques : Les étapes décrites par Simon ne se déroulent pas forcément suivant un
processus purement séquentiel, il peut y avoir des retours en arrière. Assez fréquemment
l'information et la conception contiennent déjà le choix dans la mesure où le décideur
privilégie assez vite une seule action parmi celles possibles. Celle-ci est ensuite la seule
documentée et construite.
1. Définition
8
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
fournit une interface simple et autorise le manipulateur à exprimer ses propres opinions”
[AGPH 03].
1.1 Interactif
Interactif avait un sens fort dans les années 70, car il s’opposait à “saisie par
cartes perforées”, “traitement par lot”. Aujourd’hui, les accès à la machine sont des
transactions interactives Homme-Machine. Toutefois, le sens “Interactif” des années 70
n’a pas changé. Le SIAD est interactif parce qu’il laisse le contrôle à l’Homme pour choisir
ou décider du modèle à appliquer lors de l’étape suivante.
En effet, les objets valués, correspondant à un état, étant définis, un certain
nombre de “computations”, effectuées par un processeur d'état, fournissent, suivant un
programme informatique non interactif, des extrants (des données de sortie), ce sont ces
dernières valeurs qui vont être appréciées par l'utilisateur pour décider de la suite de la
recherche heuristique.
De la même manière que les définitions varient en fonction des auteurs, il n’existe
pas d’architecture standard pour un SIAD. Chaque auteur reprend sous le terme de SIAD
un ensemble plus ou moins étendu de composants. Nous ferons donc ici plutôt ressortir
les différences entre types de SIAD que leur structure propre.
Nous allons ici présenter deux classifications des SIAD : une classification fonction
du niveau de la décision impliqué et une autre fonction de l'envergure de décision.
9
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
3
Conf. 1.Chapitre 2:Dashboard - Dashboard manager
10
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
C'est un système interactif qui aide le décideur à exploiter les données et les
modèles pour trouver une solution à un problème non structuré4 et analyser l'effet
d'éventuels changements de l'environnement sur l'organisation.
Le but du DSS est d'aider la décision et non de remplacer le décideur. Toutefois, il
doit permettre de faire de la planification stratégique, ainsi que de la budgétisation à long
terme.
4
Cf. Glossaire "Décision peu ou mal structurées"
11
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
opérateurs qui peuvent avoir à résoudre des problèmes très difficiles sous
la contrainte de l’urgence.
¾ Le SIAD de gestion : Il présente aux responsables opérationnels les
indicateurs et alarmes quotidiens utiles au pilotage du travail des
opérateurs (respect des normes de qualité, charge de travail des
ressources). Un SIAD de gestion équipe, ou devrait équiper chacun des
processus de production.
¾ Le SIAD stratégique : Il présente aux dirigeants des séries chronologiques
périodiques éclairant l’efficacité et le positionnement de l’entreprise
(résultat, part de marché, tendances). Il fournit au comité de direction une
évaluation partagée et précoce des indicateurs essentiels.
Par la suite, sauf mention contraire, nous ne parlerons que du SIAD stratégique,
que nous appellerons SIAD tout court.
Le SIAD occupe, dans le système d’information (SI), une place très particulière. Il
est pour le SI un point d’aboutissement. Le SI soutient et alimente le SIAD, mais celui-ci
ne soutient rien d’autre que l’interface qui permet aux utilisateurs de le consulter. Il a
pour fonction de faire rayonner le SI. Sa place, dans l’architecture du SI, est ainsi
semblable à celle du coq à la pointe d’un clocher : porté par les fondations et les piliers de
l’architecture, il est visible et c’est là tout son rôle.
Pour rendre visible un SI, on doit être guidé par un critère de pertinence : cela
suppose que l’on ait défini l’action qu’il s’agit d’éclairer et que l’on ait fait passer, à travers
la masse des données que brasse le système d’information, le scalpel d’une sélectivité
exigeante. Mais pour le SIAD stratégique il ne suffit pas de sélectionner les données, il
faut aussi les transformer. Les bases de données opérationnelles contiennent les dossiers
en cours de traitement, mais non les séries chronologiques qui seules sont utiles au
stratège. Par ailleurs, même si la qualité des données suffit aux tâches opérationnelles, la
mise en perspective chronologique nécessite l’intervention du statisticien qui évalue les
données manquantes, redresse les pondérations, corrige les codages. Pour que l’on puisse
définir l’action que l’on veut éclairer, il faut bien sûr que l’entreprise sache ce qu’elle veut
être et ce qu’elle veut faire. Or la définition des priorités est entre ses directions (direction
financière, direction de la production, direction commerciale, direction de la
12
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
communication, etc.), l'enjeu d’un conflit auquel seul l’arbitrage du directeur général peut
mettre un terme.
A ces difficultés techniques et "politiques" s’ajoute enfin une difficulté intellectuelle.
Personne ne conteste, par exemple, que la sobriété ne soit l’une des premières qualités
d’un tableau de bord. Cependant elle suppose une sélectivité qui semble contraire au
réalisme, ce que l’on sélectionne étant découpé dans la masse dont on fait abstraction. Or
la hardiesse que réclame la pratique de l’abstraction est peu répandue. Par ailleurs les
conventions comptables, souvent étrangères au raisonnement économique, exercent sur
le traitement des données une dictature dont il est difficile de s’affranchir.
Le SIAD est un outil d’observation qui vise, à partir de données de gestion et/ou de
statistiques, à donner aux managers d’une entreprise les moyens d’identifier des alertes
de gestion, de suivre l’évolution de l’activité et de disposer d’outils d’investigation de
sujets ou phénomènes particuliers. Il ne fournit pas les explications ni les commentaires
qui relèvent d’une phase de travail postérieure à l’observation.
Le SIAD tire parti de l’ensemble des données produites ou acquises par
l’entreprise, ensemble dont il fournit une présentation synthétique. Cela suppose :
¾ que le SIAD soit alimenté potentiellement par toutes les applications de
l’entreprise,
¾ qu’il résolve les problèmes de comparabilité et de redressement des
données qui se posent lorsque l’on utilise des sources diverses.
Le SIAD vise à présenter des informations utiles. Ceci implique qu’il soit construit
selon des critères de sélectivité en choisissant, parmi les statistiques qu’il est possible de
produire, celles qui peuvent servir à telle ou telle catégorie d’utilisateurs. Sa construction
suppose donc une analyse des besoins, elle même fondée sur une segmentation des
utilisateurs en sous populations homogènes en ce qui concerne les missions à remplir et
les besoins correspondants.
Le SIAD vise à fournir aux utilisateurs un outil de consultation commode, d’une
ergonomie aisée, de façon à minimiser les tâches de recherche de l’information et de
présentation des résultats.
Produire des statistiques en adressant au coup par coup des requêtes à une
application opérationnelle est coûteux en traitement. Le SIAD protège donc les bases de
13
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
5
Cf. Glossaire
6
On associe au données un référentiel temporel
14
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
Seuls les hypercubes sont consultables par les utilisateurs, qui peuvent ainsi
construire une grande diversité de tableaux croisés.
La base de données du SIAD est exploitée par l’équipe d’analystes :
¾ pour produire les hypercubes,
¾ pour répondre à des demandes complexes formulées par les utilisateurs.
15
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
¾ les "attributs", variables qui seront ventilées dans les cases des tableaux
(exemple : nombre de personnes, montants en francs, nombre d’entretiens,
etc.).
Les hypercubes sont produits, à partir de la base de données du SIAD, par
agrégation de données individuelles (nous utilisons ici le mot "individu" au sens qu’il a en
statistique pour désigner une unité particulière au sein d’une "population" qui peut être un
ensemble d’établissements, de clients, de fournisseurs, de francs de dépense etc.). Ainsi,
si le SIAD contient les données détaillées sur les clients, les hypercubes permettront de
construire des tableaux croisés décrivant la population des clients.
16
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
2. Silo d’échange
A partir de ce qui précède, il est aisé de concevoir le silo d’échange que chaque
application doit constituer. Au démarrage du SIAD, l’application construit la base de
données initiale, qui indique pour chaque individu la valeur des variables sélectionnées par
le SIAD. Cette base de données servira ensuite à amorcer la base de données du SIAD.
17
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
Le "silo d’échange" est une base de données qui stocke selon la technique que l’on
a retenue soit les événements, soit les photographies, au fur et à mesure de leur
occurrence. Si l’on a choisi de recueillir les événements il faut prévoir, à l’intérieur de
l’application, un mécanisme qui détectera les événements et enverra les enregistrements
correspondants vers le silo d’échange.
Le moteur d’alimentation du SIAD consulte périodiquement le silo, recopie ses
éléments vers une base temporaire nommée "sas" ou base tampon (ils seront ensuite
traités pour alimenter la base du SIAD), puis le purge.
Le "silo d’échange" est de taille modeste, son volume se limitant à celui de la
dernière photographie ou à celui des "événements" survenus entre deux consultations par
le SIAD. Il peut contenir des indications techniques visant à garantir la qualité de
l’alimentation du SIAD ; il faut en effet s’assurer périodiquement (et ce n’est pas facile) :
¾ que l’image figurant dans le SIAD ne diverge pas de la réalité par suite d’un
cumul d’erreurs dans la collecte des événements ;
¾ que les opérations visant à "nettoyer" l’application ("purge"
d’enregistrements désuets, corrections des codages et identifiants) ne
suscitent pas des erreurs en provoquant des événements artificiels ;
¾ que les modifications des classifications et nomenclatures utilisées dans
l’application sont correctement répercutées dans le SIAD.
On voit maintenant ce que doit contenir la commande adressée par le SIAD à une
application :
¾ définition des "individus" qui seront observés : à priori, tous les "individus"
gérés par l’application intéressent le SIAD (clients et commandes,
fournisseurs et offres) ;
¾ liste des variables qui seront observées par le SIAD sur chacun de ces
individus ;
¾ indications techniques visant à garantir la qualité de l’alimentation du SIAD.
Les responsables de l’application devront, à partir de cette commande, faire
développer l’outil qui alimentera le silo conformément à la méthode décrite ci-dessus. Il
n’est pas indispensable que le SIAD indique dès la passation de sa commande la liste
exacte des variables qu’il voudra observer : une fois l’alimentation du silo d’échange en
place, cette liste peut être modifiée car elle constitue un paramètre de ce mécanisme.
18
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
19
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
Mais le SIAD est bâti à partir des données d’observation, et il faut distinguer
l’observation de l’explication : il faut, pour comprendre ce qui se passe, associer
l’observation à la connaissance des théories concernant l’objet observé (un microscope
permet de voir des bactéries, mais ne les explique pas). C’est en complétant le SIAD par
des outils d’analyse des données et d’économétrie, et en le confrontant à des modèles
explicatifs, que l’on pourra comprendre ce qui se passe sur un marché. Or si le SIAD
alimente ces outils, il ne les comporte pas.
Il est donc utile de compléter le schéma ci-dessus en représentant les opérations
éditoriales qui s’appuient sur le SIAD ; utilisant les données d’observation synthétiques et
les confrontant à des modèles explicatifs, elles produisent des résultats interprétés et
commentés destinés à diverses populations d’utilisateurs (responsables régionaux,
responsables de ligne de produit etc.)
La représentation n’a plus alors la forme d’une pyramide mais celle d’un diabolo :
20
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
S’il est souvent nécessaire pour ces interprétations d’utiliser les méthodes de
l’analyse des données ou de l’économétrie il est recommandé de ne rien laisser paraître de
ces démarches techniques dans la publication, qui ne doit en accueillir que les résultats : il
ne convient pas en effet de laisser les échafaudages en place après la construction d’un
immeuble.
Le SIAD est un puissant outil d’observation ; il appelle un dépassement vers
l’explication et le commentaire. Ce dépassement implique, pour servir les diverses
populations d’utilisateurs concernées, la diversification éditoriale que représente la partie
haute du diabolo.
Nous proposons de situer les outils et les techniques d’aide à la décision que sont:
¾ le Data Warehouse ou entrepôt de données,
¾ l’analyse multidimensionnelle,
¾ le Data Mining,
¾ le Système Expert,
¾ le tableau de Bord,
¾ et l’E.I.S.
Pour cela nous nous baserons sur la structure suivante de la machine:
21
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
Machine Décideur
TABLEUR ( Dialogue )
SGBD
Mémoires / Processeurs
NB : Dans cette partie nous utilisons le terme SIAD au sens large du terme et plus
comme synonyme de SIAD stratégique.
1. Data Warehouse
Le Data Warehouse, "l’Entrepôt de données" remplit la fonction du Système de
Gestion de Base de Données. Il en est de même, des bases de données de production qui
font ce premier travail de sélectionner les “bons événements”, les “bonnes données”
utiles au fonctionnement de l’organisation.
A l’échelle de notre représentation ci-dessus, les bases de productions et le Data
Warehouse jouent ce rôle de filtre; le Data Warehouse affinant le filtrage.
22
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
Machine Décideur
Data Warehouse
( Dialogue )
Mémoires / Processeurs
3. Tableur et Modèles
Un SGBD est constitué à la base de "tables" de “bonnes données”. Aussi, dans un
transfert du SGBD vers le Tableur, c’est d’abord une opération miroir qui se passe : il y a
transfert d’une population d’individus.
Ainsi un premier ensemble de modèles porte sur ceux qui pourront s’appliquer sur
le tableur; ce sont les modèles d’analyse de population (classification, évaluation, .....).
Le second ensemble de modèles est fait de modèles à base de fonctions
mathématiques (financières, recherche opérationnelle, etc.).
23
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
Machine Décideur
Analyse Multidimensionnelle
TABLEUR ( Dialogue )
Mémoires / Processeurs
24
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
Machine Décideur
Analyse
DATA MINING
Multidimensio Système Expert
n-nelle
TABLEUR ( Dialogue )
Mémoires / Processeurs
25
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
26
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Système Interactif d'Aide à la Décision
27
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Dashboard - Dashboard manager
I. Le tableau de bord
1. Présentation
De nos jours, il est courant de rencontrer des tableaux de bord dans les véhicules.
La Figure 10 et la Figure 11 ci-dessous nous donnent quelques exemples de tels tableaux
de bord:
28
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Dashboard - Dashboard manager
1.2 En entreprise
29
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Dashboard - Dashboard manager
2.1 Définition
Un tableau de bord donne une vue sur un indicateur clé. Dans une entreprise, il
permet d'avoir l'état d'un secteur de l'entreprise sous forme de schéma(s) de façon
actuelle dans le temps.
Il porte sur un secteur de l'entreprise, ce secteur peut-être la comptabilité, les
ressources humaines ou tout autre. La division en secteurs de l'entreprise est faite par les
dirigeants de l'entreprise, par le constructeur du tableau de bord ou par toute autre
personne compétente en la matière.
La vue présentée à l'utilisateur doit être actuelle dans le temps; c'est à dire qu'elle
doit refléter l'état du secteur concerné au moment ou l'utilisateur la regarde. Pour rendre
cela possible, il faut mettre à jour régulièrement les schémas fournis en sortie. Cette mise
à jour peut être manuelle (initiée par l'utilisateur) ou automatique (l'application le fait
périodiquement).
2.2 Pourquoi
Aujourd'hui plus que jamais, avec la montée du capitalisme, "Le temps c'est de
l'argent". Cela est encore plus vrai en entreprise où généralement on veut produire le plus
de bénéfices possibles. Le tableau de bord permet de réaliser d'importants gains de
temps:
¾ L'accès à l'information est aisé car la sortie est graphique et est
constamment disponible pour consultation;
¾ L'interprétation des schémas de sortie est facile et rapide;
¾ Il élimine les temps de fouille de données, de recherche de données
pertinentes car il les fournit directement;
¾ Avec un tableau de bord, il n'y a pas d'intermédiaire supplémentaire entre
la base de connaissances et l'utilisateur.
30
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Dashboard - Dashboard manager
2.3 Entrées-sorties
31
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Dashboard - Dashboard manager
Figure 14 : Jauge
2.4 Composition
2.5 Inconvénients
33
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Dashboard - Dashboard manager
1. Définition
Le gestionnaire de tableau de bord comme son nom l'indique permet d'administrer,
de superviser des tableaux de bord. Il permet de prendre en main le cycle de vie d'un
tableau de bord.
Le cycle de vie d'un tableau de bord comprend:
¾ sa création : définition de sa source de données et du/des schémas de
sortie;
¾ sa mise à la disposition de l'utilisateur et son interaction avec ce dernier.
34
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Dashboard - Dashboard manager
2. Composition
Le gestionnaire de tableau de bord a deux parties :
¾ Gestionnaire de source de données ou data manager: il assure
l'administration de source de données du tableau de bord;
¾ Gestionnaire d'interface utilisateur ou display manager : il assure
l'administration des schémas du tableau de bord.
Le rafraîchissement du tableau de bord intervient aussi bien au niveau du
gestionnaire de source de données que du gestionnaire d'interface utilisateur et vu son
importance, il pourrait être considéré comme troisième composant du tableau de bord.
35
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
3ème Partie
Plateforme Microsoft pour les Systèmes
décisionnels
36
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
SIAD sous SQL Server 2000
1. Présentation
37
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
SIAD sous SQL Server 2000
Composant But
Microsoft SQL Server Base de donnée relationnelle pour stocker les données
Analysis Services Moteur de traitement analytique en ligne et de data mining
Data Transformation Outils pour l'extraction, la transformation et le chargement
Services de données
Reporting Services Plateforme pour la création, la gestion et la déploiement de
compte-rendu orientée serveur
Replication Services Fait une copie de données vers des sources de données
hétérogènes
Microsoft Office Application de bureau pour l'analyse et la production de
compte-rendu
SharePoint Portal Collaboration de systèmes d'aide à la décision
Server
Visual Studio .NET Outil de développement pour créer des applications .Net,
ainsi que des solutions d'analyse et de compte-rendu
Figure 17 : Composants du Système décisionnel de Microsoft [TL 04]
2. Data warehouse
Un Data Mart (magasin de données) peut être considéré, soit comme un Data
Warehouse miniature; soit comme une section du Data Warehouse. Les Data Marts sont
souvent utilisés pour fournir des informations aux segments fonctionnels de l'organisation.
Des exemples classiques de Data Marts sont ceux associés au service commercial, au
service des stocks et des expéditions, au service financier, à la direction générale, etc. Les
Data Marts permettent également de segmenter les données du Data Warehouse afin de
refléter les pôles régionaux et relativement autonomes de l'activité d'une entreprise. Par
exemple, une organisation de services étendue peut traiter les centres d'exploitation
38
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
SIAD sous SQL Server 2000
régionaux comme autant d'entités individuelles de l'entreprise, dont chacune possède son
propre Data Mart contribuant au Data Warehouse principal.
Un Data Mart est parfois conçu comme un Data Warehouse individuel à part
entière et contribue également à l'organisation globale en tant que membre d'un Data
Warehouse distribué. D'autres conceptions font que les Data Marts reçoivent des données
d'un Data Warehouse principal par le biais de mises à jour régulières, auquel cas leur
fonctionnalité se limite aux services de présentation aux clients.
Quelle que soit leur fonctionnalité ou construction propre, les Data Marts doivent
être conçus en tant que composants du Data Warehouse. Ceci permet de garantir la
cohérence des informations et permet leur utilisation sur l'ensemble de l'organisation.
Si les données de Data Warehouse sont administrées au sein d'un Data Warehouse
central, elles sont préparées et chargées dans le Data Warehouse sur le site central, puis
distribuées aux Data Marts locaux.
L'Agent SQL Server [ALM 04] et les DTS (Data Transformation Services) peuvent
être utilisés pour planifier et exécuter des transferts de données, notamment dans le
cadre du filtrage des données appropriées pour le Data Mart et de la mise à jour des
tables adéquates du Data Mart. Des lots DTS peuvent également être créés et planifiés
pour mettre à jour des cubes OLAP dans le Data Mart, après la réception de nouvelles
données du Data Warehouse central.
Dans certains scénarios de distribution de données de Data Warehouse, il est
également possible d'utiliser la réplication (cf "Replication Service" [ALM 04]) pour
coordonner et administrer les données des Data Marts.
Sous SQL Server 2000 le Data warehouse repose sur une base de données
relationnelle, qui contient les informations de l'entrepôt de données. Cette base de
données relationnelle contient des données extraites des sources de production et
transformées afin de respecter le schéma et les contraintes du Data Warehouse. Il
faudrait voir le paragraphe "Alimentation de l’entrepôt" pour plus de détails sur son
utilisation.
39
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
SIAD sous SQL Server 2000
Les Data Warehouses fournissent des informations qui vont aiguiller les
"décideurs". Pour ce faire, ils doivent rassembler et consolider les données émanant de
nombreuses sources de l'organisation en un ensemble de données cohérent qui reflète
fidèlement les activités et l'historique de l'entreprise.
Les entreprises disposent souvent de plusieurs systèmes de traitement
transactionnel en ligne (OLTP, OnLine Transaction Processing) pour la capture des
opérations quotidiennes. Ces systèmes OLTP sont rarement conçus au même moment que
des Data Warehouses. Ils peuvent même être conçus par différentes entreprises, ce qui
est souvent le cas lorsque celles-ci prennent de l'ampleur à la suite d'acquisitions ou de
fusions. Les schémas de base de données et les clés d'identification des éléments de
données varient d'une base de données à l'autre. Par exemple, la table des clients du
système OLTP d'une entreprise acquise par une autre peut contenir de nombreux clients
et produits également présents dans l'autre entreprise, tout en utilisant un système
d'identification différent. Les données extraites de ces systèmes OLTP doivent être
transformées afin d'élaborer une représentation commune.
Les anciens systèmes, utilisés depuis de nombreuses années, présentent souvent
des données dénormalisées, des modèles d'identification de données inhabituels et peu de
souplesse à l'interrogation.
Les données essentielles à l'analyse de l'activité peuvent même résider sur
différents ordinateurs de bureau, sous la forme de bases de données et de feuilles de
calcul personnelles, notamment dans les entreprises qui se sont développées sans
administration centralisée du système d'informations. De telles données doivent
également être capturées et placées dans le Data Warehouse.
Il faut identifier les sources de données à utiliser dans le Data Warehouse et
mettre au point les techniques devant servir à extraire des données de ces sources. Les
DTS (Data Transformation Services) [ALM 04, SQLDTS] sont des outils puissants pour
l'extraction et la transformation de données provenant de différentes sources.
Les données à utiliser dans le Data Warehouse doivent être extraites des sources
de données, nettoyées et mises en forme de façon cohérente puis transformées en
fonction du schéma du Data Warehouse. La zone de préparation des données, parfois
appelée zone de transfert des données ou base tampon, est une base de données
40
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
SIAD sous SQL Server 2000
relationnelle dans laquelle les données sont extraites des sources de données, converties
en des formats courants, testées du point de vue de la cohérence et de l'intégrité
référentielle, puis préparées en vue de leur chargement dans la base de données du Data
Warehouse.
Nous reviendrons sur sa fonction dans la partie Alimentation de l’entrepôt.
3. Analysis Services
Microsoft SQL Server 2000 Analysis Services est un serveur de niveau intermédiaire
pour le traitement analytique en ligne (OLAP, OnLine Analytical Processing) et le Data
Mining. Le système Analysis Services inclut un serveur qui gère des cubes
multidimensionnels de données à analyser et offre un accès client rapide aux informations
des cubes. Analysis Services organise les données d'un data warehouse en cubes
contenant des données d'agrégation précalculées, afin de fournir des réponses rapides à
des requêtes analytiques complexes. Analysis Services permet aussi de créer des modèles
de Mining à partir de sources de données multidimensionnelles (OLAP) et relationnelles.
On peut appliquer des modèles de Data Mining aux deux types de données. Le service
PivotTable, le fournisseur compatible OLE DB inclus, est utilisé par Microsoft Excel et des
applications de tiers pour récupérer des données du serveur et les présenter à l'utilisateur
ou pour créer des cubes de données locaux en vue de leur analyse hors connexion. Pour
plus de détails voir l'aide en ligne de Microsoft.
Des algorithmes de Data mining sont intégrés dans Analysis Services: Microsoft
Decision Trees et Microsoft Clustering; soient respectivement les arbres de décision et les
clusters de Microsoft [ALM 04]. L'algorithme des arbres de décision est basé sur la
classification7. Celui des clusters utilise la notion d'expectation (maximisation pour
regrouper les enregistrements en clusters/segments qui présentent des caractéristiques
similaires). La mise en œuvre de ses algorithmes se fait grâce à PivotTable Services [ALM
04] et Decision Support Objects (DSO) [ALM 04] qui viennent avec SQL Server 2000.
7
Cf. Glossaire
41
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
SIAD sous SQL Server 2000
1. Conception
La première étape pour la mise sur pied d'un Data Warehouse est la définition de
ses objectifs. Il faut fixer le rôle qu'il est appelé à jouer, ce qu'on attend de cette base de
connaissances, l'usage qu'on en fera. Pour cela il faut déterminer le contenu du Data
Warehouse et son organisation. Ceci doit se faire avec la participation des futurs
utilisateurs du Data Warehouse. Il faut aussi évaluer le coût de déploiement et les
bénéfices attendus afin que le projet ne se révèle pas par la suite être un véritable
désastre.
Une fois les buts à atteindre définis, il faut en collaboration avec les
administrateurs de la base de données de production spécifier les modèles conceptuel et
logique du Data Warehouse. Ils traduisent de manière formelle les objectifs.
8
Synonyme de "hypercubes"
42
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
SIAD sous SQL Server 2000
L'unité de base est la table, comme dans le modèle relationnel. Ici on définit pour
chaque cube le schéma retenu. C'est soit le schéma en étoile, soit le schéma en flocon.
Une fois les modèles du Data Warehouse définis, il faut construire les modules
d'alimentation et d'interrogation du Data Warehouse. Nous présentons dans les deux
prochains paragraphes leur procédure de mise en œuvre.
2. Alimentation de l’entrepôt
43
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
SIAD sous SQL Server 2000
Sous SQL Server la phase ETL est réalisée grâce à Data Transformation Service
(DTS).
2.1 Data Transformation Services (DTS)
DTS est un outil fourni avec SQL Server. Il peut se connecter en lecture et en
écriture:
¾ Aux logiciels Microsoft, évidemment : SQL Server, Access, Excel et Visual
FoxPro ;
¾ à d’autres SGBD : Corel Paradox, dBase, Oracle et même IBM DB2 ;
¾ à des fichiers textes ou des fichiers HTML.
DTS peut donc transférer les données non seulement d’une base SQL Server vers
une base SQL Server, mais aussi d’une base DB2 vers une base Oracle, par exemple.
Cet outil permet non seulement de transférer les données, les nettoyer, les
transformer, les fusionner et/ou les séparer. On entend par transformation tout calcul
numérique ou toute opération sur une chaîne de caractères par exemple. Ces
transformations peuvent être programmées dans des scripts SQL, Visual Basic, Java ou
Perl et donc être extrêmement complexes.
Une action DTS s’appelle un lot. Un lot DTS peut être exécuté régulièrement et
automatiquement (en collaboration avec un autre service, SQL Server Agent, qui permet
de planifier les opérations sur SQL Server).
Un lot peut comporter plusieurs tâches que l’on peut enchaîner (sur succès ou sur
échec de la tâche précédente) et dont on peut détecter et gérer les erreurs.
Pour nous, il s’agit d’utiliser DTS comme outil d’extraction périodique de données
depuis les bases de production vers la base décisionnelle. Parmi les tâches disponibles,
nous intéressent plus particulièrement :
¾ les connexions aux données en lecture et en écriture ;
¾ l’exécution de scripts paramétrés (essentiellement en SQL) ;
¾ l’exécution de sous-lots (ce qui permet de décomposer le lot ETL très
complexe en lots extraction, transformation, chargement et traitement, plus
simples) ;
¾ le traitement des cubes.
DTS offre également la possibilité d’utiliser des variables globales visibles par
toutes les taches. Pour l’ETL, deux variables globales sont indispensables : la date de
début et la date de fin qui délimite la période de temps à laquelle l’ETL s’applique.
44
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
SIAD sous SQL Server 2000
Etant donné qu’elle a lieu pendant les plages horaires peu occupées (la nuit), l’ETL
des données OLTP (OnLine Transaction Processing) pour le système OLAP entre en
concurrence avec les sauvegardes des bases de production. Il faut donc que cette phase
perturbe le moins longtemps possible les systèmes OLTP. Pour cela, il faut que :
¾ l’extraction prenne le moins de temps possible ;
¾ les transformations n’aient pas lieu en même temps que l’extraction et pas
sur le même serveur que les systèmes OLTP ;
Bref, les données extraites doivent atterrir sur une autre base, appelée base
tampon (staging area).
Une fois l’étape d’extraction terminée, les transformations nécessaires peuvent être
effectuées tranquillement dans la base tampon.
Il faut également que le système OLAP ne soit pas perturbé par la phase ETL (en
particulier, par l’étape de transformation). Autrement dit, cette base tampon ne doit pas
être la base décisionnelle et doit être gérée par un serveur dédié à l’ETL (cf. figure
suivante).
45
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
SIAD sous SQL Server 2000
3.1 MDX
46
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
SIAD sous SQL Server 2000
Le résultat d’une telle requête est un tableau multidimensionnel dont les cellules
ne contiennent qu’une valeur (contrairement aux cubes) et dans lequel on peut naviguer
avec les opérations décrites précédemment.
Parmi les dimensions du cube initial, certaines servent d’axes (un axe contient les
membres issus d’un dépliage et/ou d’un cubage) pour le résultat (clause SELECT) et
d’autres de tranchage (clause WHERE) mais pas les deux à la fois.
Pour MDX, les mesures constituent une dimension, et peuvent donc faire l’objet
d’un axe ou d’un tranchage.
Affichons par exemple, le montant des ventes, avec en colonne l’année 2002 et en
ligne la région PACA :
SELECT {temps.annee.[2002]} ON COLUMNS,
{geographie.region.PACA} ON ROWS
FROM ventes
WHERE (measures.montant)
47
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Reporting Services
I. Présentation
La finalité de tout système décisionnel, quels que soient les termes utilisés pour le
décrire, est de "sortir" ce qui est "entrer". Ainsi, le système de gestion de comptes-
rendus/rapports, organe de "sortie" de l'information, est la dernière couche de tout SIAD.
De ce fait, il est l'élément clé de tout SIAD. Avec la technologie Microsoft, l'outil de gestion
de comptes-rendus est Reporting Service.
Il existe de multiples problèmes quotidiens de l'entreprise dont RS est la solution.
Prenons le cas d'une organisation ayant construit un portail de commande en ligne.
L'énorme succès de ce portail auprès de sa clientèle fait naître le besoin de construire un
module de comptes-rendus présentant le bilan des achats de clients, de produits, … Une
personnalisation de RS permet la mise sur pied de ce module.
Tout au long de cette partie, nous désignerons par "compte-rendu" ou "rapport" la
version Web du rapport papier. Par exemple, une organisation peut souhaiter fournir à ses
membres des rapports sur le Web et leur permettre d'en créer eux-mêmes en ligne. Plus
difficile encore, elle peut vouloir rendre ses rapports disponibles sous plusieurs formats.
RS apporte une solution à ces deux problèmes. Premièrement, RS est orienté Web : la
consultation et la conception de rapport se fait à travers une interface Web.
48
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Reporting Services
Deuxièmement RS prend en charge l'exportation de ses rapports sous les formats les plus
utilisés.
1. Pourquoi RS
La complexité des rapports attendus est très variée. Supposons qu'on ait un très
grand rapport à produire, il est normal de prévoir une zone de navigation pour parcourir le
rapport. RS permet ceci; il permet la conception d'une grande variété de rapports. Le
tableau ci-dessous liste les différents types de rapports réalisables sous RS
49
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Reporting Services
Après avoir introduit RS, nous allons maintenant donner un aperçu de son
fonctionnement.
9
Cf. Glossaire
50
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Reporting Services
Bien que nous ne disposions pour le moment que de la première version de RS, il
existe de nombreux problèmes d'entreprise auxquels RS apporte une solution. Entre
autre:
¾ Les employés du domaine de l'information peuvent personnaliser RS pour
produire des rapports standard ou paramétrables. Ici "standard" désigne
les rapports présentant des données statiques. Un aspect intéressant de RS
est que notre rapport peut inclure une variété de dispositifs qui fournissent
une certaine interactivité aux utilisateurs. Par exemple, l'utilisateur final
peut rendre visible ou caché des éléments du rapport et des liens lui
permettent d'ouvrir d'autres comptes-rendus ou pages Web.
¾ Des vendeurs/personnes tiers peuvent incorporer RS dans leur application
comme package de gestion de rapport. Par exemple, si le client a RS
installé sur son poste, le logiciel du vendeur peut charger ou publier des
rapports sur le serveur de rapport (Report Server) de RS. Nous y
reviendrons par la suite. Il faut noter que les prochaines versions de RS
prévoient des rapports autonomes qui seront générés de fichiers de rapport
directement et n'exigeant plus la présence du serveur de rapport.
¾ Les organisations peuvent se servir de RS pour fournir dans leur
applications business-to-business (B2B) or business-to- consumer (B2C)
des rapports. Par exemple, une organisation peut présenter à ses
partenaires un choix de ses données sous forme de rapport d'affaire.
Nous allons à présent détailler certaines fonctionnalistes clés de RS.
1. Conception
Ici, nous vous présenterons juste le concepteur de rapport de RS, Report Designer.
Pour plus de détails sur les choix disponibles lors de la conception d'un rapport, il faudrait
voir l'aide en ligne de Reporting Services.
51
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Reporting Services
10
Liens vers des pages web
52
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Reporting Services
2. Administration
11
Pour plus d'informations voir l'aide en ligne de Reporting Services ou [TL 04]
53
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Reporting Services
Un rapport peut contenir d'autres éléments : des images, des sources de données
et autres information relatives. Ses éléments relatifs sont aussi stockés dans le catalogue
de rapport. Le catalogue de rapport contient un autre type d'information, appelé méta
données et associé aux rapports. De la même façon que vous organisez les fichiers
physiques en dossiers, RS vous permet d'organiser les rapports en fichiers.
Définition : Les méta-données contiennent des informations de configuration
additionnelles relatives au rapport, tels que les droits de sécurité, les dossiers parents, etc.
RS a une administration centralisée de rapports que les administrateurs sauront
apprécier. Pour simplifier l'administration de catalogue de rapports, RS est fourni avec un
outil appelé Report Manager (gestionnaire de rapport mot a mot). Le gestionnaire de
rapport est une application Web qui de ce fait est aisément accessible. Cet outil vous
permet de gérer presque tout aspect du répertoire de rapports, y compris :
¾ Les informations sur un rapport et les méta données, telle la structure de
fichiers et les propriétés du rapport.
¾ Les sources de données d’où le rapport tire ses données.
¾ Les paramètres du rapport (pour ceux qui en ont)
¾ La sécurité.
3. Distribution
54
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Reporting Services
4. Extensibilité
L'une des caractéristiques les plus importantes de produits orientés entreprise tel
RS est qu'il est facilement extensible. De façon simple, l'extensibilité est la capacité du
système à s'accommoder aux changements effectués. Les dispositifs d'extension sont
inclus du fait de l'architecture ouverte et flexible. Les développeurs peuvent facilement
étendre RS en écrivant du code .Net dans leur langage préféré. Spécifiquement, vous
pouvez étendre RS dans les domaines suivants :
¾ Code .Net : les développeurs .Net peuvent améliorer les rapports par
programme. (Cf. chapitre 6 de [TL 04] : exemple d'ajout d'un module de
prévision).
¾ Extensions des traitements de données. Par défaut, RS peut se connecter à
toute source de données ayant un fournisseur ODBC ou OLE DB. En plus,
nous pouvons écrire notre propre code afin d'intégrer d'autres structures de
données. (cf. chapitre 15 [TL 04])
¾ Extensions de livraison. Par défaut, les rapports peuvent être distribués par
mail ou sous formes de fichiers. Tour développeur peut écrire sa propre
extension de distribution de rapports, sous forme de Web services par
exemple. (cf. chapitre 15 [TL 04])
¾ Extension de sécurité. Par défaut, RS utilise le modèle de sécurité basé sur
Windows pour appliquer les restrictions d'accès au catalogue de rapports.
Si ce modèle de sécurité ne vous plait pas, vous pouvez le remplacer par
un modèle personnalisé. (cf. chapitre 15 [TL 04])
¾ Extension des dispositifs de présentation. La génération de rapport sous
des formats autres que ceux intégrés par défaut peut être effectuée en
écrivant du code.
5. Adaptabilité
Une application adaptable supporte les montées de charge. RS peut s'adapter aux
grandes variations du trafic de rapports des grandes organisations. Dès la base, il est
conçu pour gérer de manière efficace les rapports. Pour ce faire, il intègre par exemple
des options de mise en cache de rapport, de capture d'écran et de session de rapport. (cf.
Chapitre 7 [TL 04]).
55
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Reporting Services
6. Sécurité
7. Déploiement
Parce qu'il est orienté serveur, RS n'a aucune exigence de déploiement pour
prendre en charge une application cliente. Pour cette raison, tout type d'application cliente
peut se connecter à RS, pas seulement les applications .Net. Comme on peut avoir accès
à RS grâce aux protocoles Web les plus utilisés, HTTP-GET et Simple Object Access
Protocol (SOAP), toute application Web peut être intégrée à RS, quels que soient la
plateforme cible et le langage de développement.
Définition : Le protocole HTTP (Hypertext Transfer Protocol), sur lequel est basé
Internet existe sous deux formes : HTTP-GET et HTTP-POST. Tandis que HTTP-GET
envoie des requêtes comme faisant partie de l'URL, HTTP-POST les envoie sous forme de
paires nom/valeur dans le message.
Simple Object Access Protocol (SOAP) est un protocole d'échange de message
basé sur XML. Il est devenu aujourd'hui le protocole standard de communication avec des
Web services en entreprise.
56
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Figure 22 : Architecture globale du RS [TL 04]
57
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
4ème partie
Mise en œuvre d'un prototype
58
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Architecture du prototype
I. Architecture du prototype
59
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Architecture du prototype
12
Car se trouvant dans des hypercubes
60
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Architecture du prototype
Notre entrepôt de données est appelé à être utilisé par une compagnie d'assurance
fictive, Assurance Int. Nous allons présenter dans les prochains paragraphes les grandes
lignes de son fonctionnement, ensuite nous allons expliquer les différents choix effectués
pendant la modélisation du Data Warehouse.
1. Fonctionnement
Assurance Int a des agents qui prospectent dans différentes régions auprès de
clients potentiels. Pour ce faire, ils remplissent des formulaires/applications
renfermant des informations sur les potentiels clients et les polices auxquelles ils
souscriront peut-être par la suite. Une application ne concerne qu'une possible assurance.
Lors du premier versement concernant une assurance, l'application correspondante
devient une police. Celui effectuant les versements est le client de Assurance Int, tandis
que celui sur qui porte l'assurance, celui qui court le risque est l'assuré. Il faut noter ici
que l'assuré et le client ne sont pas nécessairement le même individu. Un client peut
souscrire à plusieurs polices et plusieurs polices peuvent concerner un assuré.
Les versements pour une police se font avec une périodicité fixée dans le contrat
d'assurance. Lorsque le client n'effectue pas l'un des versements à la date prévue, la
police devient due jusqu'au versement effectif. Lorsqu'une police arrive à terme (durée de
contrat atteinte et tous les versements effectués), la police est à maturité.
61
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Architecture du prototype
Le tableau suivant donne la liste des tables intervenant et pour chacune d'elle son
rôle:
Le modèle logique de notre Data Warehouse est fourni par la figure suivante:
Les tables de police et d'application sont nos tables de faits. Il est aisé de constater
que chacune de ces deux tables se trouve au centre d'un diagramme en étoile. La table
de date n'est directement liée à aucune table de fait parce que la dimension temporelle
des différents cubes ne sera ajoutée que sous Analysis Services. De plus, elle contient les
dates pour les polices et les applications qui ne sont pas identiques; donc une relation
avec une table de fait serait invalide car une date peut être associée à une police et n'être
associée à aucune application ou vice versa.
62
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Architecture du prototype
3. Cubes attendus
Nous avons deux cubes à réaliser sous Analysis Services13: les cubes de police et
d'application.
13
Cf. le Didacticiel de Analysis Services pour des exemples de construction de cubes
63
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Implémentation du prototype
14
Voir annexe pour une présentation détaillée du mode d'utilisation
64
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Implémentation du prototype
Nous avons réalisé notre interface de construction de requête avec les composants
Web de Microsoft Office (Office Web Components, OWC) version 10.
Nous avons combiné OWC et PivotTable Services (le service d'accès en
interrogation ou exploration au serveur OLAP de Analysis Services). Le résultat est une
interface intuitive, conviviale, d'usage aisé et intégrant la technique de "drag and drop"
pour la construction de requêtes. La figure suivante en donne un aperçu:
15
Voir annexe pour une présentation détaillée du mode d'utilisation
65
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Implémentation du prototype
16
Voir annexe pour une présentation détaillée du mode d'utilisation
66
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
5ème partie
Conclusion générale
67
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Conclusion
68
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Références
REFERENCES BIBLIOGRAPHIQUES
69
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Glossaire
GLOSSAIRE
70
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Annexes
ANNEXES
71
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Annexes
Pour définir une source de données à partir de laquelle on construira nos tableaux de
données, il nous faut définir les paramètres de connexion à cette source de données. Ceci
se fait en plusieurs étapes :
¾ D'abord, il nous faut aller à la fenêtre de gestion de source de données
(figure 30). On y accède en cliquant sur l'un des liens intitulés
"Datasource" des fenêtres de l'application. Dans cette fenêtre, nous avons
la liste des sources de données préalablement définies et sauvegardées
(ci-dessous Figure 31).
72
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Annexes
73
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Annexes
- Les champs de totaux sont les mesures disponibles dans le cube en cours
de traitement.
apparaître la liste des champs en cliquant sur le bouton dans la barre d'outils. Nous
avons alors une fenêtre donnant la liste des champs disponibles dans notre source de
données, voir figure suivante :
75
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Annexes
Il nous faut à présent définir les différents champs. Pour cela, nous avons le choix
entre deux techniques :
- la technique de "drag and drop" : on choisit l'un des champs dans la liste
de champs, on clique dessus, on le traîne jusqu'à l'une des zone de dépôt
disponibles et on l'y lâche, il fait ensuite partie de la liste des champs de
cette zone.
76
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Annexes
Avec ces deux techniques, on construit aisément un tableau de données tels que
celui de la figure suivante :
Une fois le tableau de données défini, on peut à l'aide des boutons se trouvant sur la
gauche effectuer de multiples actions :
77
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Annexes
- "Query in new window" a le même rôle que "Build Query " à la difference
que, la requête est fournie dans une nouvelle fenêtre. Elle est constituée
de plusieurs requêtes si on a des champs filtres qui représenteront alors
des paramètres dans le compte-rendu final.
78
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Annexes
C'est de loin l'interface la plus utilisée car elle permet l'administration de comptes-
rendus publiés. Elle est présentée à la figure suivante :
79
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Annexes
On peut parcourir les comptes-rendus (le champ "Report description" est mis à
jour en conséquence). On peut avoir un aperçu du compte-rendu actuellement sélectionné
en cliquant sur le bouton "Preview":
80
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Annexes
81
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Annexes
82
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005
Annexes
83
Mémoire d’ingénieur de conception en génie informatique
Zafack Takadong Thibaut ENSP 2005