




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
采用WF实现审批备案的流程运转,采用微软WF工作流实现国资监管审批备案业务的流程定义和运转,主要内容,国资监管审批备案业务概述微软WF工作流概述采用WF定义审批备案业务流程DotNET程序与WF工作流之间调用和通信实现步骤,国资监管审批备案业务概述,审批备案是国资委各处室使用较频繁的一项业务。主要包括审批和备案两项业务。审批业务定义:国资委各相应处室对企业上报的审批事项进行审批,审批结束后通知企业审批结果。备案业务定义:国资委各相应处室对企业上报的备案事项进行审批,审批通过后进行备案。审批备案的审批流程参与处室较多,且流程多变。使用手工代码处理流程的方式因维护量大、开发周期长,已不能满足灵活多变的审批流程的要求。,审批备案业务流程,微软WF工作流概述,微软WF(WorkFlowFoundation)免费的基于DotNET平台的工作流组件。运行在DotNETFramework3.0及以上版本。WF提供了流程运行引擎和流程设计工具。流程引擎运行在宿主程序中,宿主程序可以是桌面程序,也可以是web程序。通过引用System.Workflow.Runtime调用引擎。流程设计工具集成在VisualStudio中,Vs2008自带。可以新建WorkFlow项目。,微软WF工作流概述,WF工作流分为两种类型顺序工作流SequentialWorkFow状态机工作流StateMachineWorkFlow顺序工作流基于自上而下的流程。适用于一次性的数据处理。可用于基于SOA的EAI,微软的EAI工具BizTalk就是基于WF的。状态机工作流基于状态流转的工作流。适用于人和系统之间的交互可用与审批流包含丰富的活动控件(Activity),将各活动控件连接起来形成一个完成的工作流,采用WF定义审批备案业务流程,DotNET程序与WF工作流之间调用和通信,DotNET程序激活工作流,工作流调用外部DotNET程序,实现步骤,创建工作流创建工作流服务接口和服务程序,将服务接口绑定工作流创建用户程序启动运行时创建工作流实例。并绑定工作流服务,创建工作流,拖拽State在State中添加EventDriven双击EventDriven添加handleExternal和SetState,创建工作流,绑定handleExternalActivity在State中添加EventDriven,工作流服务接口,ExternalDataExchangepublicinterfaceIApproveServiceeventEventHandlerUpload;eventEventHandlerReUpload;eventEventHandlerOfficeOK;eventEventHandlerOfficeNo;eventEventHandlerDepartmentOK;eventEventHandlerDepartmentNo;,工作流服务,SerializablepublicclassApproveService:IApproveServicepubliceventEventHandlerUpload;publiceventEventHandlerReUpload;publiceventEventHandlerOfficeOK;publiceventEventHandlerOfficeNo;publiceventEventHandlerDepartmentOK;publiceventEventHandlerDepartmentNo;publicvoidRaiseUploadEvent(stringapproveItemID,GuidinstanceId)if(Upload!=null)ApproveEventArgse=newApproveEventArgs(instanceId,approveItemID);Upload(this,e);,工作流实例传递参数,SerializablepublicclassApproveEventArgs:ExternalDataEventArgsprivatestringapproveItemID;publicApproveEventArgs(GuidinstanceId,stringApproveItemID):base(instanceId)approveItemID=ApproveItemID;publicstringApproveItemIDgetreturnapproveItemID;setapproveItemID=value;,用户程序-启动工作流运行时runtime,WorkflowRuntimeruntime;ApproveServiceapproveService;runtime=newWorkflowRuntime();runtime.WorkflowTerminated+=newEventHandler(Runtime_WorkflowTerminated);runtime.WorkflowCompleted+=newEventHandler(Runtime_WorkflowCompleted);runtime.WorkflowIdled+=newEventHandler(Runtime_WorkflowIdled);ExternalDataExchangeServicedataExchangeService=newExternalDataExchangeService();runtime.AddService(dataExchangeService);approveService=newApproveService();dataExchangeService.AddService(approveService);runtime.StartRuntime();,用户程序-启动工作流实例,AssemblyworkflowsAssembly=Assembly.Load(Workflow);TypeworkflowType=workflowsAssembly.GetType(Workflow.Workflow1);if(workflowType=null)returnGuid.Empty;WorkflowInstanceinstance=runtime.CreateWorkflow(workflowType,parameters);StateMachineWorkflowInstancestateMachineInstance=newStateMachineWorkflowInstance(runtime,instance.InstanceId);instance.Start();,用户程序-激活工作流的handleExternal活动,-激活工作流运转approveService.RaiseOfficeOKEvent(01,newGuid(item.Text);-检索宿主程序中的工作流ReadOnlyCollectionos=runtime.GetLoadedWorkflows();foreach(WorkflowInstanceoinos)StateMachineWorkflowInstancestateInstance=newStateMachineWorkflowInstance(runtime,o.InstanceId);ListViewItemitem=this.listView1.Items.Add(o.InstanceId.ToString(),o.InstanceId.ToString(),);item.SubItems.Add();item.SubItems.Add(stateInstance.CurrentStateName);,运行效果,AdvanceTopic,传参程序与工作流实例之间传递参数分两种方式初始化传参事件传参持久化WF提供持续化服务接口,可将工作流实例持续化到文件或数据库中。WF为我们提供了SQLServer的持续化服务。,初始化传参,在工作流中定义属性publicstringitemID=string.Empty;publicstringItemIDgetreturnthis.itemID;setthis.itemID=value;程序创建工作流的时候给属性赋值Dictionaryparameters=newDictionary();parameters.Add(ItemID,this.textBox1.Text);WorkflowInstanceinstance=runtime.CreateWorkflow(workflowType,parameters);,事件传参,在工作流中定义属性程序创建工作流的时候给属性赋值publicvoidRaiseDepartmentOKEvent(stringapproveItemID,GuidinstanceId)if(DepartmentOK!=null)ApproveEventArgse=newApproveEventArgs(instanceId,approveItemID);DepartmentOK(this,e);,持久化,创建表C:WINDOWSMicrosoft.NETFrameworkv3.0WindowsWorkflowFoundationSQLENSqlPersistenceService_Schema.sqlSqlPersistenceService_Logic.sql程序调用StringconnStringPersistence=String.Format(“InitialCatalog=0;DataSource=1;User=2;Password=3”,“model”,“gsligc”,“sa”,“密码);persistence=newSqlWorkflowPersistenceService(connStringPersistence,true,newTimeSpan(0,2,0),newTimeSpan(0,0,5);runtime.AddService(persistence);,检索持久化数据库中的工作流,foreach(SqlPersistenceWorkflowInstanceDescriptionoin(SqlWorkflowPersistenceService)persistence).GetAllWorkflows()StateMachineWorkflowInstancestateInstance=newStateMachineW
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 我的偶像是我的妈妈450字8篇
- 劳动者与新质生产力发展
- 新质生产力与物流的关系
- 安全知识培训专业课件
- 医护关系变迁研究
- 定制办公家具采购协议
- 农民与生物技术推广合作协议
- 楚雄州永仁县县域医共体招聘考试真题2024
- 联通企业安全生产培训课件
- 基于2025年政策背景的医疗信息化项目投资风险评估报告
- 代建管理培训
- plm考试试题及答案
- JG/T 337-2011混凝土结构防护用渗透型涂料
- 大唐集团两票管理制度
- 2025年中级工业机器人系统操作员职业技能鉴定考试题库(浓缩500题)
- 无抽搐电休克治疗全流程护理专家共识解读
- 星途汽车全新星纪元ET增程四驱上市营销整合方案
- 老年人如何预防骨质疏松
- 《天然植物化学成分与抗肿瘤机制》课件
- 购买铁艺围栏合同协议
- 有机食品超市可行报告
评论
0/150
提交评论