Pourquoi utiliser Windows Workflow?
Quel est l'avantage de l'utilisation de Windows Workflow foundation (WF) par rapport à rouler votre propre flux de travail de cadre?
De ce que je peux dire, WF ne fournit qu'une jolie bare-bones moteur d'exécution, un tas de classes, et un schéma (XAML) pour définir des flux de travail. Tout le dur des choses telles que la persévérance, la fourniture d'un processus hôte pour l'exécution et de la mise en œuvre distribué des flux de travail (à travers des processus) est laissé à vous.
Plus il ya une courbe d'apprentissage à l'aide de WF... si nous avons créé notre propre structure de workflow nous serait tout simplement de tirer parti des compétences que tous les développeurs ont déjà (C#, XML, SQL, etc).
J'ai vu ce blog à partir d'un MS évangéliste qui tente d'expliquer pourquoi nous devrions utiliser WF:
Pourquoi Le Flux De Travail?...
De l'OMI, il ne fait pas un bon travail de la convaincre parce qu'il affirme qu'il contribue à "la productivité des développeurs", tout en admettant que les développeurs puissent rouler leur propre.
De la smart gens ici revenir avec une meilleure raison?
RÉSUMÉ À PARTIR DES RÉPONSES DONNÉES CI-DESSOUS:
Je pense que la raison la plus convaincante est que l'utilisation d'un normalisée des flux de travail plate-forme tels que WF (par rapport à rouler votre propre) vous permettra d'exploiter actuels et futurs de l'outillage tel que le Concepteur Visuel, fournie par MS et des tiers.
Aussi parce qu'il fait partie de la MS de la pile de .NET de technologies, il aura probablement une meilleure intégration/migration avec les futurs MS technologies (comme l'Azur).
Enfin, le nombre de développeurs avec WF expérience va augmenter (il sera bénéfique pour leur carrière-sage), le transformant en un produit de base de compétences tels que SQL ou HTML, le sens qu'il deviendra plus facile de trouver des gens qui peuvent commencer à travailler avec elle avec un minimum de rampe d'accélération.
- Voir ce fil, il peut aider: stackoverflow.com/questions/435878/...
Vous devez vous connecter pour publier un commentaire.
Le choix d'utiliser WF prend un peu de l'évaluation et je vais essayer de me fournir une liste assez complète ici sur ce que les avantages et les inconvénients sont. Gardez à l'esprit que si vous allez utiliser WF ne pas utiliser autre chose que de WF4+ parce qu'il a été réécrit et est significativement revus passé ses prédécesseurs.
Pros
Coût
Le coût de la WF est important de noter quand on la compare à l'encontre d'autres chemins. Ces chemins peuvent inclure BizTalk, un code open source basé cadre comme Objectflow, ou même rouler votre propre. Gardez à l'esprit que si vous besoin de quelque chose de manière significative simpliste, rouler votre propre serait le plus cher de l'approche à chaque fois. Donc, si vous avez besoin d'un assez grand morceau de fonctionnalité, mais aussi besoin de contrôle sur le code source, je recommanderais un framework open source.
Flexibilité
WF est un très souples cadre en contraste avec un framework comme BizTalk. Dans WF vous pouvez écrire vos propres activités et de faire ce que vous devez faire en dehors du cadre - ce vraiment vous donne la puissance dont vous avez besoin.
Durabilité
WF comprend un très puissant durabilité cadre. Il est durable dans le sens que l'état d'un flux de travail peut être conservé, le flux de travail peut être définie d'inactivité (pour préserver les ressources), puis les rappeler ultérieurement. Mais, que la durabilité va beaucoup plus loin car il est déjà en place pour la durabilité dans un hôte à la ferme. En d'autres termes un flux de travail peut être commencé sur un hôte, a persisté, et ensuite rappelé sur un autre hôte.
Suppose que les flux de travail sont hébergés par l'intermédiaire d'un service web (c'est à dire WorkflowService).
Distributability
WF est déjà configuré pour être distribués à travers un hôte à la ferme.
Suppose que les flux de travail sont hébergés par l'intermédiaire d'un service web (c'est à dire WorkflowService).
Avenir
WF est le remplacement du moteur d'orchestration de BizTalk et est en fait développé par les mêmes personnes qui se construit BizTalk. Donc WF a un avenir prometteur dans la pile de Microsoft. En fait, pour l'instant, Microsoft travaille sur la construction de composants à remplacer toutes les fonctionnalités de BizTalk avec les composants. Par exemple, Windows Server AppFabric (et plus spécifiquement le plug-in IIS) est le remplacement pour les services de surveillance qui existent au sein de BizTalk aujourd'hui.
Pourquoi Microsoft fait-il cela? Parce que BizTalk n'est pas vraiment bien adapté pour le nuage, parce que c'est un énorme installer, tandis que les composants qu'ils sont bâtiment de pourrait être déployé pour une solution de cloud computing.
Contre
Flexibilité
WF flexibilité peut aussi être son piège, parce que parfois vous n'avez pas besoin de la souplesse qu'il offre et ainsi passer plus de temps à construire des choses que vous vous voulez juste être inclus. Parfois, vous avez besoin d'un cadre qui fait beaucoup d'hypothèses et peut-être fonctionne de la convention à la place (par exemple, MVC). Cependant, en général j'ai trouvé que ce n'est pas vrai lors de l'attelage de la WF4-cadre avec l'open source extensions fournis par Ron Jacobs.
De surveillance
La surveillance pour WF est encore très jeune et c'est son plus grand écueil. Toutefois, cela permettra de faire progresser très rapidement au cours du temps et en attendant, vous pouvez créer vos propres outils de suivi avec suivi personnalisé mécanismes.
Ressources
Votre meilleure ressource est Ron Jacobs. Je n'ai jamais rencontré quelqu'un qui est prêt à aider la communauté des développeurs qui ont de l'utilisation de Microsoft cadres que lui. Croyez-moi, il est fourni une grande quantité d'informations relatives à WF via de nombreux canaux, juste obtenir sur Google et check it out.
Les principales raisons je pense pencher vers l'aide WF-dessus d'un autre flux de travail de cadre sont les suivantes:
J'ai eu à créer des activités de Flux de travail à mon travail, et je ne peux même pas vous dire la réponse.
Un pas très valide raison en est que les valeurs non valides/entrées peut être déterminé et a refusé au moment de la conception de diagrammes de flux de travail, et donc des erreurs de compilation, fondamentalement, n'existent pas (en supposant que tous les passe-partout de code que vous avez écrit n'a pas d'erreurs de compilation).
Réponse courte: c'est gratuit et il fait le travail. Si vous pouvez rouler un meilleur cadre pour la gestion des flux de travail et que vous souhaitez passer votre temps sur elle, par tous les moyens de le faire. Mais estiment que votre temps vaut de l'argent, combien d'argent êtes-vous prêt à vous engager pour la construction d'un meilleur cadre pour la gestion des flux de travail? J'ai pu voir que devient cher.
Aussi, je suis assez sûr que la persistance (sur disque ou SQL) est prise en charge hors de la boîte.
Il y a quelques raisonnablement agréable prise en charge du concepteur dans Visual Studio, que je préfère ne pas avoir à rouler pour moi-même, et c'est un framework pris en charge par quelqu'un d'autre plutôt que de me, sens quelqu'un corrige l'architecture de bugs et de le tester, me laissant pour tester à mon flux de travail. Je veux dire, je pourrais rouler mes propres versions de GDI+, les appels, mais je préfère ne pas. En va de même pour mon propre infrastructure de sérialisation, analyseur XML, ou un autre élément de la .NET framework.
Quand il descend à lui, ces choses sont fournis comme une boîte à outils. Si vous choisissez d'utiliser un outil ou non dépend entièrement sur le problème que vous résolvez, la pertinence de l'outil, et le temps et les ressources disponibles pour atteindre l'objectif.
Sa une nouvelle technologie Ou vous pouvez dire sa dernière avec une promesse de mise à jour constante des fonctionnalités.
Il respecte la précédente environnement de travail, et qu'il utilise et d'ajouter ces fonctionnalités qui sont très utiles en ce qui concerne le développement de la longue programmes en cours d'exécution(grands projets).
Il produit tout ce qui dispose d'directement dans les mains des développeurs qui ont été en cours d'exécution précédemment à l'arrière manquant de l'interaction entre le noyau interne des concepts et le programmeur.
Oui, c'est un peu complexe, mais il fournit également plus de pouvoir dans les mains du programmeur.
Vous pouvez vous attendre à de meilleurs cadres et fonctionnalités dans le futur à venir.
Ses l'avenir de la programmation, afin de mieux nous commencer à l'apprendre aujourd'hui.