Bonjour,
Dans un cadre pédagogique, je travaille en équipe sur un projet impliquant la modélisation de règles régissant la structures de trames réseau (.NET C#).
Par exemple, je dois pouvoir exprimer l'idée que "si l'entête d'un paquet a une valeur donnée, alors tel champ suivant sera présent ou non, aura telle taille, devra avoir une valeur parmi telle ou telle valeur".
Il s'agit donc de règles métier, de Business rules.
Pour l'heure, j'envisage donc de modéliser ces règles au sein d'un schéma XML, en utilisant la technologie Schematron.
Deux choses me gênent là-dedans :
1/ Schematron semble être la seule techno XML permettant de définir des règles métier, mais les développements les plus récents datent de 2004, ce qui laisse croire à un outil de référence, mais non finalisé.
2/ Les règles définies avec Schematron se trouvent noyées/éparpillées parmi un schéma XML, contribuant à mélanger règles structurelles/hiérarchiques du schéma avec les règles métier, etc. Bref, l'approche Schematron ne semble pas être modulaire.
Sinon, plutôt que d'utiliser des schémas XML, il serait aussi possible de coder une batterie d'objets du langage, incluant des tonnes de structures conditionnelles (règles) s'appuyant sur un gestionnaire de contexte (la validation d'une règle sur un objet dépend de la présence/valeur d'autres objets, connus du contexte seul).
Au final, quelle méthode de conception et/ou technologie me conseillez-vous pour implémenter ces règles ? Existe-t-il un Design Pattern adapté à cela ? Mon avis sur Schematron est-il faussé ? Le XML est-il un passage obligé/l'outil le mieux adapté pour définir des règles métier ?
Pour le moment, j'écume les forums pour trouver la solution "dominante" pour ce type de problématique, et compte sur vos avis pour choisir la voie à emprunter, et entamer les développements.
Merci de votre aide.
Partager