实例演示如何使用AgileEAS.NET SOA平台工作流进行业务流程自定义

by 魏琼东 2012.2.28 18:51
  在说这个案例之前先向大家转发一个简单的招聘信息,我们团队目前需要招聘两名技术助理人员,跟随我们做一些产品开发和技术咨询工作,欢迎有志同道合的朋友与我们合作:http://job.cnblogs.com/offer/19632/。 一、案例业务流程说明 在前一篇文章AgileEAS.NET SOA 中间件平台工作流系统介绍之中我简单的向大家介绍了AgileEAS.NET SOA平台工作流系统的基本介绍,本文我将向大家以一个真实的案例向大家介绍AgileEAS.NET SOA平台工作流系统的应用。 今天我们的例子来自于医疗信息化之中的一个简单案例,关于医院药库/药房药品报损业务的处理过程,现实业务流程如以定义: 目前的业务流程是这么要求的,由药房管理人员发起一个报损申请,然后由药房负责人审批,早批不通过则由药房管理人员修改后再次提交,通过则由药剂科长审核,审核通过之后由药房管理人员确认报损,否则终止本次报损业务处理。 对于不同地域、不同规模、不同经营性质的医院来说,对于药品的报损处理流程都可能不一样,那么摆在医疗开发商面前的一个很麻烦问题就是业务流程的定制处理,对于此类问题使用传统方法一直是一个非常棘手的问题,可能不同医院的业务流程的变动必须会导致程序代码的变动,进行造成医疗软件开发商产品版本管理混乱、产品实施周期过长进而导致开发商的间接管理成本和项目总体成本急剧提高。 二、应用AgileEAS.NET SOA平台工作流重组流程 对于上述问题,我们可以使用AgileEAS.NET SOA平台所提供的工作流系统进行业务流程自定义,使用工作流平台驱动业务数据达到业务流程再造的目的。 我们来仔细看上述业务流程就会发现,这是一个及其经典的“申请-早批-确认”业务处理流程,对于“申请”和“确认”都是一个比较固定的操作,但是对于“申请-早批-确认”的处理过程,则是一个极不确定的过程,比如一个小型医疗机构可以就需要一个简单的审批即可,但是对于一个大型的医疗机构,其审批可以不止二级审批,可能会有三级或多级审批处理。 如果我们开发两个功能模块“药房报损申请/申批”、“药房报损确认”以及定义一个工作流“药房报损申批流程”,并让“药房报损申批流程”与“药房报损申请/申批”相结合,由工作流驱动“药房报损申请/申批”按照“药房报损申批流程”进行处理,并在处理完成之由“药房报损确认”完成药品报损,那么我们是否就可以实现这种高度灵活的流程自定义呢,回答当然是OK,那么接下来我们来看看怎么办到这样的效果吧。 三、如果做?一步一步来 我们来先开始模块“药房报损申请/申批”,其最终效果如下: 接下来模块“药房报损确”,其最终效果如下: 接下来我们来定义工作流“药房报损申批流程”: 流程权限设定: 流程权限设定中包含流程发起权限及各状态的处理权限,其设置方式都一样,同AgileEAS.NET SOA平台中的模块权限设置保持一致,我们在些为账号xyf设定流程发起权限和“审请状态”的处理权限,给帐号zhx设定“审请状态”的处理权限,给账号Administrator设置“审请状态”的处理权限。 接下来需要绑定工作流与其驱动的业务模块之间的关联关系: 同时也需要在模块代码之中完成与工作流的绑定: 在功能模块中需要做两个地方的绑定,第一个在模块的头部需要标记明确WorkflowAddIn属性,用于声明这是一个受工作流驱动的功能模块,另一个是需要在功能模块中的声音一个类型为Guid的属性,并且标记WorkflowInstanceId属性,用于工作流向功能模块写入当前工作流实例,至此为止,工作流定义及流程自定义工作完成,接下来我们看看运行效果吧。 四、如果做?一步一步来 首先,我们使用帐号xyf登录,我们会看到如下功能: 我们打开“发起流程”: 或者直接打开“药房报损申请”模块发起工作流: 提交完成之后打开“我的申请”会看到刚才我们所发起的实例: 接下来,我们切换到账号“zhx”登录,并且打开我的待办: 完成一级审批“药房报损申请”: 打开已办事宜: 接下来,我们切换到账号“888888”登录,并且打开我的待办: 完成二级审核“药房报损申请”: 打开已办事宜: 最后我们切换到账号“xyf”,并打开 “药房报损确认”模块: 至此,药房药品报损业务处理演示完成,若审批流程发生变更,则只需要项目实施人员根据客户的业务流程修改工作流定义,而不需要修改程序代码,实现流程的自定义。 五、AgileEAS.NET 4.0 下载 有关于平台最新版本的最新发布版本的程序集、类库手册、相关资料,请大家从AgileEAS.NET平台的官网http://www.smarteas.net/进行下载,官网设有独立的下载页面,从这里下载:官网下载页面。 六、如何联系我们 如果您在使用AgileEAS.NET开发平台中有什么问题,请使用如下几种联系方式或者沟通方式。 1、官方网站: AgileEAS.NET平台:http://www.smarteas.net/ 敏捷软件工程实验室:http://www.agilelab.cn/

AgileEAS.NET SOA 中间件平台工作流系统介绍

by 魏琼东 2012.2.28 18:49
一、AgileEAS.NET SOA平台简介 AgileEAS.NET SOA平台是一套应用系统快速开发平台,用于帮助中小软件开发商快速构建自己的企业信息管理类开发团队,以达到节省开发成本、缩短开发时间,快速适应市场变化的目的,AgileEAS.NET应用开发平台包含基础类库、资源管理平台、运行容器、开发辅助工具等四大部分,资源管理平台为敏捷并行开发提供了设计、实现、测试等开发过程的并行。 AgileEAS.NET SOA平台基于软件过程改进以及构件化快速开发两方面达到这方面的目标,在软件过程改进实践方面,提出了独有的“敏捷并行开发方法”开发方法,其目的是在软件的管理之中提出符合国内中小软件企业实际情况并且可操作的软件工程实践、软件过程改进思想、及相配套的项目管理系统。 在快速开发方面,AgileEAS.NET SOA平台提供了企业应用开发所需的诸如ORM、IOC、分布式通信、插件与平台基础结构以及一系统的快速生成工具,涵盖开发过程中的设计、编码、集成、部署、运维等各个环节。 AgileEAS.NET SOA平台是一套基于微软dotNET技术体系的企业级快速开发平台/中间件/框架,我们一直一来努力为国内中心软件开发商、创业团队、独立开发者提供最好的企业应用快速开发工具帮助大家成长,在最新的AgileEAS.NET‘ 5 .0版本中对Winform/WPF/Silverlight/WebForm都提供运行支撑平台,我们努力提供一套Winform/WPF/Silverlight/WebForm不同展现与统一的后端支撑的多层分布式架构体系。 二、AgileEAS.NET SOA平台工作流系统 AgileEAS.NET SOA平台的早期版本不包含业务流程平台,2010年以来,很多客户提出了有必要让我们提供工作流系统的想法,也就有了今天的产品,AgileEAS.NET SOA平台的工作流系统自2010年5月份开始至今,经历过一次失败及一次构建思想重大的变更之后变成趋于成熟,并且目前已应用于客户的几个项目之中。 在早期的时候,我们的开发人员借鉴了微软WF3.5的工作流技术但并没有使用WF3.5的工作流引擎,并且自己写了一套工作流引擎,采用与顺序工作流相类似的业务风格,但这次尝试失败了,失败的原因第一是自己写工作流引擎需要考虑很多的技术和业务细节,并且所引发的未知问题不可控制,第二是开发人员在思维理解及对于练习技术与为客户做需要需要的产品之间的巨大的差异没有仔细考虑,这里也说到一个关于技术人员值得思考的问题,那就是“你倒底是需要做出客户需要的产品还是你为了某项技术而淬炼技术,做出一个客户并不需要的产品或者说一个无法产品化的产品”我想这将会是技术人员应该深思的问题,我们很多的开发人员都在为了淬炼自己的技术在那做客户并不需要的产品或者说做出的产品Bug满地,更像是一个学习做品,远远达不到产品化的目标。 因为诸多原因,我放弃了原来的版本,转换采用了微软 WF3.5做为其工作流引擎,并对其做了高层封装,用于满足绝大数工作流应用中的“审批业务流程”,也就是说AgileEAS.NET SOA平台所提供的工作流将主要是为了满足企业申请-审批业务流程的后期灵活而服务。 在经过长期的需求及技术调研之后,最终我们决定以微软的WF3.5为基础实现AgileEAS.NET SOA平台业务流程平台,引擎直接采用微软的WF3.5工作流引擎,工作流设计器参考微软给出的例子使用DesignSurface技术自行完成,自行实现了工作流的运行监控、持久化服务,并结合AgileEAS.NET SOA平台的权限模型实现了工作流发起及各个状态运行的权限控制,并结合AgileEAS.NET SOA平台构件开发的底子实现了工作流与业务构件的完美结合。 AgileEAS.NET SOA平台工作流系统主要涵盖工作流的设计与定义、流程实例的发起与运行、业务流程的监控与管理、工作流系统与业务系统的集成与协作等内容。 AgileEAS.NET SOA平台工作流: 工作流定义: 流程实例监控: 流程实例处理记录: 流程实例对应的业务表单: AgileEAS.NET SOA平台工作流的功能就简单介绍到这儿,接下来的文章我将会以一个具体的例子为大家演示一下AgileEAS.NET SOA平台工作流的使用。 三、关于AgileEAS.NET SOA 5.0 去年8月我就曾向大家预示过要发布AgileEAS.NET SOA平台5.0版本,但是截至到目前为止5.0版本还没有公开提供过,在此我向一直关注和支持AgileEAS.NET SOA平台发布的各位同行和朋友们说声抱歉,也向大家解释一下延迟发布的原因,这里面有两个原因,第一个是因为我对产品的成熟和发展过于乐观,第二个原因是我对于开发团队的引导和监控不力,因为去年现在不只是我一个人在完善这个平台,计划5.0发布中涉及的两个极其重要的部分工作流系统和界面设计器这两个工具在发布之间发现其根本没有达到我的计划目的,包含大量的Bug甚至在某个产品方向上有重大的错误,第三个原因呢主要是项目太多,我们一方面要完善AgileEAS.NET SOA平台,另一方面还需要为客户提供大量的技术咨询和项目指导服务,所以AgileEAS.NET SOA平台5.0版本的发布一直无限的延迟,一方面是继续完善产品,使其达到可用的程度,另一方面是AgileEAS.NET SOA平台5.0在我们向客户提供技术咨询与指导服务的同时,优先向客户提供,以便更早的被应用于生产环境,更早的发现产品中存在的问题,因为我们都在客户现场,产品中的bug或者说设计上的缺陷我们都可以及时的处理和修正,但是对于公开发布而言,当发现产品的缺陷的时候,其处理和修正的成本将会是极其巨大的,我们目前也没有太多的技术人员为大家提供此类服务,新产品的发布所以才会一直被延期,我们希望向客户提供的产品不是一个满地bug的产品,而是一个极其严谨可以的商业产品,虽然AgileEAS.NET SOA平台平台是免费向大家提供,但是我们还是希望提供商业化的品质。 目前想了解和学习AgileEAS.NET SOA平台的朋友请大家还是先下载4.0版本及其相关的例子,对4.0有充分的了解和认识,学习5.0将会更加的简单,5.0和4.0在技术上并没有太多的改变,只是增加了工作流平台、数据表单/界面设计工具、SAAS引擎和支持了Oracle、Mysql、SQLite三种新的数据库系统。 四、AgileEAS.NET 4.0 下载 有关于平台最新版本的最新发布版本的程序集、类库手册、相关资料,请大家从AgileEAS.NET平台的官网http://www.smarteas.net/进行下载,官网设有独立的下载页面,从这里下载:官网下载页面。 五、如何联系我们 如果您在使用AgileEAS.NET开发平台中有什么问题,请使用如下几种联系方式或者沟通方式。 1、官方网站: AgileEAS.NET平台:http://www.smarteas.net/ 敏捷软件工程实验室:http://www.agilelab.cn/

AgileEAS.NET平台开发实例-药店系统-资源文件的替换[大家关心的问题]

by hot 2011.4.7 19:26
AgileEASNET平台开发实例-药店系统-资源文件的替换大家关心的问题 [更多...]

AgileEAS.NET平台开发实例-智能升级及服务器部署

by hot 2011.4.7 19:25
AgileEASNET平台开发实例-智能升级及服务器部署 [更多...]

AgileEAS.NET平台开发实例-药店系统-功能发布[权限配置][下]

by hot 2011.4.7 19:24
AgileEASNET平台开发实例-药店系统-功能发布权限配置下 [更多...]

AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)

by hot 2011.4.7 19:23
AgileEASNET平台开发实例-药店系统-报表开发(高级篇) [更多...]

AgileEAS.NET平台开发实例-药店系统-功能发布[模块注册][上]

by hot 2011.4.7 19:23
AgileEASNET平台开发实例-药店系统-功能发布模块注册上 [更多...]

AgileEAS.NET平台开发实例-药店系统-报表开发(下)

by hot 2011.4.7 19:21
AgileEASNET平台开发实例-药店系统-报表开发(下) [更多...]

AgileEAS.NET平台开发实例-药店系统-报表开发(上)

by hot 2011.4.7 19:20
AgileEASNET平台开发实例-药店系统-报表开发(上) [更多...]

AgileEAS.NET平台开发实例-药店系统-UI层重构技巧及其他

by hot 2011.4.7 19:20
AgileEASNET平台开发实例-药店系统-UI层重构技巧及其他 [更多...]

最新评论

声明

本博所有网友评论不代表本博立场,版权归其作者所有。

© Copyright 2011