SimpleFramework 之工作流技术综述(工作流组件系列教程之一)

allbin1983 发布于 2010/11/18 08:16
阅读 1K+
收藏 5

企业在经营管理过程中,其核心业务受外部社会环境、市场环境,及其自身内部环境的约束,按照一定的业务规则运行;而业务按照业务规则运行的过程就形成了业务流程。

换言之,对于企业的日常业务而言,复杂业务由数种相对独立的简单业务组合或交织而成,简单业务又可分解为有限的业务步骤,这些业务步骤有先后之分,彼此之间有依赖关系,承担这些业务步骤的人也有职责及权限划分,将这些业务步骤按照实际需要的先后次序、依赖关系与承担这些业务步骤的责任人连接起来,形成一个有机联系的整体――目标、任务、责任、条件等的序列化,这就是通常所说的工作流(Workflow),俗称为业务过程(Business Process)或工作流程(Workflow)。

工作流(Workflow)就是应用计算机应用技术实现业务过程处理的电子化,亦即业务过程(建模、运转、监控、分析等)的自动化。

工作流管理联盟(WfMCThe Workflow Management Coalition)对工作流的定义为:工作流是一类能够完全或者部分自动执行的业务过程,根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递、执行。对上述定义的概念分解如下:

n  工作流模型(Workflow Model是对实际业务过程的抽象描述,是按照一定的业务过程描述方法及其所有的流程要素(目标、角色、活动、业务规则等)对业务过程的形式化表示,亦即业务过程所包含的角色、活动(或任务)及其执行规则有序集的形式化; 

n  工作流角色(Workflow Role):是对业务过程中执行者(或参与者)的抽象描述,是业务过程中责、权承担者的形式化;

n  工作流活动(Activity)亦称任务(Task);是依据业务过程的复杂度(Complexity),按照一定的标准,诸如流程的模型体系、业务过程分割、建模的需要等,对业务过程分解形成的相对粒度最小的工作单元(Work Unit),是业务流程相对流程主体责、权的分解和形式化;

n  工作流资源(Workflow Resources):是实现业务过程运转,达成合作目标,完成构成业务过程的各类任务所需的各类可应用资源,诸如:人员/角色、软件工具/系统、各种计算机服务,以及各类计算机设备等。

n  工作流模式(Workflow Pattern):也称工作流控制模式,是对工作流模型或业务过程语义中显性逻辑结构的抽象描述。

n  工作流数据模式(Workflow Data Pattern):是对工作流模型或业务过程语义中数据操作方式及其数据逻辑的抽象描述。

n  工作流管理系统是基于工作流模型实现业务过程运转的计算机协同工作系统;

n  工作流实例:就是工作流管理系统依据某一业务过程所制定的工作流模型,实现业务过程运转的具体案例,亦即工作流模型的实例之一。

n  工作流工作项(Workflow Workitem):也称工作项(Workitem)。由于通常情况下下,同一活动关联的角色实例化为用户后可能为多个,与之对应的任务就分解为多个与用户相关的任务项,此即工作项。

n  工作流启动项(Workflow Initial Workitem):也称启动项(Initialitem)。由于流程的发起,也需要相应权限的角色来实施,类比于工作项,在流程模型装入流程引擎后,将依据具有流程启动权限的角色生成流程用户对应的可启动工作项,此即启动工作项,简称为启动项。

为什么需要工作流技术?

1.1.2.1从应用角度看工作流技术之应用

在此首先描述一下应用工作流管理的业务场景:

在应用之前,首先根据企业对有关业务流程制定的规则,运用工作流定义工具进行流程定义。经过定义的业务流程被保存在工作流引擎(或服务器)。所有业务流程中的业务都将在被处理以后送往工作流引擎(或服务器),工作流引擎(或服务器)如同交通指挥中心一样,按照预先定义好的业务流程(规则)来确定各业务的下一步走向,各项业务任务会在准确地时间发往准确的执行人的业务桌面。

运用工作流,所有的工作任务将被自动发往每个业务人员的业务桌面,由于任务由工作流引擎(或服务器)发送,因此一般不会发生错、漏、误任务的情况。因此业务人员只需按照业务桌面的任务清单执行就可以。同时任务清单还提供任务的处理时间限制等要求,这样业务人员可以有选择地优先处理时间紧迫的任务,这样可以避免传统手工处理过程中由于大量业务堆积,一些重要或紧迫的任务因没有及时发现而被耽误的现象。

同时在工作流管理系统中,由于采用了各种成熟的信息处理技术和各种消息机制,诸如邮件、手机短信、即时消息,可以支持移动办公、任务的离线处理,并可以和 WWW 技术有机融合,即使具有审批权限的领导因公在外出差,有关信息也可以及时被传递到该领导的电子邮件信箱、手机或其它信息通道中。领导只需用随身携带的笔记本电脑或掌上电脑,连上互连网(Internet)就可以接收邮件或其它信息,并对所有需要批阅的文件进行处理,批阅完毕的结果被自动发回公司,并进入工作流引擎(服务器)的处理队列继续进行后续流程的处理。这样业务流程不会因领导或相关人员出差而暂停,有效的缩短业务的处理周期并提高业务效率。

工作流引擎(或服务器)同时具备流程监控功能,例如根据预先定义的业务流程,某项业务应在特定时间完成,如果工作流引擎(或服务器)的监控系统发现在接近预定时间任务还没有完成或发现任务已经脱期,监控系统可以向有关的业务处理人员发出催办通知。甚至可以通知该部门的主管,某项业务可能会超期或已经超期,要求部门主管予以督促;这些工作流引擎(或服务器)都会自动按照设计的业务流程规则自动进行处理。

对于某些特定的企业或部门,有可能需要对业务处理过程进行记录,以备事后查询、审计或作为业务考核的依据。工作流引擎(或服务器)将根据需要,如实地记录这些信息。

在一些业务的处理中,业务处理与业务数据有关。以电子商务中的在线汽车销售业务为例,由于业务覆盖的地域广阔(全国或全球范围),供应商在各地设立了服务机构。客户在互连网上填写采购订单后,订单被送入工作流引擎(或服务器)。假设业务规则规定:“北京地区的客户由北京的服务机构进行服务”,那么,引擎就可以根据订单中的“客户所在地区”信息进行判断,将北京地区的客户订单统一交北京地区的服务机构进行处理。

用户可能会担心,流程的定义是否会很复杂,需要专门的技术,对人员的要求会很高?其实由于在工作流设计中应用了面向对象技术及与业务无关的工作流框架结构,而且整个流程定义过程是可视化的,这就使得流程定义过程非常简单。在流程定义过程中,传统的业务处理的应用功能被表示为业务人员所熟悉的业务操作、业务单据、业务词汇,业务人员不必另外重新学习其他的技术 ――只有在必要的时候才需要编制或编写流程脚本。流程定义时,操作人员要做的只是简单的用鼠标进行一些选择或填写一些简单的数据。同时对于一些典型的业务流程,用户可以直接使用在工作流系统中提供的典型流程或稍做改动,进一步简化流程定义的复杂度并减少工作量。

从上述过程,可以看出,应用工作流技术,可以为企业的经营管理提供以下支持:

n  提供方便灵活的流程定义工具;

n  按照既定的业务规则管理和监督业务的运行;

n  及时发现业务瓶颈,并进行有效疏导或改善业务流程;

n  提高工作效率,有效缩短业务处理周期;

n  避免传统处理方式中的随意性造成业务流程混乱;

n  减少或避免人为因素造成的原则性错误及由此带来的损失;

n  增强业务各环节的协作能力,使业务运作更加顺畅;

n  有利于业务的评估和业绩考核;

n  新员工可以迅速适应本职工作;

n  高效率的业务处理有助于提高客户服务水平和企业竞争能力;

n  由于业务处理主要由业务人员自行处理,并且业务的管理由工作流引擎(服务器)承担,各业务主管将从以前大量的事务中解放出来,将主要精力用于更重要的事情;

n  为帮助企业适应新形势而进行业务流程重组提供有效的分析手段和技术支持;

n  可以与其它相关的业务功能进行有效地集成,使企业的应用具有更强的灵活性。

1.1.2.2从技术角度来工作流技术之应用

从技术角度来看,应用工作流技术,可以解决如下问题:

l  消除长期以来存在于IT人员和IT用户之间的隔阂;

l  能够用图形来模拟用户的想法,并自动地把这些想法转换为可执行的业务流程;

l  解决现存的软件维护和集成问题;

l  实现新型的业务过程处理的自动化;

l  消除业务目标和实际执行之间的差距;

l  业务过程的控制和企业应用的分离,使得信息系统的建设以及应用系统的开发具有更强的适应性,可以实现业务过程的复用,缩短开发周期及难度,并可实现各类职责人员专注于自己最关心的业务部分及其功能实现。

1.1       工作流管理系统与传统信息系统的关系

传统的管理软件注重解决企业应用层现存的问题(例如提高企业的资源配置率或提高单一员工的生产效率)。例如:EXCEL可以提高员工画表格的效率、财务软件可以规范财务人员的工作并提高帐目查询的效率、CRM可以规范客户管理从而使客户资源掌握在公司手中而不是被一部分业务人员把持并提高客户响应时间、ERP解决的是如何配置企业资源:使企业的人力资源、财力资源和物资资源能够根据业务的需求实现最大化配置。

Workflow关注的是如何缩短流程闲置时间,从而提高企业的业务处理能力并使企业能够关注于真正对企业有意义的增值业务上。从建立企业神经系统的角度也许更能理解两者的区别。

传统软件不能解决工作流的问题,例如ERP关注的是企业的资源配置,但不可能解决资源传输过程中的损耗和降低传输(流程)的成本;同样Workflow也不能完全解决传统管理软件所能解决的问题,例如对生产管理的MRP系统所能解决的生产过程控制通过Workflow很难实现。

但一个好的传统软件如果希望能自动化地在整个企业中应用起来,必须有一个强大的逻辑层,用以解决信息传递的逻辑判断和自动流转,这个时候就需要Workflow的平台。

所以说:

1)  WFMS和传统管理软件不是同一种软件,不具可比性;

2)  WFMS对于已经有传统管理软件的企业的作用非常明显,可以籍此平台整合企业的各种应用系统,使之成为一个完整的企业级应用,也就是通常所说的EAI

3)  具备Workflow功能的管理软件(Workflow与传统管理软件的结合)对于传统管理软件有绝对的优势;

4)  Workflow可以根据企业的需要开发解决信息传递问题的流程以及帮助企业开发与现有应用系统的接口。

请关注官方更多教程。

 

加载中
0
ajaxparent
ajaxparent

官方网页的字体实在不敢恭维!不过框架不错,作为xml格式的page是否和zk差不多,性能如何?封装这么好的东西必然耦合度过高?不知 扩展能力是否良好?希望解答一下

0
allbin1983
allbin1983

由于我们团队目前都是做技术的,对网站的外观设计没有放到首位,我们专注框架的性能,安全,功能。

simpleframework 使用xml 描述,提供了完整的业务组件,这些业务组件能够快速构建自己的应用,在架构上我们与zk是不同的。另外,通过xml 描述的page 与 业务逻辑的处理都是有 simple 提供完整的接口,这些接口我们有默认的实现,你也可以根据自己的需要进行扩展,所以simple 是开放的框架。

simple 提供统一的数据接口,在本论坛已经发布了基于swing 编写表格,可以查看出simple 处理数据的速度,我们做过大量的测试,可以说 simple 的性能是我们的特点之一。

更多细节,请参考 数据访问的介绍

返回顶部
顶部