
Le cas de la LPEE est un cas complexe qu'a nécessité une base de 80 tables et de 35 vues.
Aperçu sur le modèle physique

La solution est fondée sur une politique de répartition de la charge entre l'application VB.NET et le noyau de la base ORACLE. J'ai ainsi procédé à l'élaboration de plusieurs triggers et procédures stockées coté base de données afin de minimiser les données échangées et donc d'optimiser la connexion et la performance total du logiciel.
Exemple d'un trigger stocké dans ORACLE qui vérifie la validité d'un avancement

Coté .NET, l'accès a la base de données se fait via une classe Persistance conçue et adaptée spécialement pour ORACLE en se basant sur les objets du ADO.NET et ceux du fournisseur de données ‘.NET Framework pour Oracle Web Release'.
Aperçu sur la classe Persistance

Pour bien tirer profit des outils de ORACLE, l'accès à l'application se fait via les utilisateurs déjà créés et gérés (rôles, privilèges…) par ORACLE SECURITY MANAGER.
Connexion

Vu l'importance des informations gérées, j'ai réalisé un mécanisme de ‘Points de Sauvegarde/Restauration' de la base. On peut alors effectuer des points de sauvegarde chaque fin de journée et les stocker dans un disque amovible ou un CD ROM par exemple. Ces points représentent l'états de la base (structure et données) à une date donnée et chaque point est englobé dans un seul fichier.
En cas de problème (crache du disque dur ou tout simplement suppression des données accidentellement), on peut alors restaurer la base de données via le point de sauvegarde le plus récent…
Création de fichiers de sauvegarde

Restauration de la base (avec les données) à partir des fichiers déjà créés

Aperçu sur quelques interfaces
Gestion du personnel

Gestion des contrats et des affectations

Gestion des avancements

Gestion des commandes

Gestion des paiements

Exemple d'état d'impression


Vu quand peut pas faire des ‘Copier-Coller' à partir de ces états, et dans les cas où l'utilisateur a besoin de rapporter les données de l'application vers un tableur Excel ou un document Word, j'ai développé une méthode permettant d'exporter n'importe quelle grille de données (avec ou sans filtrage) en un fichier XML re-stylisé avec un fichier XSL en un autre HTML se lançant automatiquement après l'appelle de la fonction.
Exemple:
La grille initiale

L'export en fichier XML puis HTML

Enfin la possibilité de ‘copier-coller' dans un document Word par exemple

No comments:
Post a Comment