首页 > 范文大全 > 正文

利用SunFlow和Dorado开发流程管理

开篇:润墨网以专业的文秘视角,为您筛选了一篇利用SunFlow和Dorado开发流程管理范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

绵阳锐锋公司的内部事务管理内容涉及到公文的收发、日常事务的管理、中心资源管理、个人办公操作、信息共享与传输等,软件的使用覆盖到计算中心研究所的网络中心、软件开发部等各技术部门以及各行政部门。面对庞杂的内部事务管理,绵阳锐锋公司需要一套内部事务管理系统。系统应具有业务涉及面广、用户众多、流程复杂、界面繁琐等特点。这样的系统应该如何开发?

整合传统开发模式

众所周知,传统的“前台功能页面(JSP页面)+ 后台业务处理逻辑”的系统开发模式已经越来越不能适应企业发展的需要。该模式主要存在着需求变更风险、代码修改风险、开发效率低等弊端。

经过对传统系统开发过程的考察与分析,可以将B/S系统的开发工作归纳为数据持久开发、业务流程开发、页面逻辑开发、页面展现开发四大类内容。

业务流程逻辑开发可以使用工作流软件来进行流程设计与运行管理。页面展现层开发可以借助专业的展现层开发组件来加快页面的开发效率。页面逻辑开发可以借助成熟的Web开发框架(比如Struts)来完成。数据持久层的开发可以借助Hibernate等成熟持久层框架来完成。余下部分,开发者仅需要针对具体的业务需求进行数据持久及页面逻辑的开发即可。

可见,如果在系统开发过程中采用成熟的工作流产品及快速的展现层开发中间件,辅以流行的Web开发框架及数据持久技术,可以大大降低开发工作量,有效规避项目风险,缩短项目周期,同时也可以让开发者从繁重的开发工作中解脱出来,使他们能够更加专注于需求的把握、系统的分析与设计,提高产出系统的质量。

经过多方考察及测试,绵阳锐锋公司最终采用SunFlow工作流产品和Dorado富浏览器展现中间件相整合的开发模式,仅用几周时间,即开发出了符合内部管理需要的管理系统。而原来类似管理系统的开发需要数月时间,且无法做到后续业务流程灵活性的调整。这种开发模式使得开发效率成倍提升,后期维护量也大大减少,总结提炼这种实践,对此类问题的解决具有一定的参考价值。

联合提供高效方案

SunFlow是杭州信雅达系统工程股份有限公司开发的优秀国产工作流产品,基于开放性的J2EE平台,以WFMC为标准的分布式工作流管理系统,提供了强大的流程展现能力和方便的二次开发框架。

Dorado是锐道信息技术有限公司的富浏览器展现中间件,通过富浏览器机制提高Web用户界面的信息承载量、表现力与操作性,在浏览器中实现了类似C/S应用的界面风格和操作习惯,通过展现中间件机制在展现层中形成数据模块-视图模型-控制器的MVC构架,基于这个统一平台提供12大类包含标准化事件框架与属性的展现层构件,从而将实现B/S应用开发前端部分由手工作业晋升为半自动化作业方式。

为了更加方便开发者的使用,杭州信雅达系统工程股份公司与上海锐道信息技术有限公司共同投入力量,完成了SunFlow产品与Dorado产品深度的整合。整合后的产品进一步提高了使用SunFlow与Dorado产品开发业务系统的开发效率。该方案具有诸多特征。

1.业务数据与流程数据独立存储。业务自身数据存储于业务数据库中,流程实例数据存储于工作流数据库中,实现业务元数据的分类管理。这两类数据既相互独立,又共同为业务系统提供数据来源。

2.提供了从设计期到运行期的一整套辅助开发工具。在设计期,开发者可以使用流程设计工具进行业务流程建模,使用流程将设计好的流程到指定的工作流引擎中,表单设计与页面开发可以使用Dorado Studio完成;在运行期,开发者可以使用工作流引擎来负责流程逻辑的管理,使用Dorado引擎来负责展现中间件的管理。

3.提供了整合组件SunflowViewModule。扩展了Dorado的View层,将应用中对工作流引擎的大部分调用过程都预先封装到该组件中。通常情况下,开发者并不需要直接调用工作流接口,直接引用及配置该组件即可,降低了应用开发难度,提高了开发效率。

4.整合后的产品还提供了统一的客户端展现实例及开发案例,展现整合后产品在流程管理及Web开发方面的主要特征及使用案例,包括整合后产品在不同Web框架下Web开发最佳实践,比如Struts/Webwork/JSF等。

因需实施项目

会议的召开在公司部门比较常见,一个部门会议召开的申请,需要提出会议名称、会议场所以及会议秘密等级等内容,然后经由会议场所审批部门根据会议的秘密等级和会议召开地点,决定该申请是否符合规定,符合规定则制定防范措施,提交下个部门审批,不符合的则返回不予批准。该会议申请提出经由各审批部门审核,如果会议密级达到指定级别,则需要最高级别审批部门审批,通过则可确定会议的召开,否则仍然返回不予批准。

通过对需求的分析,信雅达提出“会议申请单”的数据结构,存放于业务数据持久层中。其中meetingRequest表用于记录会议申请所需要的各种相关数据信息,approveHistory表用于记录流程中各种操作的历史日志信息。这些数据对于整个流程来说,起到了关键性的支撑作用。

此外,考虑该单据具有流转需求,按照业务元数据与流程数据相互独立的原则,信雅达又设计了路由敏感数据,存放于流程数据持久层中。其中requestId用户建立工作流相关数据与业务元数据间的关联,sign用户标记不同审批人的审批意见,securityLevel用于引擎根据秘密等级判断流程的走向。

基于对会议流程申请审批流程的理论提炼,信雅达使用SunFlow的流程设计器,设计了符合业务需求的流程定义模板。该流程包括提出申请、会场审批、各级主管部门审批、绝密判断等多个步骤。

在页面逻辑开发过程中,信雅达充分利用Dorado内部的灵活扩展机制,制定出了一套专门用于和sunflow交互的业务逻辑套件――SunflowViewModule,提供了对于各种属性的可配置方式,快速地满足一般的业务需求。对于比较复杂的业务实现,该套件同样提供给开发人员扩展已有功能的接口,让开发人员可定制出更加复杂强大的逻辑实现。

在页面展现方面,一反传统的书写标记代码的费力方式,充分利用富浏览器展现中间件dorado的内置可配置的Web页面组件的展现方式,将各种不同的展现组件与不同数据对象的dataset进行绑定的方式,包括与SunFlowViewModule的绑定,完成各种业务流程数据的优雅、完整再现,并利用Dorado提供的AJAX技术实现了页面不刷新的数据更新机制,使用户在进行页面操作时获得极大的体验满足。

成就敏捷开发

利用SunFlow产品,负责业务流程开发的小组可以预先根据需求,提取出流程模型,并在工作流系统中进行开发与测试,而不必等业务界面开发完毕后再进行流程测试。利用Dorado富浏览器展现中间件,页面开发小组可以快速构建业务界面原型,并迅速地进行需求验证。使用SunFlow与Dorado进行业务开发,甚至可以在需求调研阶段就可以快速地构建出业务原型,有利于项目成员对需求的把握及合理的评估项目周期,可以提早进行集成测试,提早发现问题,规避项目风险。同样,在项目后期维护阶段,由于业务流程逻辑管理的相对独立,降低了由于系统需求变更而产生的代码修改风险。

由于在绵阳锐锋项目中使用了SunFlow与Dorado的整合产品,项目开发内容更加明确,组织分工更加清晰,项目开发过程更加敏捷高效,项目计划准确合理,项目风险得到了有效规避。可以说,我们找到了一条快速构建业务系统的低风险、低成本、高效率的通用开发解决方案。

对于系统开发者来说,一个具有严谨逻辑的工作流引擎的使用,可以使系统在流程处理方面更加具有优势,使系统在面对流程变更时“底气十足”。同样,一个具有优雅快捷的界面展现开发工具的使用,可以使系统在页面展现方面更加具有优势,使系统在面对用户的复杂交互需求方面“面子十足”。工欲善其事,必先利其器,所有需要面对业务流程再造及复杂页面交互展现压力的业务应用,都适于使用这种SunFlow&Dorado整合开发模式。

随着IT技术的发展,以及社会分工的日益精细化、专业化,任何项目只靠一家公司做大做全已经无法满足瞬息万变的客户需求,而能够解决特定领域问题的专业化中间件产品的出现就显得十分必要。本着只做我们最擅长的领域的宗旨,充分利用各种优势资源进行不同的资源整合,以获得更强大的资源优势成为各行业发展合作的根本途径。