Question

J'enquête sur Windows Workflow (WF) pour .NET 4.0, et il semble y avoir quelques pièces manquantes. D'un BPM perspective, vous voulez avoir les concepts de files d'attente de travail et de la sécurité (autorisation de l'utilisateur).

que vous avez, par exemple, plusieurs instances de workflow longues à exécuter à partir de plusieurs flux de travail différents en cours d'exécution sur un serveur d'applications (comme AppFabric). Plusieurs cas sont en attente à une activité d'un appel d'un client (peut-être un WCF avec une corrélation de réception basée sur le contenu). Les clients doivent être en mesure d'interroger le serveur pour déterminer le flux de travail des instances (de tout flux de travail) sont en attente pour l'entrée d'eux. Cela doit être fondée sur les droits (de préférence à l'aide des services Active Directory) au niveau d'activité.

Par exemple:

  • Flux de production 1
    • Activité A, en corrélation sur orderId
      • Droits pour: Abby, Bill
    • Activité B, en corrélation sur orderId
      • Droits pour: Abby
  • Flux de production 2
    • Activité C, en corrélation sur workItemId
      • Droits pour: le projet de loi

Flux de production 1 a 3 instances en cours, deux à l'activité A (commandes 123 et 456) et l'autre à l'activité B (commande 789).
Flux de production 2 a une instance en cours d'exécution à l'activité C (travail article 99).

Bill interroge le serveur et voit:

Workflow  Activity  Key
1         A         orderId=123
1         A         orderId=456
2         C         workItemId=99

Abby interroge le serveur et voit:

Workflow  Activity  Key
1         A         orderId=123
1         A         orderId=456
1         B         orderId=789

Cet article la fonctionnalité d'écriture discute (soutien aux activités humaines) à partir de zéro pour WF 3.x.

Questions:

  1. Est-ce une de cette fonctionnalité dans WF 4? Si oui, quel est-il appelé?
  2. Dans le cas contraire, il est un projet Open Source qui ajoute une de cette fonctionnalité à WF 4?
  3. Sinon, y at-il plus des lignes directrices à jour à sa mise en œuvre que l'article mentionné ci-dessus?

Note:. Je préfère ne pas coupler la solution à SharePoint si je peux l'éviter

Était-ce utile?

La solution

D'accord Commençons par les awnsers de simples.

  1. Non, il n'y a pas de soutien direct à cet effet dans la boîte
  2. Pour autant que je sache il n'y a pas de projet OS offrant cette fonctionnalité.
  3. Pas que je suis au courant, mais je dois admettre que je ne savais pas que cet article soit.

Jusqu'à présent, les mauvaises nouvelles.

Supposons que vous voulez écrire quelque chose comme cela, il y a quelques éléments de base en place cependant. Si vous utilisez le SqlWorkflowInstanceStore vous obtiendrez une colonne contenant les signets actuels pour un flux de travail donné. Cela vous indiquera les activités qui reçoivent sont actifs dans un flux de travail donné au moment.

Il y a aussi le concept de promotion immobilière dans le SqlWorkflowInstanceStore qui vous permettra d'extraire, et donc interroger sur des variables comme le flux de travail orderId dans votre exemple. Une autre chose à inscrire est la personne qui a commencé le flux de travail comme très souvent certaines actions ne sont autorisées que par l'expéditeur.

Couple ceux-ci avec un tableau personnalisé avec les règles de sécurité par flux de travail et WCF opération et je pense que vous êtes bien sur votre chemin à une implémentation de base ici.

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