工作流程还是不工作流程?
我对将要开始开发轻量级保险索赔系统的开发团队负责。 该系统涉及大量手动任务和业务工作流程,我们正在考虑使用Windows Workflow(.NET 4.0)。
业务领域的一个例子如下:保单持有人呼叫联络中心提出索赔。 这个“事件”触发了两个并行手动操作的子任务,可能需要很长时间才能完成;
从表面上看,Workflow确实是最好的技术选择; 但是我在使用WF 4.0时有一些担忧。
所以我的问题是,我们应该使用Windows Workflow(WF)4.0来处理这种情况,或者是否有其他技术(例如,简单状态机等),甚至是更好的工作流引擎?
我已经完成了几个WF4项目,所以让我看看我是否可以添加任何有用的信息到其他答案。
从您的业务问题描述来看,WF4听起来很不错,所以没有问题。
关于你的担忧,你是对的。 基本上WF4是一款新产品,缺乏一些重要功能,并且有一些粗糙的优势。 有一条学习曲线,你必须做一些不同的事情。 主要观点是长时间运行和序列化,这是普通开发人员不习惯的事情,需要一些思路才能正确,因为我经常听到人们在序列化实体框架数据上下文时遇到问题。
大多数情况下,使用IIS / WAS中托管的工作流服务是完成这些长时间运行的工作流程的最佳途径。 这使得解决版本控制问题也不难,只需要第一条消息返回工作流版本并将其作为每个后续消息的一部分。 接下来将WCF路由器置于其间,根据版本将消息路由到正确的端点。 基本不会改变现有的工作流程,总是创建一个新的工作流程。
那么我有什么建议吗? 不要对未知的事物进行大胆的赌博,对于你来说未经证实的技术。 使用WF4做一个小而非关键的应用程序。 这样,如果它可以扩展它,但是如果它失败了,你可以把它翻出来,用更传统的.NET代码替换它。 通过这种方式,您可以获得WF4的真实体验,而不必基于第二手信息作出决定,并且可以在此过程中学习新的强大技术。 如果可能的话,参加WF4课程,因为这将为你节省很多时间来加快速度(无耻的自我插入)。
关于简单状态机。 我没有使用它,但我的印象是短暂运行,在内存中,状态机。 WF4的主要优点之一是运行时间长。
我几次遇到这种困境,我选择不使用Work Flow基础。 一些考虑(类似于你的)是
回顾13-14个月后,我仍然认为不使用WF的决定是正确的。 国际海事组织,WF很有道理,工作流程可能发生变化和/或业务规则可能发生变化的可能性很大。 WF允许在单独的文件中隔离工作流程,因此用户可以配置它将会更简单。
过去几个月我们一直在使用WF 4.0。 我不得不说认为工作流的方式很具挑战性。 但是,我可以告诉你这是值得的。 当我们开始时,我们知道的很少。 我们为WF 4.0购买了一本初学者和专业书籍。 我自己在网上观看了许多视频,并关注了PDC 2009,以了解他们关于WF 4.0的突发新闻,以及它与以前的有些糟糕的版本有何不同。 我们不得不提出解决方案的一个主要问题是我们可以在工作流中处理In / Our Arguments,而不将自定义活动限制在某些数据类型以及如何在活动之间传递参数。 我已经为此提出了一个很好的解决方案,迄今为止我们的工作流程体验并不差。 实际上,我们有一个工作流程密集型应用程序越来越大,我真的无法想象自己在不同的环境中解决它。 我喜欢它所具有的视觉效果:它使我远离if / else等构造的细节,并使得业务规则明显表现出来,这种方式不会让您不得不深入代码行以了解正在发生的事情或如何修复一些错误。 顺便说一下,我们所从事的项目与您所描述的项目非常相似,并且是一个中等规模的项目。 您可以从我的文字中看出我喜欢它,但我确实推荐它,但由于它是一种新技术,因此需要考虑一些风险,因此您必须提出一些创新想法。
我的2分钱...
链接地址: http://www.djcxy.com/p/61517.html