Question

Nous avons construit un système de demande de subvention pour un client. Ils ont maintenant demandé une fonctionnalité de flux de travail simple (deux approbations nécessaires avant que la demande ne soit soumise).

J'ai réfléchi à la conception de la base de données que j'utiliserais pour coder les exigences de flux de travail de manière à offrir un maximum de flexibilité et de possibilité de réutilisation. J'aimerais savoir s'il existe des modèles de conception ou des modèles existants. meilleures pratiques sur ce type de système. Des suggestions?

Remarque: Il s'agit d'une application ASP.NET personnalisée. Nous allons certainement déployer notre propre solution de flux de travail. Je ne suis pas intéressé par l'achat d'un composant ou encore moins par le transfert de tout cela vers une plate-forme comme SharePoint.

Était-ce utile?

La solution

Ne pas regarder la Windows Workflow Foundation serait une folie. . Il a été conçu pour répondre exactement à vos besoins.

Voici un lien spécifique ASP.NET .

Autres conseils

Si la fonctionnalité de workflow est si simple, votre approche suffit. Mais si vous voulez (ou si le client vous demande plus tard) plus de fonctionnalités telles que:

  • Rappels aux approbateurs
  • Alertes aux administrateurs
  • Escalades et réaffectations d'affectations
  • Annulations d'assignations
  • Allocations basées sur des règles
  • Suivi des affectations

alors vous devrez peut-être envisager un composant de flux de travail tel que Workflow Foundation .

Vous pouvez trouver ici une approche académique et les regrouper. quatre catégories:

Je pense que la catégorie la plus intéressante pour votre cas est la structure des ressources.

Une solution qui a bien fonctionné dans le passé consiste à créer des groupes d’approbation avec des membres, des codes d’approbation sous forme de table de recherche simple et à coder de manière souple la machine à états d’approbation afin que chaque étape résulte de l’attribution d’un code un élément par un membre du groupe. Cela permet de modifier l’appartenance au groupe et les chemins d’approbation sans avoir à tout recoder. Vous pouvez également ajouter des déclencheurs de code et des noeuds finaux (via réflexion, par exemple nom d'assembly + nom de classe + nom de méthode) pour effectuer des actions de type effet secondaire et validation / notification à chaque étape

J'ai une requête similaire. Il existe un groupe de processus par lots avec des interdépendances. Je travaille sur un workflow comme système pour ces traitements par lots.

Lequel des deux modèles suivants est le meilleur:

  1. Une conception basée sur une base de données où chaque processus met à jour son statut et d'autres détails dans les tables de base de données et d'autres processus interroge ces tables ou

  2. Une approche JMS ou basée sur la messagerie dans laquelle les processus communiquent entre eux à l'aide de files d'attente de messagerie.

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