Bonjour,
Pour la plupart des projets sur lesquels je travailles nous essayons de respecter un ensemble de règles pour maîtriser au mieux les risques technologiques liés aux applications web 3 tiers :
A) Gestion Transactionnelle des Processus
Définition :
Assurer l’annulation d’un processus complet en cas d’échec d’une partie du processus
Pourquoi ?
Laisser un état stable des données en cas de problème matériel
Eviter l’effet boule de neige des anomalies
B) Gestion des Accès Concurrents
Définition :
Assurer qu’une même information ne soit pas modifiée par deux utilisateurs en même temps afin que les modifications utilisateur soient effectuées en prenant en compte des données réelles.
Pourquoi ?
Considéré comme dû par le client
Intégration quasi impossible en fin de projet
C) Gestion de la Propagation des Exceptions
Définition :
Les exceptions doivent être propagées de couche en couche pour être traitées de façon uniforme par un composant de gestion des exceptions. Les exceptions de type fonctionnelle et inattendues doivent être traitées de façon indépendante.
Pourquoi ?
Faciliter la correction en service régulier
Pouvoir gérer différents types de restitution des exceptions (mail, écran)
D) Utiliser un Maximum de Données Réelles
Définition :
Ne pas utiliser de systèmes de cache désynchronisés de la base de données pour les données fréquemment modifiées.
Pourquoi ?
Eviter de présenter des données fantôme
Laisser la base gérer les accès concurrents
Toléré pour les données référentielles
E) Isoler les Sous-Systèmes Techniques
Définition :
Un sous-système technique assure une fonction transversale pour l’application et différentes implémentations peuvent convenir (Accès aux données, Log, Authentification, Reporting)
Pourquoi ?
Maîtriser les variations de l’implémentation de ces sous-systèmes
Intégrer des Framework Techniques dans les applications
F) Minimiser les dépendances entre objets
Définition :
Les dépendances entre objets (ou couplage) sont forts lorsque la modification d’un objet impacte fortement les autres objets en relation
Pourquoi ?
Maîtriser le périmètre des évolutions
Séparer l’application en modules pouvant évoluer séparément
G) Responsabiliser les objets
Définition :
Un objet doit être responsable d’un périmètre défini et être le seul à en être responsable (principe de cohésion).
Pourquoi ?
Maîtriser le périmètre des évolutions
Permet la réutilisation
Qu'en pensez-vous ?
Partager