先智工作流定义

先智工作流定义
先智工作流定义

1. 创建工作流定义

使用工作流工作室的主要任务之一就是创建代表业务处理流程的流程图。您将通过工作流定义对话框创建一个工作流程图。

工作流定义是你添加在一个工作流程图中对象的基本信息。您还可以定义工作流程变量和工作流程附件在工作流程图使用。建立了工作流定义时候,你还可以用表达式和脚本等方法去适应不同的业务情况。

运行的工作流不能取消和中断,但是可以在流程定义中某些步骤设置一些“取消”和“终止”状态,直接指向结束模块;这样用户想手动结束该工作流时,可以选择该状态,以达到取消和终止流程;

工作流目前只有0-未开始,1-执行中,2-已结束,3-出错结束,4个状态。

1.1. 工作流程图表对象

流程图对象是什么,就是你放在在一个工作流程图的图形。它可以是一个任务模块执行一些特定的操作,一个连接线或某些特殊的执行流程控制的对象,如连接器和交叉线。

1.1.1开始模块

概述:表示该工作流进程启动

允许输入:0

允许输出:1

说明:

一个工作流程图有且只有一个开始模块。

1.1.2结束模块

概述:表示该工作流进程结束

允许输入:很多

允许输出:0

说明:

一个工作流程图有且只有一个开始模块。

1.1.3错误处理块

概述:在执行工作流程图过程中发生错误时该模块被执行。

允许输入:0

允许输出:1

说明:

一个工作流程图只能有一个错误处理模块。

每当在一个执行中的工作流程图发生错误时,执行流转将转向这个错误块,然后遵循它指定的路径(错误块后的下一个块)。你可以使用该出错块来执行一些清理工作,然后完成工作流程图的执行。

1.1.4源连接器

概述:源连接器是直通块,增加流程图表的易读性。它使执行流程连接到目标连接器。

允许输入:很多

允许输出:0

说明:

如果执行流到达源连接器,然后它将跳转到它们关联的目标连接器。

源和目标连接器它们之间的“关系”是通过他们的文字标志来确定的。如果文本是同样的,则建立连接。例如,当流程图执行到源连接器标记为“A”,那么它的目标连接跳转到标记为“A”的目标连接器。这样,您就可以有几个源连接器在同一个流程图中。

1.1.5目标连接器

概述:目标连接器是增加图表易读性的直通块。它接收来自一个相关的源连接器来的执行流。

允许输入:0

允许输出:1

说明:

如果执行流到达源连接器,然后会跳转到该相应的目标连接器。

1.1.6流转线

概述:连接一个块到另一个块,指上面的任务块完成后将流向的图表。

说明:您使用的流转连接线连接到另一个块。执行流转指示流,这意味着它从源块到目标块流动。

您通过鼠标指在一个连接点(蓝色的“X”块)在鼠标按住源任务块,拖

动鼠标,释放在目标块中的一个连结点的然后释放按钮,一个带箭头指示的执行流程将会创建。

您可以创建一个直线流转线,一个侧面或圆弧的流转线。所有的行为一样的,只是视觉效果差别。

您可能无法连接到每个任务块,这取决于它所允许的输入和输出块。例如,如果您尝试创建一个连接到目标一个‘开始块’,你将无法这样做,因为这个‘开始块’不允许有输入。

有些块允许多个输出流转。在这种情况下,每个流转连线必须贴上标签,那么该流程图必须使用按照指定的条件才知道哪个流转,只有一个流转用于离开这个作用块。因此,举例来说,有两个流转线可能被用到一个决策块,其中一个应该被标记为“是”和另一个应该标记为“否”,所以流程图根据条件判定块的的结果就会知道哪个流转线被执行。

1.1.7分叉块

概述:创建并行执行路径。

允许输入:很多

允许输出:很多

说明:

分叉对象用于创建平行的多个执行路径。当一个工作流实例图开始,有一个单一的执行路径(由起始块启动)。如果执行到达分叉块,流动将被分别产生几个(由输出的数量而定)平行路径同时执行。

最后,所有执行路径都必须完成于同一个归集块对象,否则该图是不正确的。一旦所有并行执行路径完成,主要的执行路径将从归集块中重新开始。

1.1.8归集块

概述:通过创建一个归集对象完成并行路径。

允许输入:很多

允许输出:1

说明:

该连接对象是用于结束和连接并行执行路径。当一个工作流实例图开始,有一个单一的执行路径(由起始块启动)。如果执行到达分叉块,流动将被分别产生几个(由输出的数量而定)平行路径同时执行。

最后,所有执行路径都必须完成于同一个归集块对象,否则该图是不正确的。一旦所有并行执行路径完成,主要的执行路径将从归集块中重新开始。

下一步就是连接该归集块的下一个模块对象。直到分叉连接对象所有创建路径完成后,主要的执行路径才会重新启动。

1.1.9判断块

概述:根据一个布尔条件改变执行流程

允许输入:很多

允许输出:2(“是”和“否”)

说明:

使用该判断块根据一个布尔条件来决定流程执行路线。当执行流程图达到判断块,该块的对条件情况进行了评估。如果是真的话,那么执行经过路径标示为“是”的连接线。如果它是假的,它通过标记为“否”的连接线。如果条件判断不止一个,您可以采用嵌套的方式去解决,来达到不同的流向。再不行,你可以才用脚本块,他可以根据运算返回的结果来执行已知的路径。脚本块在后续会有说明。

1.1.10任务块

概述:在任务定义基础.上为用户创建任务用例。

允许输入:很多

允许输出:很多(仅限于状态列表)

说明:

任务组块是比较重要的图表模块类型之一。在任务组块中,可以为用户指定已经被创建的任务。当执行流到达一个任务组,它为每个任务定义创建任务实例。

任务组块本身不过是一组任务定义。因此,使用任务组块,只需创建一个或多个任务跟设置任务属性。

直到完成所有任务实例前,工作流执行在任务组块中是停止的。一个任务实例结束时,其状态更改为完成状态。

在所有任务事例完成之后,执行流根据这些规则继续:

任务组块只有一个输出

执行流都经过那些路径。

任务组块有两个或两个以上输出

每个输出的流转线,必须标有完成状态的命名。执行路径去通过标有相同的文字的流转线当作任务实例完成状态的任务组输出,也就是说,如果任务实例被完成为“批准”(一种有效完成状态),然后执行路径通过被标上“批准”的流转线。

如果多个任务实例被任一相同或不同任务定义的任务组块创建,那么该任务组块的输出将是在任务实例之中最常见的完成状态。例如,如果两个任务实例完成为“拒绝”,一个任务例如完成为“批准”,那么该任务组块的输出将是“拒绝”和执行路径将跟随被标有相同文字的流转线,象这种任务块可以用于投票表决的过程处理。

1.1.11任务定义属性

任务定义在任务组编辑器(任务组对话框)中被创建。当您双击一个任务组块,对话框被显示出。

您可以使用增加和删除按钮来增加或删除任务定义。在对话框左侧列表视图中显示该任务块现有的任务定义的名称。

任务名

唯一有效的标识符标识该任务定义。下面是一个“设置任务日期”任务的例子。

通常

标题

包含任务的标题。用作电子邮件消息或任务列表的概要。支持表达式。

描述

多行描述的任务。这里是有关应当被插入的任务的说明。支持表达式。

关联用户(或组)列表

任务实例将被分配到的名称。如果是它是一个用户,那么单任务实例将被创建和将被指定给该用户。如果它是一个组(职位,角色,部门),则行为取决于任务发送模式(单发,还是多发)送属性的值:

多任务模式:为组中的每个用户创建一个任务。因此,如果一个组中有用户“张三”和“李四”,那么,一个任务将是为张三创建,另一个为李四创建。同时两个任务是独立的(两个任务都必须做完成处理)。

单任务模式:这是默认值。单任务创建对组用户是可见的。如果你以后从用户组中移除用户,那么现有的任务对被从组中移除的用户来说将变得不可见,对添加进组的用户变得可见。组中的任何用户都可以更新该任务,包括结束它。

能否打印选项:这个选项是用于控制该任务关联的用户是否有打印工作流审批报表的能力。

项目权限控制:这个选项是用于控制该任务关联的操作者是否要区分不同的项目的访问权限。这个操作者是角色,部门,职务才有效;如这个操作者是项目经理,项目经理这个角色有张三和李四,张三对项目A有访问权限,李四对项目B有访问权限。这时针对项目A发起的审批业务,则流程走到该步骤时,只有张三可以看到这条审批业务,对李四透明。这个设置在多项目同时管理,角色复杂的企业应用中,带来很大方便,这样企业只要制定统一的流程,就能解决区分项目审批的业务,不用重复定义每个项目的审批流程。

流程步骤号:用于识别每条审批任务的标志,以方便可以针对某些审批步骤进行特殊业务的控制,如自定义表单中某些单元格在特地审批步骤中才能进行取数和编辑。

发送通知邮件

如果(选中)它,当任务实例被创建后,将给用户发送电子邮件通知。目前我们系统对每个任务对应的用户发内部短消息功能,根据系统设置还可以转成手机短信;所有发送通知邮件是可选的。

状态

状态列表

载有该任务的有效状态列表。

任务的初始状态将是在状态列表中的第一的位置。

通过选上“结束”选项,一些状态可以标记为结束状态。当一个任务实例的状态会更改为结束状态,则该任务被认为完成。你可以让多个状态标记为结束状态。

虽然“隐藏”选项的是一个可选的任务状态选项,但不会显示在用户界面中的任务状态框里(就像在状态组合框一样),一般你可以定义‘过期’这种隐藏状态用于任务超时处理。

当一个任务实例被创建时,有效状态被显示在任务列表对话框的一个组合框中,然后用户可以改变一个任务的状态,这些任务状态在流程定义时,可以添加修改的。

附件权限

定义用户处理附件的权限。

显示附件

显示在任务列表中的附件选项卡。如果为假(未选中),用户将无法做与附件(添加,视图等)有关的任何事情。如果为真(选中),用户将能够,至少能打开并查看附件。

允许移除附件

如果为真(选上),允许用户从任务实例中移除附件

允许插入附件

如果为真(选上),允许用户为任务实例添加新附件

允许修改附件

如果为真(选上),允许用户打开一个现有的附件进行编辑和更新的内容。

字段

为任务实例定义字段。一个任务可以定义一个或多个字段。一个字段是一个占位符的值。当一个任务实例已被关联给一个在任务列表对话框中的用户时,所有的字段被显示。字段对用户去理解与任务相关的额外信息,或对用户输入有价值的信息都是有帮助的。它们增加了特别的灵活性级别。字段总是与工作流变量关联,工作变量是该字段价值的真正的容器。一个字段没有“价值”,它仅仅是从/到一个工作流变量读/写。

文本标题

字段的名称显示给用户

工作流变量

与字段相关的工作流变量的名称。如果用户改变它的值,字段将从工作流程中读取它的值,并写回到工作流变量。

只读

标记为只读的字段,它的信息是可见的,但不能修改。

必修

当一个字段是必修的,直到一个值填充在该字段后,任务实例才能被保存(改变)。

因此,如果指定为必修的字段是空的,用户不能添加、移除、编辑附件,或改变任务的状态,或改变任务实例中任何其他的信息。

过期

定义工作流任务的过期日期/时间。如果一个任务有明确的截止日期/时间,当它超出一个不被用户(更改为完成状态)关闭此日期/时间,其状态自动更改为过期状态。使用这个特点检查部分连续工作流事例任务期限。

任务不到期

这是默认选项。如果选中,这个任务将永远不会过期,并会保持分配给当前用户/用户组直到完成(更改为完成状态)。

过期类型

选中此选项,进入该任务的到期类型,并输入一些天,周或月(整数或浮点值)。截至日期将从任务创建日期起计算。

过期日期/时间

选中此选项,为任务输入一个固定预定日期/时间。

过期时间表达式

此选项允许输入一个自定义表达式赋值任务截止日期/时间。该表达式必须返回一个DateTime值和可以使用从当前的工作流程中,任务属性(通常使用_Task.CreatedOn属性来检索任务创建日期/时间和计算到期之日)使用变量,以及允许使用在表达式中的所有功能。

过期状态

期满之后,确定任务将自动改变状态,它必须是一个完成状态

1.1.12审批节点

概述:这是一个特殊的具有一个单一的审批任务定义的任务组块。

允许输入:很多

允许输出:很多(受限于状态列表)

说明:

审批块是一个特殊的具有一个单一的审批任务定义的任务组块。这个任务定义是一个审批任务定义,它与普通任务定义有着一样的属性,主题,类

型,跟专门的状态列表已经被初始化的不同。

该审批任务与三种有效的状态:“打开”、“同意”、“驳回”一起在状态列表中,“同意”与“驳回”状态是任务的完成状态。

您可以按你所想的,就像在一个任务块一样,更改审批任务定义的属性。与普通任务块唯一的区别就是你不能在审批块创建多个任务。

1.1.13脚本块

概述:执行脚本代码。

允许输入:很多

允许输出:1(如果脚本不返回任何值)或者很多(取决于可能的脚本结果)

说明:

脚本块只执行一段脚本代码。在大多数情况下,脚本块只有一个输出。但你也可以在脚本块中多输出,这取决于脚本的结果。您可以通过使用脚本的结果定义结果变量:

result:='result1';

如果你有多个输出,每个输出离开连接线应该有一个标签,执行流将获取跟脚本结果相同的标签的连接线。在上面的例子中,你必须有一个标有“result1”标签连接线,以便执行将沿着那条路径走。

1.1.14执行工作流块

概述:运行一个分开的工作流实例。

允许输入:很多

允许输出:1

说明:

在运行工作流块允许在同步或异步方式从目前的工作流中分开运行一个新的工作流(子工作流)。为了工作流之间交换信息,变量映射应该在被指定的块定义中。

如果“等待到完成”标志被选中,在当前的工作流会等待子工作流完成。变量映射在这种情况下是双向的。

如果“等待到完成”标志的没有被选中,不管子工作流状态,将继续正常执行目前的工作流。变量映射只是单向映射。

变量对应表列出了在子工作流变量将被更新的变量。在下面截图例子中,在装载工作流(子工作流)中的变量“Company”将获得在当前的工作流的变量“CompanyName”的值。在双向映射的情况下,当装载工作流完成后,“CompanyName”的值随着“Company”变量值将被再次更新。

1.1.15审核业务块

用于自动审核对应的单据,在需要自动审核单据的工作流中增加该模块,工作流实例会根据相关联的业务单据自动审核该单据,同时会更新相关互动的字段,具体更新哪些字段根据工作流变量设置,具体看工作流变量部

分使用说明。

1.2 工作流变量

工作流变量在工作流程中,它可以保存信息,就像程序中的一个变量。

您可以在工作流定义中创建变量,每个被从工作流定义中创建的工作流实例将有一个工作流变量副本。例如,订单处理的工作流定义可能有工作流变量“OrderNo”。一旦一个工作流实例被创建时,OrderNo变量将在那里,你可以读/写它的值,它仅对该工作流实例是有效的。

要定义工作流变量:

1. 打开流程图编辑器。

2. 打开工作流|变量的菜单选项...

3. 变量编辑器将显示出来。

变量编辑器显示了定义的工作流变量的列表。您可以使用“增加”和“删除”按钮增加和删除变量。

所有您需要做的就是定义一个变量的名称(在这个例子中,两个变量命名为“CompanyName”和“StartDate”)。您可以在“值”编辑框随意定义该变量的初始值,。工作流变量被定义后,你可以在表达式或脚本中使用它们

<需要跟业务单据字段关联>选项,如果选中该标志,则该变量会跟相关联的业务单据的字段进行互相更新,在审批过程中如果修改了该变量的值,则当该业务审核时就会相应更新到对应业务单据中,工作流启动时也会从相应单据中获取关联的字段值;这个关系的建立要求变量名跟对应的字段名采用相同的名称和取值类型,且该变量只能用合法的字符,不能用中文字符!

1.3 工作流附件

附件是一个强大的功能,它允许每个工作流实例带有一个或多个文件与之关联。用户可以在处理任务时增加,编辑或删除附件(根据他们的附件权限)。

例如,一个用户可以附加一个文件(或一组文件)到一个任务,然后另一个用户可以创建另一个任务,这个新用户可以看到先前用户附加的文件。

或者,用户可以顺着工作流程的执行来编辑和更新附件。这加强了用户执

行工作流实例过程中的合作。

附件是实际上是一组文件(附件项目)的容器。这些“容器”(附件)可以在工作流的定义中创建,也可以创建多个附件。单个附件在工作流定义始终是被默认创建的,被命名为“附件”。

在工作流定义定义附件:

1。打开流程图编辑器。

2。打开菜单选项工作流|附件...

3。附件编辑器会被显示出来。

在这里你可以创建多个附件,并为每一个附件命名。在上面的两个例子,被创建的两个附件:“订单附件”和“额外附件”。

请注意您可以在此窗口的附件框中添加附件(文件)。但要记住,这是一个工作流定义,多个工作流实例在这将被创建。如果在这里添加一个文件,该文件将在每个工作流创建的实例中存在。所以,在一般情况下,你在这里只创建空附件,若每个工作流实例有附件的话,那也只有它自己的文件在里面。

虽然一个附件是在工作流实例的级别,你随时都可以处理它,但是它们与任务实例是密切相关的。当一个任务实例被创建时,它就会被列入任务列表对话框。该附件也显示在该对话框(如果任务定义允许它有附件权限)。

然后用户可以增加,编辑或删除附件。如果任务实例被用户保存,文件(附件项目)就会与工作流的实例一起被更新与保存。

1.4表达式

表达式是一个用来制作工作流程定义的强大方式。你可以在某些块的若干属性中使用表达式中,特别是在一个任务块任务定义属性。

当所有权即被使用,在所有的文字表达式被转换到其值。括号“[”和“]”隔开表达式。下面例子是表达的用法:

主题:这是一个有关订单数量[OrderNo]主题。

说明:先生. [UserName],请在日期[DateToStr(StartDate + 30)] 之前解决这个任务。

在这些例子中,我们有三种表达形式:OrderNo,UserName和DateToStr (StartDate + 30)。注意,表达式使用工作流变量。工作流变量的值在表达式中赋值和使用。例如:处理后的表达式结果文本将是:

主题:这是一个关于订单编号1042的主题。

说明:史密斯先生,请在日期07年12月5日之前解决这一任务。

除了工作流变量,表达式也接受:

aritmetic operators

+, -, /, *, div, mod

boolean/logical operators

and, or, not, xor

relational operators

<>, =, <, >, <=, >=

bitwise operators

shl, shr

numeric constants

153 (integer), 152.43 (decimal), $AA (hexa)

string constants

'This is a text'

char constants

#13 (return character)

Delphi-like functions and procedures

Abs

AnsiCompareStr

AnsiCompareText

AnsiLowerCase

AnsiUpperCase

Append

ArcTan

Assigned

AssignFile

Beep

Chdir

CloseFile CompareStr CompareText Copy

Cos CreateOleObject Date DateTimeToStr DateToStr DayOfWeek

Dec

DecodeDate DecodeTime Delete EncodeDate EncodeTime

EOF

Exp

FilePos

FileSize FloatToStr

Format FormatDateTime FormatFloat

Frac GetActiveOleObject High

Inc

IncMonth InputQuery

Insert

Int

IntToHex

IntToStr IsLeapYear IsValidIdent Length

Ln

Low

LowerCase

Now

Odd

Ord

Raise

Random

ReadLn

Reset

Rewrite

Round

ShowMessage

Sin

Sqr

Sqrt

StrToDate

StrToDateTime

StrToFloat

StrToInt

StrToIntDef

StrToTime

Time

TimeToStr

Trim

TrimLeft

TrimRight

Trunc

UpperCase

VarArrayCreate

VarArrayHighBound

VarArrayLowBound

VarIsNull

VarToStr

Write

WriteLn

1.5 脚本

您可以像在脚本块一样,在工作流工作室使用脚本,例如。

脚本是用来定制您的工作流程的定义的一个强大方式。

你可以在一个脚本块中做多个任务,这在其它块中是无法做到的。

你可以用一个脚本的各项任务块不可能做到与其他块。默认的脚本语法语言是帕斯卡。所以,你可以在常规帕斯卡中做几乎任何事情脚本也是一种处理工作流变量的方式。在脚本中只是普通变量。例如,如果你定义了一个名为“TotalAmount”的工作流变量,你可以使用此代码读取该变量值:/ /计算的销售佣金。

Comission := TotalAmount * 0.2;

也可以使用此代码改变变量值,:

/ /总价增加了15%

TotalAmount := TotalAmount * 1.15;

避免使用那些要求继续使用用户交互脚本消息框和其他对话框或窗口,这样可能会产生问题。请记住,工作流运行在线程后台,由工作流执行的所有行动应该保持静止和顺畅。如果您需要用户互动,那么你经常需要用任务块为用户创建任务。

工作流引擎技术

1.1 工作流引擎技术 工作流概念的提出是人们注意到了隐藏在业务处理的过程控制的共性,并从业务处理操作中分离出过程逻辑单独加以研究,从而可以实现过程优化配置和重组。但是,多年来,不同的研究者和产品供应商从不同的角度给出了工作流的定义。下面分别从工作流定义及工作流相关术语进行解释,并分析工作流应用中所遇到的多种模式,提出了工作流参考引擎、处理模型、体系结构等。 1.1.1工作流定义 WfMC给出的工作流的定义[21]:工作流(Workflow)是一类能够完全或者部分自动执行的经营过程,根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递、执行。 工作流是指业务领域的流程,它描述了业务过程中的各个要素以及要素之间的关系。 业务过程则是对工作流的抽象,通过对业务过程中各要素的描述形成过程定义。过程定义是过程自动化的基础数据,它通过工作流引擎进行管理。 下面将对工作流引擎技术中涉及到的一些基本概念给出其定义。这些概念包括:工作流引擎、业务过程、过程定义、活动、自动活动、人工活动、实例、过程实例、活动实例、工作流参与者、工作项、工作项列表等。 1.工作流引擎 工作流引擎是一个软件系统,它定义、创建和管理工作流的执行,并且运行在一个或多个工作流引擎之上。工作流引擎能够解释过程定义、实现与工作流参与者的交互并且调用各种外部IT工具和应用。 2.业务过程 一个包含一个或多个相关程序或活动的集合,这些程序或活动共同实现一个业务或决策目标。通常地,业务过程存在于一个定义了职能角色和业务关系的组织结构中。 3.过程定义 过程定义是对业务过程的描述,这种描述形式支持诸如建模、通过工作六管理系统执行等操作的自动化处理。过程定义有活动和它们之间的关系组成,这些活动和关系形成了一个网状结构,并且还包含过程开始和结束条件和各活动的详细信息,如活动参与者、相关应用和数据等。 4.活动 活动是对一份工作的描述,它是过程中的一个逻辑步聚。一个活动可以是

流程定义语言

一J P D L 流程定义 1.1 process-definition(流程定义) 流程定义的根节点,是所有节点的父节点 1.2 node(自动节点) 这种节点和State相反,也称自动节点。当业务程序实例执行到这个节点,不会停止执行。而是会继续往下执行。如果该节点存在多个离开转向。那么,就会执行其中的第一个离开转向,在Node 状态中,不需要外部参与者的参与,业务流程的这个部分是自动的、即时完成的。

1.3 start-state(开始状态) 1.4 end-state(结束节点) 对于每一个流程定义都会有一个结束节点,与开始节点对应 1.5 state(状态) State节点也叫手工节点,进入到这种节点,整个流程的执行就会中断。直到系统外参与者发起继续执行的命令,即调用signal或end方法,业务程序实例的执行才能够继续下去。

1.6 task-node (任务节点) 其性质和node节点一样,在没有task的时候,也都是自动执行,不等待。task-node被归类为一个等待节点,是指在task-node中的task列表中的task没有全部执行完之前,它会一直等待。T ask 可以在task-node节点下定义,也可以挂在process-definition节点下。最普遍的方式是在task-node 节点下定义一个或多个任务。默认情况下,流程在task-node节点会处于等待状态,直到所有的任务被执行完毕。Task的执行是按顺序执行的,任务都完成后,token仍然不会指向后面的节点;需要自己手动调用()才会驱动流程到下面的节点。

为了帮助读者理解task-node节点的signal属性,这里举例如下: 对于这样的流程定义: a) 这里没有定义signal属性的值,这就表明当节点中的三个任务都完成后,流程才进入后面的节点 b) 当表明token不会在本节点停留,而是直接到后 面的节点 c) 当表明三个任务都完成后,token仍然不会指向后面的节点; 需要自己手动调用()才会驱动流程到下面的节点 d) 当表明只要有一个任务完成后,token就指向后面的节点 e) 当表明当第一个任务实例完成时继续执行;当在a节点入 口处没有任务创建时,token在a任务节点处等待,直到任务被创建或完成。 f) 当时,这是默认值,和不设置signal属性的情况相同。 g) 当时,当最后一个任务实例完成时候继续执行下去。当 a这个任务节点没有任务被建立时,任务节点等待直到任务被建立。 1.7 fork(分支) 一个fork把一个执行路线分割成多个执行路线. 默认分支的行为是为每个离开分支转换建立一个子令牌,在令牌要到达的分支之间建立一个父母-子女关系

工作流系统功能列表

工作流系统功能列表 流程运转功能 1. 串行路由(Sequence Routing) 这个一般都比较容易理解,就是按照顺序的任务执行 2. 并行路由(Parallel Routing) 企业内部有许多作业必需平行处理以提高效率,举例来说:有5 位部门经理需要提出年 度预算报告,每一部门之报告为独立提出,故可将五位经理定义在同一步骤内,各自处理后再统一送到下一步骤。 3. 聚合路由(Merge Routing) 多个分支需要聚合成一个完整的流程 工作流系统功能列表系列 4. 条件路由(Conditional Routing) 在企业处理日常工作时,有许多步骤只有在特定条件成立时才会执行。工作流程自动化 软件因此必需提供此功能。 5. 条件跳跃(Conditional Jumps) 条件式跳跃指满足某些特定条件时,必须自动跳过中间数个步骤至指定人员处理。这也 是企业工作程序里屡见不鲜的状况。 6. 条件终止(Conditional Aborts) 在企业内常发生当遇到某些状况时,则整个流程实例便取消而不再流转。工作流程自动 化软件也必需相对提供这项功能。 7. 回退(Process Returns) 这项业务因为各种原因(文档不全、发送错误等等),当然处理人要求上一处理人重新 办理,或重新发送 8. 取回(Process Rollback) 业务人员依照客户要求填写订单后,订单送出往下继续传递,隔了一天后,客户临时决 定要更改订货的内容,您可以在不删除订单流程的情况下,使用反向回传的功能,可从有问题的步骤(订单输入)直接「取回」已流到后面数个步骤的该张订单,修改完毕后再送至下一步骤. 一般这种情况,实际系统实现中,会强制在后续处理人未处理的情况下可做出[取回]动作,否则不能取回。 9. 自循环(Self-Cycle) 在电子政务办公系统中,经常出现的“多处长联合审批”过程。多个处长(个人)属于 同一个处长角色(角色单元)。针对同一个审批过程,采用自循环(审批这个过程重复执行)就可以基本解决问题。 10. 发散路由(Emanative Routing) 一个任务拆分成多个任务,其分支状态基本相等,同时流程也因为发散操作而分为多个 分支流程 11. 抄送路由(Copy Routing) 比如一个发文,在交司局会签的时候,可能会抄送一份给另外的司局备案,这个过程就 或额外的激活一个不影响主会签流程的“抄送任务” 流程运转扩展功能 12. 关系路由(Relationship Based Routings) 大部分企业流程是构建在从属关系上的:申请差旅费需由部门经理核准、员工绩效由上

系统分析师辅导:工作流管理系统体系结构设计

系统分析师辅导:工作流管理系统体系结构设计 摘要:工作流管理系统将最终成为覆盖于各类台式机与网络操作系统之上的业务操作系统,但工作流技术目前还不够完善。作者在深入研究了工作流管理联盟提供的工作流管理系统模型和各大主流工作流管理系统的基础上设计了一套功能全面的工作流管理系统体系结构。本文主要从该体系结构的三个层次深入介绍了该系统结构。 关键词:工作流管理系统、业务操作系统、软件体系结构、业务建模 1、引言 在一个组织内部存在着两种信息:一种是数据信息,另一种是业务信息。在组织之间也同样存在着两种信息:一种是数据信息,另一种是业务往来信息。如果这两种信息用计算机系统来管理,前一种属于组织内部的信息系统,后一种属于B2B电子商务系统。目前对数据信息的计算机管理系统(即:数据库管理系统)经过多年的发展已经成熟。对业务过程的计算机管理系统由于比较复杂,可变因素较多,难度大,因此发展还不成熟。工作流技术作为现代组织实现过程管理与过程控制的一项关键技术,为组织的业务处理过程提供了一个从模型建立、管理到运行、分析的完整框架。同时,工作流管理系统(Workflow Management System ,WFMS)通过一套集成化、可互操作的软件工具为这个框架提供了全过程的支持。Thomas Koulopoulos曾预言:工作流管理系统将最终成为覆盖于各类台式机与网络操作系统(如:Windows,Unix,Windows NT)之上的业务操作系统BOS(Business Operating System),它将带来操作系统的一次革命。但是目前工作流技术无论从理论上还是从实践都还不够完善,要实现Thomas Koulopoulos的预言可能还需有一段路要走。本文主要介绍了由作者独立设计一套工作流管理系统体系结构,以供工作流技术爱好者参考。 2、工作流管理系统的基本概念 顾名思义,工作流就是工作任务在多个人或单位之间的流转。在计算机网络环境下,这种流转实际上表现为信息或数据在多个人之间的传送。工作流管理联盟( Workflow Management Coalition ,WfMC)对工作流的定义是:“业务过程的部分或全部在计算机应用环境下的自动化”。她所要解决的主要问题是,“使在多个参与者之间按照某种预定义规则传递的文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者是促使此目标的实现”。 工作流管理系统就是通过管理一序列的工作活动以及相关人员、资源、信息技术资料来提供业务处理程序上的自动控制。工作流管理系统通过计算机软件来定义、管理和执行工作流程。在工作流管理系统中计算机运用程序的执行顺序是由工作流逻辑的计算机描述来驱动的。她的主要目标是对业务过程中各步骤(或称活动、环节)发生的先后次序,以及同各个步骤相关的人力、资源、信息资料的调用等进行管理,从而实现业务过程的自动化。当然这种管理可能会在不同的信息及通信环境下实现,所涉及的范围可以小至一个只有几人的工作组,也可以大到政府、企业组织各个机构之间。工作流管理系统将人员、组织结构、设备资源、信息源(如数据库、文件系统、电子邮件、计算机辅助设计工具等)整和成一个整体。这样,工作流管理系统就成为了一个理想的用来收容业务逻辑的业务知识仓库,并给予业务逻辑一个易操作易控制的界面。 工作流管理系统的最大优点就是实现具体应用逻辑和过程逻辑的分离,实现在不修改具体功能的情况下,通过修改业务流程模板来改变系统的功能,完成对组织生产经营过程的部

工作流引擎讲解

什么是工作流引擎,工作流引擎有什么作用,为什么需要工作流管理系统,在这里我们主要研究它的好处,你想要理解它的好处,就得知道不使用它会带来什么样的坏处。 现在我们来讲工作流,什么是工作流?所谓的工作流就是通常所说的业务流程,那么所谓的业务流程换句话来讲就是多个人在一起去完成一件事情。这就可以称之为工作流。流程的本质就是一个参与者参与到一个过程里面来 那么现在我们就想为什么需要工作流管理系统,工作流管理系统能给我们带来什么好处。我们就从这个角度出发来了解JBPM 工作流引擎 下面我们就来看关于为什么需要工作流管理系统,以及它给我们带来的好处。 实际上它带来的好处就是使某些容易变化的东西抽象出去,我们能够通过某种方式改变它,然后你就可以对你的某些核心部分不需要做什么变动 现在就通过一个小例子来讲这个工作流引擎到底是一个什么东西 举个请假流程的例子 一个请假的过程 重点讲解UML 里面的内容,确定UML 里面流程图的讲解顺序 请假流程 现在只看左边的内容,右边的后面再讲,我是方便讲解就将这点东西放到这个空白的地方 一个简单的流程图Main 模拟出请假的过程

对提交请假单进行分析 用一个用户来表示普通用户和审批者,只不过他们的权限不同,他们都能够登录到这个系统 现在我们来看用户和请假单,分析他们之间的关系,用户和请假单之间的联系有请假,用户填了一个请假单就创建了一个请假单对象,他们之该是一对多的关系。因为某一个用户可以请多次假 对吧(其实一般是一个请假单对应一个请假者,这个需求就应该得到客户的确定,客户说了算)那么用户和这个请假单之间还有没有其他联系? 接下来是提交请假单。我首先将请假单提交给张三,那么张三就能够看到这个请假单,如果用户将请假单提交给张三,那么就可以在张三和请假单之间建立一个待审关系 他们之间的关系也是一对多的关系,因为张三可以同时审核几个请假单,就是这意思,一个请假单等待的用户是一个,从现在的需求来看。那么两者之间还有另外一个联系那就是已审,一个用户可以审批过多个请假单,请假单也可以被多个用户审批 比如张三审批以后交给李四审批,李四审批以后交给王五审批,其实这个已审就是记录审批信息的,比如审批时间,审批意见,把它放在审批关联里边 这个就是一个基本的概念,了解这个概念之后我们就考虑它的设计,JBPM 实际上就是协助我们把这个请假单从一个用户手上转递到另一个用户手上。当把这个模型分析清楚了我们就要去实现它。 这里重点分析提交,怎样去提交,在SSH 架构体下,提交请假单这个业务逻辑,你可能就需要这样一个业务逻辑类,里边可能有这么一个方法专门来进行提交操作的,那么这个方法怎样设计,以及这个方法怎样去实现。了解这点你就可以了解JBPM 干什么的,能给我们带来什么好处 (用自己的话说明一下提交请假单的过程 <读一下那段伪代码>) 在这个过程里边写这些代码是比较麻烦的,现在还只是一个固定的流程,假设我现在在这里边变化一下 那么整个方案都要变动。 我现在希望有一个会签的功能 比如我现在要将这个这样的功能,把这个请假单同时提交给多个审批者审批。 那这个时候你就不能够在请假单中间增加一个外键, 把它整成审批者什么的,

慧正工作流系统使用入门简明教程

慧正工作流系统 设计器使用简明教程 目录 1.模块定制 (2) 1) 打开设计器 (2) 2) 新建模块 (2) 3) 创建数据表 (3) 4) 创建表单 (5) 5) 创建视图 (8) 6) 创建模块内部导航菜单 (13) 7) 添加应用菜单 (15) 8) 测试模块的增、删、改、查功能 (16) 9) 导出定制模块 (17) 10) 删除定制模块 (18) 11) 导入定制模块 (19) 2.定制工作流 (20) 1) 创建流程表单 (20) 2) 新建流程 (20) 3) 填写流程属性 (21) 4) 表单设置 (21) 5) 绘制流程图 (23) 6) 测试流程 (23) 7) 待办处理 (24) 8) 流程导出 (25) 9) 流程删除 (26) 10) 流程导入 (26)

1.模块定制 1)打开设计器 (登录时选择“设计端”,或登录后点击页面右上角的“设计”,均可进入设计器页面) 点击“应用设计” 2)新建模块 1.在这里点击鼠标“右键” 2.在弹出菜单点击 “新建模块”

在弹出的模块属性窗口进行如下操作: 3)创建数据表 1.模块名称录入“模块定制练习” 2. 模块分类录入“练习” 3.点击保存(弹出提示框选择OK) 4.关闭 1.点击“新建”

在弹出的“库表属性”页面,执行如下操作: 在“字段属性”页面执行如下操作:3.点击“字段属性”标签2.填写中文名称“练习表” 1.填写表名“tz_mytest” 1.点击“新增” 2.字段名录入“MYTXT” 3.数据类型选择“大文本” 4.中文名称录入“内容” 5.录入类型选择“大文本” 6.点击“确认” 7.点击“创建表”(弹出 提示框选择“是”) 8.点击“关闭”

工作流引擎技术

1.1工作流引擎技术 工作流概念的提出是人们注意到了隐藏在业务处理的过程控制的共性,并从业务处理操作中分离出过程逻辑单独加以研究,从而可以实现过程优化配置和重组。但是,多年来,不同的研究者和产品供应商从不同的角度给出了工作流的定义。下面分别从工作流定义及工作流相关术语进行解释,并分析工作流应用中所遇到的多种模式,提出了工作流参考引擎、处理模型、体系结构等。 1.1.1工作流定义 WfMC给出的工作流的定义[21]:工作流(Workflow)是一类能够完全或者部分自动执行的经营过程,根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递、执行。 工作流是指业务领域的流程,它描述了业务过程中的各个要素以及要素之间的关系。 业务过程则是对工作流的抽象,通过对业务过程中各要素的描述形成过程定义。过程定义是过程自动化的基础数据,它通过工作流引擎进行管理。 下面将对工作流引擎技术中涉及到的一些基本概念给出其定义。这些概念包括:工作流引擎、业务过程、过程定义、活动、自动活动、人工活动、实例、过程实例、活动实例、工作流参与者、工作项、工作项列表等。 1.工作流引擎 工作流引擎是一个软件系统,它定义、创建和管理工作流的执行,并且运行在一个或多个工作流引擎之上。工作流引擎能够解释过程定义、实现与工作流参与者的交互并且调用各种外部IT工具和应用。 2.业务过程 一个包含一个或多个相关程序或活动的集合,这些程序或活动共同实现一个业务或决策目标。通常地,业务过程存在于一个定义了职能角色和业务关系的组织结构中。 3.过程定义 过程定义是对业务过程的描述,这种描述形式支持诸如建模、通过工作六管理系统执行等操作的自动化处理。过程定义有活动和它们之间的关系组成,这些活动和关系形成了一个网状结构,并且还包含过程开始和结束条件和各活动的详细信息,如活动参与者、相关应用和数据等。 4.活动 活动是对一份工作的描述,它是过程中的一个逻辑步聚。一个活动可以是

工作流引擎技术白皮书

工作流引擎产品功能介绍

目录

1.1工作流引擎简介 1.1.1产生背景 随着我国信息化建设的不断深入,越来越多的政府部门和企事业单位都清醒地认识到信息化对于自身的生存与发展的重要性,以IT 系统建设为基础提高工作效率,增强竞争能力,已经成为共识。 在过去的若干年中,许多企业以当时的IT 发展水平为基础,针对不同的业务需求搭建了种类繁多的应用系统。回顾这一阶段,我们可以发现长期以来IT 系统的建设一直跟随着技术的革新和业务需求的增长而被动地发展着。不论技术手段如何变化,企业仍旧习惯于沿着功能分析的思路为特定的需求开发专有应用。随着时间的推移,企业内部逐渐积累了许多相互孤立的筒仓式应用系统。不可否认,正是这些应用系统共同构成了当今企业的主要IT 运行环境并有效地支撑了企业早期的业务发展,但是我们也必须清醒地认识到,在这些缺乏前期规划、互连性极差的应用系统之间信息不能被有效地共享且难于保持一致,业务过程也无法顺畅地流转,它们是造成“信息孤岛”现象的根源。一些企业也曾经尝试采用整理、合并各种需求、统一数据接口、规范业务过程等方式来降低集成的复杂度,但是在经过一番实践后,人们又发现仅仅依靠规范静态信息的交换格式,集合局部的需求等方法并不足以支持更大范围内的应用整合。因此当前的企业迫切需要一个能够支持在不同的应用系统之间完成协作任务的具有前瞻性的应用集成框架。 当前,企业面对的是一个多变且难以预测的市场,要在这样的环境中生存和

发展,就必需具备对外部变化做出迅速响应的能力。同样,政府部门也面临着转变工作职能,适应市场经济发展要求的压力,需要不断地为大众提供各种高效的公共服务。各项独立调查表明: 对业务系统和IT 基础设施进行快速调整和扩展一直是政府部门和企事业单位应对外部环境变化的重要手段。然而在早期的IT 系统设计过程中,人们往往更加关注于系统的稳定性而不是迅速应对变化的能力,原先那种僵硬的基于硬编码实现的系统功能扩展和集成方式已远远不能满足要求。“采用什么样的技术来搭建能够实现跨部门、跨企业、跨地理范围的支持流程协作和流程自动化的IT 基础设施”,“如何能够从被动地应对变化到预见变化进而实现前瞻性地主动变化”…这些都是当前每一个政府部门和企事业单位必须面对的挑战。 通过工作流系统把各业务部门的孤立应用系统整合起来是IT技术发展的必然趋势,而我国从上实际八十年代大量建设基础信息系统至今,工作流技术的发展可以分成以下几个阶段。 1.1.2发展阶段 1.1. 2.1EDF(电子数据流)阶段 此阶段的工作流在信息技术中的应用,仅着眼于利用信息技术减轻人们在流程中的计算强度最主要的特点是仅对企业单项业务进行处理,基本不涉及管理的内容。国内最早成功的产品是财务管理产品,为了配合产生正确的数据,可能要设计一个流程用来协调多个会计统计帐目。 此阶段仅仅停留在诸如文档处理、公文流转以及信息发布等这些简单的业务

activity工作流表结构分析

activity工作流表结构分析 activity工作流表结构分析 版权声明:本文为博主原创文章,未经博主允许不得转载。 1、结构设计 1.1、逻辑结构设计 Activiti使用到的表都是ACT_开头的。 ACT_RE_*: ’RE’表示repository(存储),RepositoryService接口所操作的表。带此前缀的表包含的是静态信息,如,流程定义,流程的资源(图片,规则等)。 ACT_RU_*: ‘RU’表示runtime,运行时表-RuntimeService。这是运行时的表存储着流程变量,用户任务,变量,职责(job)等运行时的数据。Activiti只存储实例执行期间的运行时数据,当流程实例结束时,将删除这些记录。这就保证了这些运行时的表小且快。 ACT_ID_*: ’ID’表示identity (组织机构),IdentityService接口所操作的表。用户记录,流程中使用到的用户和组。这些表包含标识的信息,如用户,用户组,等等。 ACT_HI_*: ’HI’表示history,历史数据表,HistoryService。就是这些表包含着流程执行的历史相关数据,如结束的流程实例,变量,任务,等等ACT_GE_*: 全局通用数据及设置(general),各种情况都使用的数据。 1.2、所有表的含义

序号表名说明 1 act_ge_bytearray二进制数据表 2 act_g e_property 属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录, 3 act_hi_actinst历史节点表 4 act_hi_attachment历史附件表 5 act_hi_comment历史意见表 6 act_hi_identitylink历史流程人员表 7 act_hi_detail历史详情表,提供历史变量的查询 8 act_hi_procinst历史流程实例表 9 act_hi_taskinst历史任务实例表 10act_hi_varinst历史变量表 11act_id_group用户组信息表 12act_id_info用户扩展信息表 13act_id_membership用户与用户组对应信息表 14act_id_user用户信息表 15. act_re_deployment部署信息表 16. act_re_model流程设计模型部署表 17act_re_procdef流程定义数据表 18act_ru_event_subscr throwEvent、catchEvent时间监听信息表 19act_ru_execution运行时流程执行实例表 20act_ru_identitylink运行时流程人员表,主要存储任务节点与参与者的相关信息 21act_ru_job运行时定时任务数据表 22act_ru_task运行时任务节点表 23act_ru_variable运行时流程变量数据表 2、表以及索引信息 2.1 二进制数据表(act_ge_bytearray) 2.1.1 简要描述 保存流程定义图片和xml、Serializable(序列化)的变量,即保存所有二进制数据,特别注意类路径部署时候,不要把svn等隐藏文件或者其他与流程无关的文件也一起部署到该表中,会造成一些错误(可能导致流程定义无法删除)。 2.1.2 表结构说明

工作流程的定义及工作流系统如何开发(精)

工作流程的定义及工作流系统如何开发 时间:2004-10-10 工作流就是: 在一个工作群组中,为了达成某一个共同目的而需要多人协力以循序或 平行工作的形式来共同完成的任务” 关于工作流的几个名词解释: 工作的流动性是一个人接着一个人执行,或同时由多人分开执行,或是上 述两类工作合并之后的混合性工作 泛指各种事务上所 必需执行的流程性 工作 循序或平行工作 若是单人就可以完 任务 多人

成的工作,则不能

归类为流程工作。 凡是一件工作必须 经由两个或更多人 来协力完成的工作 才能称为流程工作 多人参的流程性工 作,必须是以完成 共同目的为前提。 如果一群人是分别 共同目的 针对不同的专案来 执行各别的工作, 并不算构成一个工 作流程 工作流程的应用范围 在一般的组织活动中,有相当多数量的事务性工作可以被归类到流程性工作的范围里面,举例如下: 工作报表呈报流程

采购单 流程贷款审核流程 员工绩效考核 流程

各类报 表会签 流程 如何架构一个工作流程 首先要定义出在一个群组工作的环境下,所需要执行或控管的事务性工作性质 及其内容 根据所定义的工作内容,再将它分成许多子工作,或称为步骤。每个步骤都都 包含了在这个阶段所需要完成的项目清单,而且这些步骤内的项目应当是在逻 辑上适合在同一步骤内完成的。任何一件流程工作都会有许多不同的方法来分 解成许多子工作,而如何切割一个流程工作,则要根据实际的情况来做判断;决定各个步骤需要那些专业背景的人员来执行; 决定各个步骤在流程执行时的顺序; 在执行的过程中,有些步骤的执行会因为某些条件不同而产生不同的结果,进而影响到下一个步骤的执行。所以我们必须要找出这些特定的步骤,并且将相关的执行状态条件定义清楚; 将工作流程中的所有执行步骤及每个步骤之间的关系图画出来,并且根据这份关系图来验证流程的可行性。 根据各个步骤的不同需求,分别建立各阶段所需要的表单,工作指令,文件……等项目。 工作流系统开发一般的工作流管理系统由三个部分组成:工作流引擎、流程管理工

一种基于XML的工作流过程定义语言研究与应用

一种基于XML 的工作流过程定义语言研究与应用 李军怀 张 景 西安理工大学计算机科学与工程学院   摘 要 将工作流过程定义与 工作流执行相分离 提出了一种基于XML 的工作流定义语言 XML-WfPDL ?÷òa?????°êμ??μ??à1???ê???3?á?à?ó???ó????a·¢êμ??μ?ò???í?é?éó?úèí?t?μí3 工作流 模型 Research and Application of an XML-based Workflow Process Definition Language LI Junhuai, ZHANG Tong, ZHANG Jing, LIU Hailing (School of Computer Science and Engineering, Xi’an University of Technology, Xi’an 710048) Key words 15 2005年 8月 August 2005 1000 0053 A 中图分类号 工作流管理系统的主要目标是通过合 理地调用和分配有关的信息及人力资源来协调业务过程中的各个活动 它对于充分利用组织资源 以促使业务目标的高效实现有着重要的作用工作流是指整体或部分的业务过程在计算机 支持下的全自动或半自动化 用于定义 它和工作流执行者 推进工作流实例的执行工作流过 程模型 WfMS °′??1ú?ê1¤×÷ á÷1üàíáa??(Workflow Management Coalition 1¤×÷á÷??μ?ê? D??¢?òè???μ?1y3ì×??ˉ??DD 1¤×÷á÷í¨3£ê????ì?-×??ˉ?ˉ?ò°?×??ˉ ?ˉòμ??μ?1¤×÷á÷3ì 1¤×÷á÷μ?1y3ì?¨ò?ê??? ??òμ??1y3ìμ?D?ê??ˉ±íê? è?òμ??1y3ìμ??aê?oí???1ì??t 在设计人们逐渐意识到一个具有良好定义语义的形式化定义模型对分析 工作流定义语言作为实现工作流定义模型的主 要手段 常用的有有向图 PetriNet ?ùóú??ê? ì??tμ?D?ê?ó?????·¨±íê?ò??°?ùóú??±êμ??aê?±íê?μè ê1ó??§ ?ü1?ò?±è???±1?μ?·?ê???êμ?êμ?òμ??1y3ì??DD?¨?£ ê1ó?·?±?3ì?èò??°ò× DT??3ì?èμè·????÷2??àí? ò2ó|?ü1??èê?·??á11?ˉμ?1y3ì ò?±?′|àí?é?ü·¢éúμ?±??ˉ?°àyía?é?? WfMS 正在向大规模方向发展 可用性 2 XML-WfPDL 语言设计 WfMC 的主要目的之一是支持异构工作流管理系统与产品之间的互操作性 基金项目 计划基金资助项目 李军怀(1969—)?÷?D·??ò张 彤张 景刘海玲2004-06-26 E-mail

web应用框架-活字格工作流功能详解(下)

概述 本章节讲述了实际应用场景下如何灵活使用活字格工作流,包括工作流流程条的使用,以及工作流命令与批量工作流命令的设置。 业务场景描述 为了让大家能够在实际应用场景中理解工作流中的状态,普通流程,审批流程,以请休假管理模块为例,企业员工在提交请假申请单时,根据部门的不同判断是否需要经过人力资源部核准剩余年假,然后根据请假天数提交部门领导审批,部门领导审批状态为审批流程:小于3天,提交到部门副经理,小于5天,提交到部门经理,小于7天,公司副经理,小于10天,公司经理,大于等于10天,集团董事长,部门领导审批结束后提交人力资源部扣除年假流程结束。在流程流转到人资部结算时,设置提醒,要求提交给人资部结算1个小时以内每20分钟提醒一次,直到人资部结算提交流程。管理员可以随意将流程撤转到对应的环节上。 流程图如下: 请休假申请流程(包含普通流程+部门领导审批流程)

部门领导审批流程

工作流设置

通过上一章节流程功能点的讲解,配合流程图,我们可以将请休假流程在活字格中得以体现。在学习应用场景时,建议大家先学习了解下工作流中所有的功能,那样更方便大家针对特定流程去设计。 表和页面的创建在这里我就不为大家一一介绍了,直入主题,开启请休假表的工作流。在请休假表开启工作流时,表名后会带一个工作流的小图标。操作步骤如下: 1. 新建状态,整个工作流包含了起草,人资部核准,部门领导审批,人资部结算以及结束5个状态。其中起草,人资部核准,人资部结算,结束均为普通流程,部门领导审批为审批流程。

2. 如流程图所示,起草环节根据创建者的部门区分流转环节,若创建者部门=活字格开发部,提交人资部核准,担当者为人力资源部经理,,若创建者部门=活字格业务部,提交部门领导审批。此时就需要在条件中添加不同的分支。条件中选择创建者的扩展属性部门。 3. 当创建者属于活字格开发部时,提交给人资部核准,人资部正常提交给部门领导审批。普通流程后跟审批流程,不用设置担当者。

泛微OA系统表结构说明文档

表名表说明 T_Condition 报表条件 T_ConditionDetail 报表条件详细值 T_DatacenterUser 基层用户信息 T_FadeBespeak 调查退订表 T_fieldItem 调查项目表输入项信息 T_fieldItemDetail 调查项目表输入项信息详细 T_InceptForm 调查总表 T_InputReport 输入报表信息 T_InputReportConfirm 输入报表确认 T_InputReportCrm 可录入基层单位 T_InputReportItem 输入项信息 T_InputReportItemClose 输入项锁定 T_InputReportItemtype 输入项信息种类 T_OutReport 输出报表信息 T_OutReportCondition 输出报表条件项 T_OutReportItem 输出报表项定义 T_OutReportItemCondition 输出报表项中的条件信息 T_OutReportItemCoordinate T_OutReportItemRow 输出报表项中的行展开循环信息 T_OutReportItemRowGroup 输出报表项中第一列指定的客户信息T_OutReportItemTable 输出报表项中的表名信息 T_OutReportShare 输出报表共享信息 T_OutReportStatitem 明细报表报表统计项 T_ReportStatitemTable 明细报表数据库表信息 T_ResearchTable 调查表 T_ Statitem 统计项维护 T_SurveyItem 调查项目表 SMS_Message 短信信息表 HrmRoleMembers 人力资源角色成员表 HrmRoles 人力资源角色表 Prj_Cpt 项目资产表 Prj_ProjectInfo 项目基本信息表 Prj_ProjectStatus 项目状态表 Prj_ProjectType 项目类型表 Prj_T_ShareInfo 项目类型共享信息表 Prj_Task_NeedDoc 项目任务所需文档表 Prj_Task_NeedWf 项目任务所需流程表 Prj_Task_ReferDoc 项目任务参考文档表 Prj_TaskProcess 项目任务信息表 Prj_Template 项目模板信息表 Prj_TemplateTask 项目任务模板信息表 Prj_TaskTemplet_NeedDoc 项目任务模板所需文档表 Prj_TempletTask_NeedWf 项目任务模板所需流程表

工作流程的定义及工作流系统如何开发(精)

工作流程的定义及工作流系统如何开发 时间:2004-10-10 工作流就是: “在一个工作群组中,为了达成某一个共同目的而需要多人协力以循序或平行工作的形式来共同完成的任务” 关于工作流的几个名词解释: 工作的流动性是一个人接着一个人执行,或同时由多人分开执行,或是上述两类工作合并之后的混合性工作 任务泛指各种事务上所必需执行的流程性工作 循序或平行工作 多人若是单人就可以完成的工作,则不能归类为流程工作。凡是一件工作必须经由两个或更多人来协力完成的工作

才能称为流程工作 共同目的多人参的流程性工作,必须是以完成共同目的为前提。如果一群人是分别针对不同的专案来执行各别的工作,并不算构成一个工作流程 工作流程的应用范围 在一般的组织活动中,有相当多数量的事务性工作可以被归类到流程性工作的范围里面,举例如下: 工作报表呈报流程 采购单流程 贷款审核流程 员工绩效考核 流程 各类报 表会签 流程

如何架构一个工作流程 首先要定义出在一个群组工作的环境下,所需要执行或控管的事务性工作性质及其内容 根据所定义的工作内容,再将它分成许多子工作,或称为步骤。每个步骤都都包含了在这个阶段所需要完成的项目清单,而且这些步骤内的项目应当是在逻辑上适合在同一步骤内完成的。任何一件流程工作都会有许多不同的方法来分解成许多子工作,而如何切割一个流程工作,则要根据实际的情况来做判断; 决定各个步骤需要那些专业背景的人员来执行; 决定各个步骤在流程执行时的顺序; 在执行的过程中,有些步骤的执行会因为某些条件不同而产生不同的结果,进而影响到下一个步骤的执行。所以我们必须要找出这些特定的步骤,并且将相关的执行状态条件定义清楚; 将工作流程中的所有执行步骤及每个步骤之间的关系图画出来,并且根据这份关系图来验证流程的可行性。 根据各个步骤的不同需求,分别建立各阶段所需要的表单,工作指令,文件……等项目。 工作流系统开发

工作流系统功能介绍简化版

工作流系统功能介绍 目录 1概述 (2) 2流程系统设计总图 (4) 3建模工具 (4) 3.1组织机构管理 (5) 3.1.1主界面 (6) 3.1.2岗位管理界面 (7) 3.1.3部门管理界面 (8) 3.1.4员工管理界面 (9) 3.2权限管理 (10) 3.2.1主界面 (11) 3.2.2权限组管理界面 (12) 3.2.3权限设置界面 (14) 3.3流程管理 (14) 3.3.1流程管理主界面 (15) 3.3.2启动节点配置界面 (15) 3.3.3处理者配置界面 (19) 3.3.4流转条件配置界面 (19) 3.3.5控制节点配置界面 (20) 3.3.6子流程节点配置界面 (21) 3.4表单管理 (21) 3.4.1表单管理主界面 (22) 3.4.2选择用户控件界面 (23)

4工作流引擎 (23) 4.1基本功能 (23) 4.2任务节点类型 (25) 4.2.1启动节点 (25) 4.2.2结束节点 (26) 4.2.3交互节点 (26) 4.2.4子流程节点 (26) 4.2.5控制节点 (26) 4.2.6查看节点 (26) 5业务平台 (26) 5.1业务平台主界面 (27) 5.2例子:差旅费报销流程 (27) 5.3未认领任务 (29) 5.4已认领任务 (30) 5.5已完成任务 (30) 5.6查看流程图 (30) 6与门户sps系统的整合 (31) 7流程监控服务系统(即时消息和Email) (32) 1概述 随着计算机软件应用的普及,信息化系统发挥的作用也越来越大,企业信息化建设的不断深入,对系统功能和自动化程度要求越来越高。客户要求系统功能与实际的工作情景紧密结合,对每个业务环节的控制要求越来越精确。如何让我们的信息化系统更加贴近客户需求,满足客户不断变化的业务流程成了我们软件开发商不得不面对的问题。

工作流引擎(Workflow Engine )

工作流引擎(Workflow Engine ) 所谓工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。 工作流引擎(Workflow Engine ) 什么是工作流引擎(Workflow Engine ) 例如开发一个系统最关键的部分不是系统的界面,也不是和数据库之间的信息交换,而是如何根据业务逻辑开发出符合实际需要的程序逻辑并确保其稳定性、易维护性(模块化和结构化)和弹性(容易根据实际业务逻辑的变化作出程序上的变动,例如决策权的改变、组织结构的变动和由于业务方向的变化产生的全新业务逻辑等等)。 Workflow 引擎解决的就是这个问题:如果应用程序缺乏强大的逻辑层,势必变得容易出错(信息的路由错误、死循环等等)。 就好比一辆汽车,外表做得再漂亮,如果发动机有问题就只是一个摆设。应用系统的弹性就好比引擎转速方面的性能,加速到100 公里需要1 个小时(业务流程发生变动需要进行半年的程序修改)还能叫好车吗?引擎动不动就熄火(程序因为逻辑的问题陷入死循环)的车还敢开吗? 工作流解决方案与传统管理软件的关系 传统的管理软件注重解决企业应用层现存的问题(例如提高企业的资源配置率或提高单一员工的生产效率)。例如:EXCEL 可以提高员工画表格的效率、财务软件可以规范财务人员的工作并提高账目查询的效率、CRM 可以规范客户管理从而使客户资源掌握在公司手中而不是被一部分业务人员把持并提高客户响应时间、ERP 解决的是如何配置企业资源:使企业的人力资源、财力资源和物资资源能够根据业务的需求实现最大化配置。workflow 关注的是如何缩短流程闲置时间,从而提高企业的业务处理能力并使企业能够关注于真正对企业有意义的增值业务上。从建立企业神经系统的角度也许更能理解两者的区别。传统软件不能解决工作流的问题,例如ERP 关注的是企业的资源配置,但不可能解决资源传输过程中的损耗和降低传输(流程)的成本;同样workflow也不能完全解决传统管理软件所能解决的问题,例如对生产管理的MRP 系统所能解决的生产过程控制通过workflow很难实现。但一个好的传统软件如果希望能自动化地在整个企业

很详细的系统架构图-强烈推荐

很详细的系统架构图--专业推荐 2013.11.7

1.1.共享平台逻辑架构设计 如上图所示为本次共享资源平台逻辑架构图,上图整体展现说明包括以下几个方面: 1 应用系统建设 本次项目的一项重点就是实现原有应用系统的全面升级以及新的应用系统的开发,从而建立行业的全面的应用系统架构群。整体应用系统通过SOA面向服务管理架构模式实现应用组件的有效整合,完成应用系统的统一化管理与维护。 2 应用资源采集 整体应用系统资源统一分为两类,具体包括结构化资源和非机构化资源。本次项目就要实现对这两类资源的有效采集和管理。对于非结构化资源,我们将通过相应的资源采集工具完成数据的统一管理与维护。对于结构化资源,我们将通过全面的接口管理体系进行相应资源采集模板的搭建,采集后的数据经过有效的资源审核和分析处理后进入到数据交换平台进行有效管理。 3 数据分析与展现 采集完成的数据将通过有效的资源分析管理机制实现资源的有效管理与展现,具体包括了对资源的查询、分析、统计、汇总、报表、预测、决策等功能模块的搭建。 4 数据的应用 最终数据将通过内外网门户对外进行发布,相关人员包括局内各个部门人员、区各委办局、用人单位以及广大公众将可以通过不同的权限登录不同门户进行相关资源的查询,从而有效提升了我局整体应用服务质量。 综上,我们对本次项目整体逻辑架构进行了有效的构建,下面我们将从技术角度对相

关架构进行描述。 1.2.技术架构设计 如上图对本次项目整体技术架构进行了设计,从上图我们可以看出,本次项目整体建设内容应当包含了相关体系架构的搭建、应用功能完善可开发、应用资源全面共享与管理。下面我们将分别进行说明。 1.3.整体架构设计 上述两节,我们对共享平台整体逻辑架构以及项目搭建整体技术架构进行了分别的设计说明,通过上述设计,我们对整体项目的架构图进行了归纳如下:

工作流Activit介绍与应用

工作流Activiti介绍与应用 工作流(workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。我的理解就是:将部分或者全部的工作流程、逻辑让计算机帮你来处理,实现自动化。 1Activiti简介 Activiti是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理,工作流,服务协作等领域的一个开源,灵活的,易扩展的可执行流程语言框架。它实现了BPMN 2.0规范,可以发布设计好的流程定义,并通过api进行流程调度。 1.1A ctiviti基础编程框架 Activiti的基础编程框架如下:

Activiti基于Spring,ibatis等开源中间件作为软件平台,在此之上构建了非常清晰的开发框架。上图列出了Activiti的核心组件。 1.ProcessEngine:流程引擎的抽象,对于开发者来说,它是我们使用Activiti的外观(fa?ade),通过它可以获得我们需要的一切服务。 2.XXService(TaskService,RuntimeService,RepositoryService...):Activiti按照流程的生命周期(定义,部署,运行)把不同阶段的服务封装在不同的Service中,用户可以非常清晰地使用特定阶段的接口。通过ProcessEngine能够获得这些Service 实例。 1.2A ctiviti重要服务类 ProcessEngine:流程引擎的抽象,通过它我们可以获得我们需要的一切服务。RepositoryService: Activiti中每一个不同版本的业务流程的定义都需要使用一些定义文件,部署文件和支持数据(例如BPMN2.0 XML文件,表单定义文件,流程定义图像文件等),这些文件都存储在Activiti内建的Repository中。RepositoryService提供了对repository 的存取服务。 TaskService:在Activiti业务流程定义中每一个执行节点都被称作一个Task,流程运行过程中,与每个任务节点相关的接口,比如complete, delete,delegate等等都是TaskService提供的。 IdentityService: Activiti中内置了用户以及组管理的功能,必须使用这些用户和组的信息才能获取到相应的Task。IdentityService提供了对Activiti 系统中的用户和组的管理功能。FormService:Activiti中的流程和Task状态均可关联业务相关的数据。通过FormService可以存取启动和完成任务所需要的表单数据。RuntimeService:在Activiti中,每当一个流程定义被启动一次之后,都会生成一个相应的流程对象实例。RuntimeService提供了启动流程、查询流程实例、设置获取流程实例变量等功能。此外它还提供了对流程部署,流程定义和流程实例的存取服务。. ManagementService: ManagementService提供了对Activiti流程引擎的管理和维护功能,这些功能不在工作流驱动的应用程序中使用,主要用于Activiti系统的日常维护。HistoryService: HistoryService用于获取正在运行或已经完成的流程实例的信息,与RuntimeService中获取的流程信息不同,历史信息包含已经持久化存储的永久信息,并已经被针对查询优化。 关于ProcessEngine和XXService的关系,可以看下面这张图:

相关文档
最新文档