`
eworkflow
  • 浏览: 219373 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

工作流软件中的那些事

 
阅读更多

对接口编程,为变化而设计,是面向对象编程的基本原则。工作流软件产品中的流程引擎的实现,主要是采用面向对象的设计原理。

 

工作流引擎负责对业务流程的抽象,对业务流程建模,以及业务流程的流转。在流程引擎中会设计一些基本的赋予一定意义的节点,组合这些节点给业务流程建模。

 

流程引擎负责解释这些节点,并通过面向对象的编程方式,每个节点对应一个类,节点的属性和方法均在类里面有所体现,表现为类的属性和方法。当流程实例运行时,在流程引擎中建立这些类对象的实例,实例化为业务流程的每个具体节点。

 

我们都知道,每个业务流程在运行时,都会有这样或者那样的特殊要求,例如,当财务经理审批通过报销单后,需要给报销申请人发送一个电子邮件,通知报销申请人,报销申请通过了;当一个保理结算模式的支付方的银行账户发生变化时,需要记录变化的轨迹。等等这些都可能是针对每个具体的业务流程有自己的特殊要求。在流程引擎中是不可预见的,或者说是具体的业务处理过程,和流程引擎无关。


为了适应这些变化,为变化而设计,我们设计了接口,每个业务流程中有特殊的业务处理过程,就写一个业务实现类,并实现这个接口。在业务实现类中写自己的业务处理过程。并将这些业务处理类挂接到流程的节点上,使得到达节点或者离开节点,会触发执行这些业务处理过程。流程引擎就负责解释这些节点,并调用这些节点上挂接的具体的业务处理类。当没有特殊需要的时候,即没有挂接业务处理类,则不处理。就象传统编程工具中控件的点击事件,变化事件,按键事件等一样。

 

在工作流软件产品中,事件分为两类:
前置事件:
 当流程实例到达一个节点的时候,触发前置事件。
 
 
后置事件:
 当流程实例离开一个节点的时候,触发后置事件。
 
 
在eworkflow工作流软件产品中,前置事件后置事件等在下面这些节点中都有体现:


步骤节点:步骤表示一个业务环节,当流程实例到达这个节点的时候,会触发他的前置事件。

 

动作节点:动作节点表示一个业务环节中需要处理的事情,如提交填写的报销单,执行审批通过等。执行一个动作,先触发动作中的前置事件,再执行流程的动作,再触发动作中的后置事件。

 

动作结果连线:执行完动作后,根据动作结果导向下一步,当动作执行完成后,先触发动作结果中的前置事件,再执行动作结果,再触发动作结果中的后置事件。

 

 

 

 

流程实例的流程,通过执行一个动作,动作结果导向另外一个步骤,这样来达到流程的一次流转。在流程的一次流转中,会涉及到流程的多个节点,步骤,动作,动作结果,设置,分支,合并 等等。


在一次流转中的各个节点的前置事件,后置事件,节点的办理顺序如下;

 步骤的后置函数-》动作的前置函数-》完成本步骤的任务-》检查动作结果中的条件(不成立则无条件结果)-》动作结果的前置-》 创建新的当前步骤(执行新步骤的前置函数)-》  动作结果的后置-》 动作的后置函数


流程实例的一次流转,节点中业务过程的办理,通过动作挂接的业务表单来实现,通常在工作流软件产品中都会集成一个可视化的可自定义的表单工具,通过表单工具可视化的制作业务表单。

 

在业务数据填写完成后,通过表单工具提交到表单引擎,表单引擎也设计了一序列的接口事件。表单的提交,就有前置事件和后置事件。

 

前置事件:
    表单数据提交之前自动触发的一序列函数,或者自定义的处理过程。
   
后置事件:
    表单数据提交之后自动触发的一序列函数,或者自定义的处理过程。
   


无论是工作流引擎还是表单引擎,在处理前置后置事件的时候,均需要将一些流程上下文或表单上下文的信息传递到事件中,使得业务处理类事件中,能方便的获得环境的上下文信息,例如,当前的执行人,流程的实例id,表单的业务记录id,甚至当前的数据库连接,使得业务处理类的数据库操作和流程或表单的处理过程是在同一个事务中。这点很重要,业务处理过程事件中,不能单独的去重新获得这些信息。否则这种业务处理过程剥离了流程处理过程,就没有意义了。

 

相信在不断的完善流程引擎表单引擎等的过程中,这些事件的设计和处理会变得更加完善和精确........

 

 

 

 

 

标签: web开发平台, java工作流, 流程设计器, 自定义工作流, web工作流, 自定义表单, 工作流引擎, dotnet工作流引擎, .net工作流, .net工作流系统

  • 大小: 30.4 KB
分享到:
评论
1 楼 daiqunbiao 2011-09-19  
您好,我是工作流初学者。看到您上面画的“修改步骤”为何是一个步骤,而不是一个动作,疑惑中......

相关推荐

    神州数码工作流软件(白皮书)

    #### 一、神州数码工作流软件概述 - **开发者**:神州数码管理系统有限公司。 - **性质**:一款基于Web的工作流管理软件系统。 - **目标**:通过数字化手段帮助企业实现对业务流程的有效管理。 #### 二、工作流与...

    工作流学习笔记-工作流语言

    在不同行业中,工作流软件应提供定制化的解决方案,例如在银行业和保险业中增强业务交互,制造业中提升生产灵活性,以及在流程变化时易于调整工作流。 综上所述,工作流语言是描述和控制工作流程的工具,涉及到流程...

    工作流资料+DEMO源代码

    在给定的资源中,“工作流资料+DEMO源代码”包含了一个名为“NetronLight工作流软件源码.rar”的压缩包,以及一份“工作流资料”,这为我们提供了一个研究和学习工作流管理系统实现的宝贵机会。 首先,我们来详细...

    工作流实例 工作流实例

    工作流实例是业务自动化中的一个重要概念,它涵盖了组织内各种任务、活动和决策的系统化管理,以确保流程的高效性和一致性。工作流实例是指在特定时间启动并按预定顺序执行的一系列工作流程活动。这些实例是根据预先...

    OA软件那些事之工作流引擎.pdf

    此外,工作流引擎也需要与办公软件(如Word、Excel)等协作,因为日常办公任务中常常需要使用到这些软件来处理文本、表格等数据。而ERP(企业资源计划)系统则包含了企业内部管理所需的各类应用,如财务、人力资源、...

    流程设计工具(工作流软件)

    在实际应用中,工作流软件可以集成到企业的其他系统中,如ERP(企业资源计划)、CRM(客户关系管理)等,实现业务流程的无缝连接。通过API(Application Programming Interface)或者服务化接口,可以与其他系统进行...

    软件开发工作流文档ppt

    在软件开发过程中,工作流文档是至关重要的,它确保了项目的高效、有序进行。这份“软件开发工作流文档PPT”涵盖了从需求分析到维护的整个生命周期,详细列出了各个阶段的任务、责任分配以及相关文档,以下是其主要...

    Java工作流源码

    总之,Java工作流源码的学习是一个深入了解业务流程自动化、提升软件开发效率的过程。通过熟悉BPMN标准、选择合适的工作流框架以及深入研究源码,开发者可以更好地理解和应用工作流技术,为企业信息化建设贡献力量。

    工作流小demo

    1. 工作流引擎:这是执行工作流模型的软件组件,如Activiti、Nintex或Flowable等。它们提供API和图形化工具来创建、启动和管理流程实例。 2. BPMN(Business Process Model and Notation):是一种标准化的流程建模...

    WorkFlow C++ 工作流图形

    工作流,简单来说,就是一系列按照特定顺序执行的任务或活动,它在企业管理、软件开发、流程自动化等领域中广泛应用。C++作为一门强大且高效的编程语言,非常适合构建这种复杂的系统。 该库的核心目标是提供一种...

    asp.net开发OA系统中的报销多级审批工作流(顺序工作流).doc

    工作流是一个软件系统中的一个非常重要的组件,它可以帮助我们自动化许多业务流程,从而提高工作效率和降低成本。在 asp.net 开发 OA 系统中,工作流可以用于实现报销多级审批工作流,例如员工提交报销表给经理,...

    普元EOS工作流教程

    普元EOS作为国内知名的企业级基础软件平台,提供了强大的工作流引擎,支持自定义工作流模型,满足企业多样化的业务需求。本教程将带你深入理解这一核心功能。 首先,教程会介绍工作流的基本概念,包括工作流的定义...

    工作流概述、工作流模式介绍

    - **工作流执行服务**:实现模型中定义的业务过程与现实世界中实际过程的连接,通过与应用软件、操作人员的交互完成。 - **核心功能**:包括调度、协调、监控等,确保工作流过程的正确执行。 ### 总结 工作流技术...

    php工作流引擎,可视化设计,兼容PHP8

    在IT领域,工作流引擎是一种用于自动化业务流程的软件系统,它可以帮助企业或组织实现复杂的业务逻辑和审批流程。PHP工作流引擎就是基于PHP编程语言实现的这种工具,旨在为PHP开发者提供一种高效、灵活的方式来设计...

    JIRA工作流介绍

    - 在“管理工作流”页面中选择“添加新工作流”以创建空白工作流。 - 复制现有的工作流作为基础。 - 手动创建XML格式的工作流定义,并导入到JIRA中。 #### 五、工作流步骤的管理 - **步骤管理**:在“管理工作...

    c#编写的工作流引擎

    工作流引擎是一种软件系统,它负责管理和自动化组织内的业务流程。在C#中编写工作流引擎,可以利用.NET Framework或.NET Core提供的丰富的类库和工具,实现高度灵活和可扩展的流程控制。本文将深入探讨C#实现工作流...

    OA软件那些事:工作流引擎.pdf

    OA软件那些事:工作流引擎.pdf

    介绍软件开发中的工作流&资料流

    在软件开发过程中,工作流和资料流是两个关键的概念,它们构成了项目的生命周期并确保软件产品的高效、有序开发。下面我们将详细探讨这两个方面。 一、工作流 工作流是指软件开发中的整个过程,从项目的启动到最终...

    工作流及工作流引擎简介

    工作流的定义多种多样,但大体上,它是指一组按照特定规则和顺序执行的任务,这些任务可以由人或软件系统完成,或者两者相结合。例如,Georgakopoulos的定义强调了任务的触发顺序和条件,而IBM Almaden Research ...

    工作流管理联盟工作流标准-工作流参考模型.pdf

    工作流系统则是用来管理、控制和监控这些任务的软件平台。 #### 2. **工作流模型组成部分** 工作流参考模型由以下主要部分组成: - **工作流执行服务(Workflow Enactment Services)**:负责执行具体的工作流...

Global site tag (gtag.js) - Google Analytics