标签:工作流 平台 特性 构架 soa
在国内工作流管理系统优劣参差不齐的情况下,企业如何寻找到真正不错的工作流软件呢?这的确让不少公司伤神,在此,结合近期对工作流的学习和研究,说说一款优秀的工作流平台应该具备那些基本特点,仅供参考,如有偏颇请多多包涵。
一个完整的工作流管理系统通常由工作流引擎、工作流设计器、流程操作、工作流客户端程序、流程监控、表单设计器、与表单的集成以及与应用程序的集成八个部分组成。
1. 工作流引擎
工作流引擎作为工作流管理系统的核心部分,主要提供了对于工作流定义的解析以及流程流转的支持。工作流定义文件描述了业务的交互逻辑,工作流引擎通过解析此 工作流定义文件按照业务的交互逻辑进行业务的流转,工作流引擎通常通过参考某种模型来进行设计,通过调度算法来进行流程的流转(流程的启动、终止、挂起、 恢复等),通过各种环节调度算法(SPLIT、AND、OR等)来实现对于环节的流转(环节的合并、分叉、选择、条件性的选择等)。
2. 工作流设计器
工作流设计器为可视化的流程设计工具,用户通过拖放等方式来绘制流程,并通过对于环节的配置来实现环节操作、环节表单、环节参与者的配置。工作流设计器为用户以及开发商提供了快速绘制、修改流程的方式,
工作流设计器的好坏决定到工作流管理系统的易用性。
3. 流程操作
流程操作指所支持的对于流程环节的操作,如启动流程、终止流程、挂起流程、直流、分流(单人办理)、并流(多人同时办理)、联审等,象这些流程操作都是可直 接基于引擎所提供的环节调度算法来直接支持的,而在实际的需求中,通常需要自由的对于流程进行干涉,如取回、回退、跳转、追加、传阅、传阅办理等,而这些 流程操作对于工作流引擎来说是不合理的,因此必须单独的去实现。
流程操作支持的好坏直接决定到一个工作流管理系统的实用性。
4. 工作流客户端程序
工作流客户端程序为工作流系统的表现形式,通常使用Web方式进行展现,通过提供待办列表、已办列表、执行流程操作、查看流程历史信息等来展现工作流系统的功能。
5. 流程监控
流程监控通过提供图形化的方式来对流程执行过程进行监控,包括流程运转状况,每个环节所耗费的时间等等,而通过这些可相应的进行流程的优化,以提高工作效率。
6. 表单设计器
表单设计器为可视化的表单设计工具,用户通过拖放的方式来绘制业务所需的表单,并可相应的进行表单数据的绑定。
表单设计器为客户以及开发商提供了快速修改表单的方法,表单设计器的易用与否以及功能的完善与否影响到工作流管理系统的易用性。
7. 与表单的集成
通常业务流转需要表单来表达实际的业务,因此需要与表单进行集成来实现业务意义,与表单的集成通常包括表单数据的自动获取、存储、修改,表单域的权限控制、流程相关数据的维护以及流程环节表单的绑定。
与表单的集成的好坏影响到工作流管理系统是否能提高开发效率。
8. 与应用程序的集成
通过与应用程序的集成来完善工作流管理系统的业务意义,主要涉及到的是与权限系统以及组织机构的集成。流程环节需要相应的绑定不同的执行角色,而流程操作通常需要与权限系统、组织机构进行关联。
1、
SOA技术构架,我认为在SOA标准横行的今天,拥有先进的SOA技术构架是必要的,并充分利用了先进的SOA技术标准。因此良好的技术构架保证了系统能够支持企业级应用,并能够进行长期稳定的功能扩展。反之,如果采用私有的技术构架,则整个系统的稳定性、可靠性、并发服务能力可能受到工作流系统的限制。2、支持企业级应用的,比如看它是否支持集群,是否具有良好的错误处理机制,是否支持事务管理,是否备很好的系统管理工具等。另外还要看在它承受大量用户的并发访问和大量流程的并发运行,是否保证系统具有稳定的响应等。
3、有良好的可扩展能力也是不可或缺的。例如支持模板、活动等的扩展方式,这样使开发商可以对该系统进行扩展,也更加符合行业特点。
4、有良好的应用集成能力,这样才方便调用各种应用,如调用WebService、DLL等。还可以通过应用插件和第三方中间件平台和更多的应用系统进行集成。这对作为应用集成系统特别重要。在进行大型应用系统的集成时,可以采用工作流管理平台作为业务流程集成工具,提供大范围的业务流程支持。
5、平台应该拥有独立性,使之能够支持各种应用服务器,支持Oracle、SQL Server等各种常用数据库,支持包括Windows、Linux、各种Unix系统的主流操作系统等等,方便应用系统的开发商可以自由选择系统平台。
6、很好的开放性和嵌入能力,这也作为一个优秀工作流平台不可缺少的。
7、很好的稳定性,稳定性是平台产品的最重要的品质之一。工作流管理平台的稳定性由其良好的构架设计作保证。
8、具备全面的流程流转功能和与业务的内在支持,如分支,合并,集合等等。
由于水平有限,在对照网上各工作流的介绍而写的。所以写的不对的地方请多指教、补充。