> 文章列表 > Oracle_Workflow_Builder工作流工具详解(一)

Oracle_Workflow_Builder工作流工具详解(一)

Oracle_Workflow_Builder工作流工具详解(一)

  1. 简介
    1. 目标
  • WORKFLOW是oracle 公司的一个标准产品,它通过图形化的方式来表达业务处理过程。用户使用工作流可以灵活地定义或更改流程的结构。WORKFLOW是建立在数据库基础上的一个应用,它由后台的数据对象和前台的客户端程序组成。本文档主要介绍工作流的基本概念和开发中的注意事项。
    1. 范围

本文档主要介绍以下内容:

  • WORKFLOW BUILDER的安装
  • WORKFLOW BUILDER的使用
  • 工作流的组成
  • 工作流开发
  • CCMIS中的工作流开发
  1. workflow builder 安装
    1. 安装过程
      1. 安装

运行安装程序,在向导的提示下依次选择next按钮,直至完成。

      1. 更改字符集

开始->运行->regedit 编辑注册表,

点击F3或CTRL+F进行查找“NLS_LANG”

把其值以“AMERICAN_AMERICA”开始的替换为:AMERICAN_AMERICA.ZHS16CGB231280

对于其中键值为 “SIMPLIFIED CHINESE_CHINA.ZHS16GBK”的NLS_LANG不用替换。

    1. 安装注意事项

如果是奔腾4的机器,安装前,需要搜索系统中的symc*.dll,把其重命名为symc*.dll.bak使其不可用,否则无法正确安装,如是不是奔腾4机器则无需这步操作。

  1. workflow builder使用
    1. 菜单介绍
      1. File

New:新建一个工作流文件夹(对应一个.wft文件);

Quick start wizard:通过向导快速建立一个工作流文件夹;

Open:打开一个已存在的工作流文件夹;

Close store:关闭并保存已打开的工作流文件夹;

Save:保存已打开的工作流文件夹;

Save as:另存已打开的工作流文件夹;

Create shortcut:在桌面创建快捷方式;

Verify:检查工作流文件夹中已显示的工作流是否有落逻辑错误;

Show/hide item types:显示或隐藏工作流;

Load roles from database:从数据库中获得有效用户;

Exit:退出workflow builder。

      1. Edit

New:新建一个工作流,通知,属性等;

Copy:复制当前选中的工作流,通知,属性等;

Paste:粘贴已复制的内容

Delete:删除当前选中的工作流,通知,属性等;

Find:查找;

Find again:查找下一个;

Properties:属性;

Process details:显示工作流中流程图;

Move attribute:移动属性的上下位置。

      1. View

Font:更改显示字体;

Log:日志保存方示;

Show label  in designer:在工作流程设计窗口默认显示的信息;

Developer mode :更改当前的显示的方示为开发者模式;

      1. Window

Cascade:显示所有打开的窗口为层叠方式;

Title:显示所有打开的窗口为分块方式;

      1. help

content:显示帮助。

    1. 工具栏介绍

工作流对象浏览窗口

  新建工作流文件夹

  打开已有的工作流文件夹

  保存工作流文件夹

  删除当前所选择的工作流对象

  显示当前所选择的工作流对象的属性

  复制当前所选择的工作流对象

  粘贴当前所选择的工作流对象

  检查工作流文件夹中已显示的工作流是否有逻辑错误;

  更改当前的显示方示为开发者模式

  查找数据对象

  使用向导创建工作流

  帮助

  新建当前所选择的工作流对象类型的对象

工作流程编辑窗口

  打印工作流程图

  新建一个工作流程

  新建一个通知节点

   新建一个函数节点

新建一个函数 事件

   显示工作流对象的初始化标签

  显示工作流对象的内部名称

  显示工作流对象的显示名称

  显示工作流程中的流向

  显示工作流对象的执行人

  1. 工作流组成

工作流的流程主要由以下组件(Component)构成:工作流、流程、活动、函数、消息、通知和查找类型。工作流是一种分类对象,其它的对象都属于一个工作流。

    1. 工作流(Item Type)

企业的业务有很多类别,同一种业务对应有不同的业务流程,同时在业务流转的过程中处理不同的业务信息。工作流其实就相当于一个业务类型。

工作流属性主要是定义业务信息,另外还包含一些在其它对象需要引用的信息,例如通知里的接收人就可以作为工作流的属性。工作流的另外一项功能就是对工作流程进行分类 ,所有工作流里的其它对象都属于一个工作流。

    1. 活动(Activity)

活动是工作流程中的一个执行单元。活动有自己的结果类型,在运行时活动的实例会返回一个结果,工作流引擎会根据活动实例的返回结果决定业务流程如何流转。活动有三种类型:通知、流程和函数。另外还有一种类型“文件夹(Folder)”,文件类型主要是对活动进行分组,目前还不知道具体如何使用。

    1. 流程(Process)

流程就是业务流程的流转规则。流程包括两部分:流程里包含的活动和各个活动在不同条件下的流转关系。在定义流程的时候,因为流程里的活动可能有不同的返回结果,我们需要把不同结果的处理活动和结果联系起来,另外在Oracle ERP里还定义了一些标准的返回结果(例如超时),你在定义流程的时候,也可以对这些内嵌的返回结果进行处理。在流程实例流转的时候,流程里的活动有自己相应的状态,工作流引擎得到活动的状态改变信息或活动返回结果之后,按照你定义的流程流转规则控制流程的流转。流程必须属于一个工作流。

流程定义里有一个标志属性“是否可运行标志”,如果一个流程是可运行的,则可以在窗体上可以直接调用,否则该流程只能作为一个子流程包含在其它的流程里面,工作流引擎在碰到流程活动的时候,会自动激活子流程,让子流程流转。

    1. 消息(Message)

消息主要是为通知服务的,可以把消息当作通知的内容和类型。消息也属于一个工作流,通知只能和同一个工作流里的消息相关联。

每个消息可以有一个或多个属性和自己相联系,消息的属性既可以是独立的属性,也可以是对工作流属性的一个引用。在消息体内可以对消息的属性进行引用,这样在流程的实例里,如果已经对消息的属性赋值,则在引用消息属性的地方会自动的用消息属性的值替换。我们就可以在消息体内显示必要的信息。

你可以对一个消息定义自动流转规则,这样在工作流的实例里,当流转到和该消息对应的通知活动的时候,工作流引擎就会根据用户定义的自动流转规则自动向下流转,用户就不需要参与了。

    1. 函数(Function)

函数就是一个可以自动执行的活动,该活动可以完成一定的功能,函数活动通常和一个PL/SQL存储过程或者一个Oracle内部的过程联系在一起,在定义函数活动的时候必须定义该函数对应的过程名称。

函数类型的活动有自己的参数定义,函数活动的参数主要是为对应的过程服务的。在运行的时候通过给函数活动的参数赋值,经过相应的处理之后,工作流引擎就会把函数活动的参数值传给相应的过程,这样就能保证函数的正确执行。如果对应的过程没有参数的话,可以不定义参数。

    1. 事件(Events)

    1. 通知(Notification)

通知活动对一个人或一个角色发送一个通知,通知必须和一个消息联系在一起。通知活动有自己的结果类型,返回的结果一般是根据用户的交互产生的,除非你在消息里定义了自动流转规则。

    1. 查找类型(Lookup Type)

查找类型是你定义的一些枚举数据,工作流里的查找类型主要用来表达活动结果返回值类型,另外也可以在定义工作流属性、活动属性、消息和消息属性时引用查找类型,一个查找类型有自己相应的值列表,在引用查找类型的时候,你只需要定义查找类型就可以了,和查找类型相关的值会自动过去的。

  1. 工作流开发

工作流是使用Workflow Builder工具设计的。在使用Workflow Builder设计工作流之前,你应该计划好需要完成哪些流程以及流程里发生的活动、活动的顺序、需要哪些结果表达不同的分支以及流程里需要通知的人和通知的内容。

工作流的定义可以采用两种方式:从下往上或者从上往下。从上往下的方式首先从一个高层次流程开始设计,首先画出包含活动的流程图,然后再创建支持这些活动的对象。从下往上的方式是一个比较程序化的设计方式,你首先定义支持活动的所有对象,然后再尝试画出流程图。

    1. 创建流程定义
      1. 从下往上定义
  • 启动Oracle  Workflow Builder;
  • 选择File——〉New菜单为流程定义创建一个新的Workspace;
  • 创建一个新的单据类型(Item Type)
  • 你可以定义单据类型属性来完全描述你的单据类型,或者定义需要在活动里需要引用的信息;
  • 创建新的查找类型(Lookup Type):在定义活动之前,你应该先定义表示活动结果的查找类型,活动结果是活动完成时可能返回值的一个列表。在定义完活动和查找类型之后,你可以从浏览树上把一个查找类型拖拽到一个活动上来指定一个活动的结果类型;
  • 创建新的消息(Message):如果你希望为你的流程定义一个通知活动,你首先需要定义一个你希望通知活动发送的消息,你可以在浏览树里把一个消息拖拽到一个通知上来指定活动的通知类型。你也可以为消息定义属性,消息的属性有两种类型:“Send”类型的属性用来生成动态内容,“Response”类型提醒接收者进行响应。
  • 创建一个新的流程活动、通知活动或函数活动,你也可以使用在标准单据类型里定义的标准活动。你至少需要定义一个流程活动来表达你的流程图,流程图建立了流程里所有活动的关系。
  • 画流程图:显示流程活动的流程窗口,并画出工作流程里的活动以及活动之间的转移关系。你可以从浏览树里直接把活动拖拽到流程图里。
  • 选择“File——〉Save”或“File——〉Save As”保存你的工作
  • 在数据库里创建函数活动调用得PL/SQL存储过程
      1. 从上往下定义
  • 启动Oracle  Workflow  Builder
  • 使用快速启动向导为你的流程定义建立一个框架,指定新单据类型和流程活动所需要的信息。
  • 在流程窗口里会出现一个开始节点和结束节点,你可以在开始节点和结束节点之间增加流程需要的活动
  • 在流程图里画出活动之间的流转关系
  • 保存你的工作
      1. 打开保存单据类型

所有的流程都是和单据类型联系在一起的,一个单据类型下面可以有多个流程。你可以把单据类型定义保存到一个数据库或一个文件,当你保存单据类型时,所有和单据类型联系的对象页同时保存。同样,你也可以从数据库或文件里访问单据类型,并把和单据类型相关的对象在Oracle Workflow Builder里显示。

        1. 访问保存的流程定义
  • 启动Oracle Workflow Builder,并选择“File——〉Open”;
  • 选择保存工作流程定义的类型:文件或数据库
  • 打开一个文件是可以输入该文件的完整路径和文件名,并选择Ok按钮,或者使用浏览按钮来定位文件;
  • 打开数据库连接的话,输入用户名和口令,并输入数据库别名或连接字符串并单击OK按钮;
  • 如果同时有多个单据类型存在的话,显示单据类型窗口就会出现,从隐藏列表里选择一个
  • 如果你想查看或修改隐藏的的单据类型,你可以从浏览树上从双击隐藏单据类型来选择;
  • 当你完成工作之后,选择“File——〉Save”菜单,保存你的修改信息。
        1. 保存修改信息
  • 在Oracle Workflow Builder 里选择“File——〉Save”命令保存你的修改,并使修改立即生效。当你使用保存命令的时候,在当前的数据存储里保存了所有对象的修改信息,如果只想保存一个特定的单据类型,你需要创建一个新的数据存储,并把这个单据类型复制到新的数据存储里保存。
  • 如果你想把单据类型存放到另外一个数据存储,或者想保存和当前系统不同的另外一个生效的数据,你可以使用“File——〉Save as”命令
  • 注意,当你保存你的工作的时候,Oracle Workflow会自动验证流程定义里无效或缺失的信息,并把它显示出来,你可以根据提示的信息修改错误也可以先保存等有时间的时候再修改。如果你没有改正错误就保存,那么在你重新打开的时候,Oracle Workflow Builder还会报错
  • 选择“File——〉Close Store”关闭和数据存储的连接
  • 推出Oracle Workflow Builder。