符合WfMC标准 在设计和开发过程中,我们仔细研究了国际工作流管理联盟制定的工作流标准,除了某些扩展之外,系统中采用的概念符合WfMC标准定义的概念;同时我们还完全实现了interface1、interface2、interface3、interface5,使用图形化的方式,实现了我们的自己独创的过程定义模型到WfMC定义的模型wpdl的完全转换。 强大的流程描述能力 引擎不仅支持顺序流程的流转,而且还支持分支、并发、循环、子过程、同步、异步、竞争、多工作流、活动组、静态活动等,在分支上可以定义条件,实现按条件自动流转,条件转移之间还可设置逻辑关系;在并发流转中,多个活动节点可以同时激活;在某些活动节点上,也可以通过创建子过程来完成任务。 独创的petrinet-令牌过程模型 工作流模型是对工作流的抽象表示,也就是对业务过程的抽象表示。由于工作流需要在计算机环境下运行,因此建立相应的工作流模型是必不可少的。工作流模型应该完整地提出支持工作流定义的概念,为建模用户提供工作流定义所需要的组成或元素。理想的工作流模型能够清楚地定义任意情况下的工作流,能够适应用户在建模过程中所提出的各种要求。我们对目前许多产品所采用的模型进行了充分的研究,提出了具有一定理论基础的petrinet-令牌模型,形象完整地刻画了工作流过程,语义明确,实用性强,简单易用。 支持分布式应用 完全实现WfMC规范WFMC-TC-1012(Interoperability Abstract Specification)定义的工作流服务器之间协作工作的规范,亦即所谓的分布式工作流规范。SynchroFLOW实现了在不同服务器上运行的工作流能相互协作,交换数据,从而提高工作流系统处理业务流程的灵活性和适用范围。 实现了参考模型同步远程子过程调用和异步远程子过程调用两种调用方式;实现了工作流引擎分布式应用环境模式。 工作流服务程序分布在远程异地,各引擎之间通过发送加密认证的消息到消息中间件(MOM),各引擎之间再连接MOM取得消息,解析消息并设置工作流数据,达到流程控制工作,并使流程协同工作。例如有三个工作流需要协同执行一个流程。(注:消息中间件开发商可以购买,SynchroFLOW并不提供商业消息中间件产品)其部署结构如下图: 支持集群的工作流 为切实保护SynchroFLOW的用户投资,为用户提供一个低成本的高可用性SynchroFLOW群集环境,进而提高产品的健壮性,保证系统关键业务系统连续运行。 提供高可用性集群,针对工作流引擎的故障应急支持的要求而开发的。它采用双结点故障应急,其目标是确保关键服务和其他后端系统的可用性,增强系统的健壮性。 在群集处于运行状态时,两台机器的HA Cluster(High Availability Cluster)监视器都启动,互发心跳信号以判断对方机器是否在线。只有主服务器上的SynchroFLOW引擎启动,备份服务器上的引擎不启动。 主服务器上的HA(High Availability)监视器监视引擎的运行状态,如果引擎状态异常,监视器对引擎进行重新启动,如果重新启动几次后仍然异常,监视器就发信号给备份服务器启动引擎,加载原有引擎工作状态,保证关键业务不被中断。 开发、集成、扩展、部署于一体的综合平台 SynchroFLOW将目前的产品划分为三部分即开发、运行、客户应用三个层次,各个层次之间相互联系,构成有机整体。 开发平台为开发者提供一个一体化的开发环境,提供了业务流程的分析设计工具ProcessDesigner,帮助开发者迅速方便描述企业流程;当业务流程设计完成后,用户可以应用表单设计工具FormDesigner,快速辅助开发者针对对应的活动节点开发出相应的界面程序,由于FormDesigner是向导式开发,并提供了丰富的组件和建模工具有机结合,将模型定义的相关数据可以直接关联到界面设计中应用,极大地提升了开发速度。开发层有为开发者提供快速搭建企业应用的开发框架SynchroFrame,该框架可以迅速地将开发的业务点组织企业,可以10钟内帮开发者搭建一个供用户使用的应用系统。产品又提供了企业消息平台SynchroIQ,可以为最终用户提供一个灵活方便的交流工具,具有代办工作项提醒功能,非常实用方便。提供的迁移工具Import-Export Tool,特别适合于工程应用,开发者可以将开发的应用及模型,导出为一个压缩文件,最终用户将导出文件导入到应用系统中,完成了系统的远程维护和升级需要,非常实用。 运行服务层又为开发者提供一个管理工作流、解释工作流模型、监控流程、发布、部署的中间运行服务。主要负责开发者和企业管理者对流程的监控,统计分析流程信息,查看流程服务工作状态,调整不合理流程等。 客户应用层主要是提供了丰富的开发接口及通用集成接口,用户可以通过多种方式来访问工作流服务。可以方便的集成WebService、Ejb、RMI等应用程序,提供了了email、Sms 接口程序,提供了针对原有遗留系统的开发接口,用户可通过向工作流发送消息获得工作流服务信息。 丰富的多语言API支持 SynchroFLOW通过丰富的API实现了与外部程序的交互,外部程序可以通过SynchroFLOW的API控制流程的运行,查询流程的运行状况以及SynchroFLOW系统的运行状况等。 在SynchroFLOW最新版本中,SynchroFLOW的API提供了目前流程的各种程序语言的接口,其中包括java、C++、VB、Delphi、PB等。从而使得以SynchroFLOW为基础的用户界面可以采用各种快速开发环境,并可以与各种平台的工作流管理系统进行交互、集成。 简单、易用的图形化过程定义工具 我们提供的图形化过程定义工具简单、易用,使用户在简单的拖拽中即可轻松地完成过程定义工作,过程定义中还可以使用已经定义好的部件快速完成业务过程的定义,另外还设有语义合法性检查,帮助用户定义规范的流程;以xml格式存储过程定义文档,内部采用WfMC国际联盟规定的wpdl语言作为内部表示语法,并对结果的使用、维护采用了统一的管理。 支持JavaScript脚本 在建模时,可以在模型的下列位置添加脚本:活动执行前、活动执行后、在转移线设置转移条件、设置活动的参与者、设置活动的Form。这些位置的脚本在引擎里和模型一起被执行。通过脚本可以操作相关数据、可以操作参与者、可以操作活动属性、过程属性等。脚本的支持,将大大提高模型的灵活性,提高应用开发效率。 支持消息服务 支持通用的JMS消息服务器,实现了异步的消息传输 ,采用XML消息格式,SynchroFLOW定义一种基于XML的标准消息格式,用户可以通发送xml消息,可实现对工作流服务的调用。 支持与遗留的系统之间的应用集成 这里的应用指已经在运行或已经成型的应用系统。对每一种应用系统,对其要开发一个消息适配器(Message Adapter),其表现形式可能是一个动态库或可执行程序,按消息适配器把应用系统的任务指令转变为SynchroFLOW的标准XML消息格式,通过JMS发给MOM(SynchroJMS或其它消息中间件)。工作流引擎从MOM获取消息指令,执行相应的工作项,并把结果再转换成标准消息格式发给MOM,由消息适配器获取,实现与遗留系统的有机集成。 图形化的应用开发工具 系统提供了快速的图形化的应用开发工具和报表设计工具,并把它集成到了过程定义工具中,使得对每个活动的应用开发变得简单、方便。与建模工具无缝集成,可以在建模端方便地打开表单设计器,将模型定义的全局数据方便地和表单对象关联起来。 所见即所得的用户界面设计,提供了标准的类似Visual Basic的开发界面,使初次使用的用户一目了然,易于上手; 与ProcessDesigner(建模工具)无缝集成配合开发使用,简化开发过程; 可视化界面与JSP源代码界面同步显示; 支持Jsp文件编译功能;提供支持语法着色的编辑器;工程文件管理器可以更有效的管理你的开发文档;文件上下载; 自动捕获上下文参数功能; 支持回滚操作; 支持多文件同时编辑操作; 支持和FrontPage、Dreamweaver等页面设计工具配合使用; 可以在开发工具中编写JSP程序; 工程文件管理器可以更有效的管理你的开发文档; 提供丰富的应用开发组件,数据库向导大大加快应用的开发速度;支持模板创建编辑html、jsp的表单设计。 强大的系统管理和业务监控能力 系统提供了独立的工作流系统管理工具,使用管理工具用户可以方便地进行系统管理:系统配置的设置与修改,组织机构的维护,系统权限的管理,过程实例的启动;使用管理工具也可以方便地进行系统的业务监控:图形化的查看或改变过程实例的状态,删除异常终止的过程实例,动态配置流程,重现过程实例的流转过程,查看和维护系统日志,对系统的运行状况进行统计和分析。 安全管理能力 我们提供方便的安全管理工具,对系统的资源和使用者进行有效的管理,系统具有两种安全管理能力:一是过程定义文件及其相关资源的状态、维护及其使用进行统一管理,二是按照系统使用角色的不同,根据统一的组织模型定义,统一定义和分配用户的权限,使系统的各部分功能能够按照分配的权限安全的使用。 支持多种工作项处理方式 当活动节点上的参与者由多个人组成时可以有不同的处理方式;另外用户在处理完一个活动实例后,可以选择下一个要执行的活动,并可选择下一个活动中可能的参与者。 支持自动活动节点 服务器支持自动活动节点,在自动活动节点服务器自动调用后台应用程序来自动完成活动节点上的任务,用户可以定义一个全部由自动活动节点组成的自动化流程,流转过程中可以完全不需要用户的干预;流程的自动化程度可以由用户随意控制。 跨平台能力 系统以internet技术为基础,采用B/S结构,用JAVA语言开发,可在不同的平台上运行,用户可用浏览器使用系统提供的功能,用浏览器完成系统的管理和建模工作,客户端不需要安装多余的软件,简化了系统的安装、更新和维护。 支持模型事件 实现一个支持事件处理的框架,过程建模师在过程定义时可以选择要处理的事件并为相应的事件定义需要处理的动作。这样就可以在流程流转的过程中在需要执行任务的位置添加合适的任务代码自动完成某个任务。支持的事件包括过程启动、过程中止、过程挂起、生成工作项之前、生成工作项之后、完成工作项等。对事件的响应,通过为事件选择内置的一些动作(比如发送邮件、发送消息等)或者通过脚本设置动作来完成。SynchroFLOW对事件的支持讲极大的提高与模型的交互能力,提高模型的表达能力,使SynchroFLOW在各类应用场景下具有更大的适应性。 支持动态工作流 为用户提供一个比较灵活的流程定义和流程运行环境,包括流程分解、流程退化、流程回转等动态修改功能。 多种技术的综合运用 系统支持和使用了jsp、html、servlet、rmi、xml、jms、ejb等技术。