Question

Je ne suis pas sûr si cette question se qualifie d'être ici, mais je ne peux pas penser à un meilleur endroit où aller.

Je construis une application web qui a de multiples voies alternatives à la plupart des cas d'utilisation. Ces chemins que je perçois comme des règles métier. Je voudrais coder ma première application pour les scénarios principaux et ensuite appliquer des scénarios alternatifs comme les règles métier (règles peuvent être ajoutées et supprimées, même lorsque l'application est en production).

Je pense que ma demande mérite un moteur de règles. Je n'ai pas utilisé dans le passé. J'ai donc quelques questions, mais avant cela est le profil de ma demande ici:

  • application Web (données intensive)
  • Un peu critique (liées aux soins de santé) - dynamisme doit être pris en compte
  • plate-forme Microsoft .Net (ASP.Net, MS SQL Server, WCF)

Voici quelques requêtes:

  • La meilleure façon d'extérioriser les règles?
  • Est-il possible d'appliquer des règles immédiatement ou par lot est la seule possibilité?
  • Comment les entreprises peuvent-utilisateur dans le contrôle des règles?
  • Quel meilleur moteur de règles (approprié) est-il? (Je préfère recevoir un produit open source)

Toute expérience supplémentaire est le bienvenu que je suis toujours le forage dans les besoins.

Était-ce utile?

La solution

Il y a beaucoup de règles métier moteurs disponibles pour ASP.Net; Windows Workflow Foundation , BizTalk Business Rule Engine , Solver Foundation , Perspicacité Stream, et cadre réactive. Google révèle beaucoup d'autres, tels que simple règle du moteur et règle personnalisée du moteur.

Si c'est un indice qu'aucun d'entre eux sont de nombreuses solutions à un problème, tout bon, et qui a été mon expérience en utilisant les moteurs de règles. Je WWF étudié, et mon expérience est que la mise en œuvre du moteur et la définition des règles était plus difficile et sujette aux erreurs de codage que simplement les règles dans la logique de l'application.

Je dissuade DSLs format binaire ou graphiques. Dans mon expérience, ils sont très difficiles à changer, debug, rechercher et maintenir.

Mon conseil est de mettre en œuvre les règles dans un environnement familier, compréhensible utilisateur final, domaine spécifique, la langue de texte. Quelle langue dépendra de quel domaine vous travaillez, et quelles langues vos utilisateurs sont familiers. Enquêter sur les produits concurrents et mises en œuvre pour voir ce qui est déjà utilisé dans votre domaine.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top