La base de données
Chaque espace de travail dispose donc de sa propre base de données
relationnelle, gérée par les administrateurs. Cette base de données
se charge de stocker les informations brutes du l’espace et veille à ce
que seules les bonnes personnes puissent accéder aux bonnes informations,
par quelle qu’application que se soit.
Objets fondamentaux : tables et vues
Naturellement, des tables permettent de stocker et organiser les données
de la base, et des vues assurent l’extraction des données pertinentes.
Mais ces objets, ainsi que tous leurs champs, sont plus sophistiqués que
dans les bases de données traditionnelles : ils supportent tous un
label, une icône et une description dans toutes les langues souhaitées
par l’administrateur. Ces informations pourront alors être utilisées
automatiquement par toutes les applications qui s’appuieront sur cette
base pour enrichir leur interface graphique.
Architecture relationnelle
Une base de donnée au sein d’un espace de travail est rigoureusement
relationnelle. A ce titre, elle supporte l’utilisation de clés étrangères,
associant formellement les informations au travers des différentes tables.
Les vues peuvent alors tirer bénéfices de ces clés pour
associer à un enregistrement les informations issues de ses liaisons et
ainsi bâtir aisément des jointures.
Typage haut niveau évolutif
Au-delà des types primitifs classiques, la base de données supporte
de nombreux types de haut niveau, très évolués.
La construction de tables complexes est ainsi facilitée et le mécanisme
de requête met à profit ces types pour supporter des opérateurs
spécifiques plus puissants.
Le mécanisme de typage est ouvert et flexible. Il est donc possible
d’en ajouter au fil de l’apparition de nouveaux besoins.
Gestion des droits d’accès
La gestion des droits est localisée au cœur même de la
base de données, assurant la cohérence de ces droits au travers
de toutes les applications. La base met en œuvre deux mécanismes
complémentaires, garantissant une grande souplesse dans toutes les situations :
- droits absolus : les utilisateurs appartenant à un groupe spécifique
peuvent accéder aux enregistrements appartenant eux aussi à un
groupe spécifique.
exemple : les utilisateurs du groupe « clients » peuvent
accéder aux documents du groupe « public ».
- droits relatifs : les utilisateurs peuvent accéder aux enregistrements
qui leur sont associés au travers d’un chemin relationnel au sein
de la base.
exemple : chaque utilisateur peut voir les factures des clients qui
lui sont assignés.
Modes d’administration
Cette base est administrée par des membres de l’espace qui ont
reçu une autorisation spéciale. Ils peuvent alors gérer
toute la structure de la base : ajouter, modifier, supprimer des tables,
des vues ou des filtres, ainsi que mettre en place les stratégies de droits
d’accès.
Précisément, l’administration de la base est réalisée
par l’envoi au serveur de commandes
XML. Au dessus de cette couche technique, l’utilisateur dispose de
plusieurs scénarios pour exercer sa fonction d’administrateur :
- Il utilise le Studio que ProgramShop propose et profite
ainsi d’une interface graphique évoluée et intuitive.
- Il applique des modèles fournis par ProgramShop et/ou construits
par ses soins. Ces modèles peuvent représenter tout ou partie de
la structure de la base. Les commandes définissant un tel modèle
sont regroupées dans un document XML que le Studio injecte
en une seule passe transactionnelle.
- Il développe sa propre application en s’appuyant sur l’API
offerte par ProgramShop, qui exploite elle-même le canal de communication
XML.
|