- 7
- 0
- 约1.6万字
- 约 27页
- 2017-03-07 发布于重庆
- 举报
WF工作流詳细设计方案
WF工作流详细设计方案 WF工作流详细设计 工作流系统是以规格化的流程描述作为输入的软件组件,它维护流程的运行状态,并在人和应用之间分派活动;是一种反映业务流程的计算机化的、实现经营过程集成与经营过程自动化而建立的可由工作流管理系统执行的业务模型。工作流起源于生产组织和办公自动化领域,其目的是将现有工作分解,按照一定的规则和过程来执行并监控,提高效率,降低成本;
本设计依据是WFMC(工作流管理联盟)规范和图论中的有向图理论;基于的技术是DOTNET MVC架构和Windows Workflow Foundation WWF 工作流设计平台。
该节主要包括以下内容:实现技术与实现方案、工作流设计器、工作流调用服务(封装类、WFLocalService和WFWebService)、工作流分类、工作调用、工作流监控、页面流和工作流权限等
实现技术与实现方案
?实现技术 WF windows workflow foundation 微软工作流组件,一个工作流是一个人类或系统活动的模型,该模型被定义为一组活动的地图。工作流通过拖放活动组件来设计,被编译为.Net程序集,然后在工作流运行时和.Net CLR中执行。
Activity:工作流组件中活动组件,一个活动是工作流中的一个步骤,是工作流中执行、重用、复合的基本单元,活动组件下包含事件组件 Event ,接收外部事件组件 HandleExternalEvent ,调用外部方法组件 CallExternalModthod 等。
本地服务组件:local service,规定业务与工作流组件交互的事件和方法接口,实现业务与工作流的交互,用于工作流活动组件调用。
系统工作流引擎采用微软WF,WF使用户可以直观地设计复杂的算法,从而解决业务问题并为业务建模,它为开发和执行基于复杂过程的多种应用程序提供了框架。如果用户具备由各活动 Activity 组成的基于工作流的系统(如 Windows Workflow Foundation),则可利用命令性代码和声明性活动地图的强大组合以及绑定它们的声明性规则来实现应用程序。主要好处在于用户可以为解决方案建模(甚至以直观方式建模),将 Windows Workflow 嵌入运行时服务器来解释图表,并使 Windows Workflow 遵循在创建块中定义的链接。进程越复杂,为其设计和实现的流程就越简单。进程动态更改越容易,用户需要编写和维护的代码数量就越少。WF运行时为工作流程序提供了托管执行环境,还为程序提供了持续时间、可靠性、挂起/恢复、事务以及补偿特征。在某种意义上,活动类似于中间语言 IL 操作码或程序语句,但包含特定领域的知识。简而言之,Windows Workflow Foundation 使程序语义具有声明性并且十分准确,使用户能够为接近实际进程的应用程序建模。它是最适合此工作的工具。用户无需使用 IL 编写前端可视应用程序,而是使用 RAD 开发工具和更具人类可读性的语言。Windows Workflow Foundation SDK 提供了广泛的编程语言,专门用于为复杂的业务程序建模,特别是在这些程序可能随着时间而改进的情况下。在这种情况下,主要好处在于用户可以添加特殊活动来进行工作流,并使用内置行为活动来控制该工作流。用户可以专注于任务,其他事情由运行时进行处理。
WF工作流引擎提供了以用户/角色机制的安全机制,实现与系统的无缝集成。
实现方案
二滩公司电力营销软件面临需求多变,流程变更频繁的环境,适于采用WF工作流技术来满足这一需求。工作流是用于说明数据和操作流的工具,因此,任何需要 IF 或 WHILE 语句的方案都可以是工作流。但是,任何人都不能使用仅包含 IF 语句的工作流,工作流运行时确实具有成本,该成本可以在流复杂性超出给定阈值时分摊。基于工作流的解决方案的真正优点是使复杂进程更易于建模和实现,更重要的是使其更易于改进和扩展。而这一优点正是二滩公司电力营销软件所需要的特性。
系统工作流设计模式
l?设计工具:利用VS.Net2005提供的工作流设计器进行工作流设计;
l?工作流类型:统一采用状态机模式;
l?基本结构:采用状态组件、Event Driven组件、HandleExternalEvent组件、CallExternalMethod组件、SetState组件配合本地服务组件等6类组件完成设计;
l?事件和状态接口参数:均在本地服务组件中以接口的形式规定;
l?统一外部调用接口:统一接口函数RaiseEvent form,id ,在工作流接口函数中根据form中状态不同决定引发不同事件,驱动工作流运行。 (测试中)
l?功能划分:业务实现主要放置在工作流本地服务组件函数中实现,而工作流组件主要起逻辑控制作用
原创力文档

文档评论(0)