IBM BAW(原BPM升级版)使用教程第八讲
续前篇!
一、流程开发功能模块使用逻辑和顺序
前面我们已经对 流程、用户界面、公开的自动化服务、服务、事件、团队、数据、性能、文件各个模块进行了详细讲解,现在统一进行全面统一讲解。
在 IBM Business Automation Workflow (BAW) 中,流程开发是一个系统化的过程,涉及多个功能模块的协作与组合。以下将基于各个功能模块(流程、用户界面、公开的自动化服务、服务、事件、团队、数据、性能、文件)进行全面讲解,并阐述在流程开发中如何使用这些功能模块。我们将基于功能模块的使用逻辑和顺序,帮助您理解每个模块的作用以及它们如何协同工作。
1. 流程设计(Process)
流程 是业务流程的核心,用于定义任务的执行顺序、条件、事件、服务调用等。流程设计决定了自动化流程的执行路径。
1.1 使用流程设计的基本逻辑
-
流程建模:在 IBM BAW 中,首先通过 Business Automation Designer 创建和设计流程图。此步骤包括定义任务、任务流转路径、条件判断、事件处理等。
-
流程元素:常见的流程元素包括:
-
任务(Activity):定义流程中的操作,可能是用户任务或系统任务。
-
网关(Gateway):用于流程分支,定义条件判断(例如,条件网关、并行网关等)。
-
事件(Event):定义触发流程或任务的事件,例如开始事件、中间事件、结束事件等。
-
-
流程控制:通过网关和条件判断控制流程路径,确保流程在不同条件下的流转。
1.2 流程设计的步骤
-
步骤 1:定义流程任务(如审批、任务分配、业务操作等)。
-
步骤 2:设置任务之间的顺序关系,通过连接线设置流程路径。
-
步骤 3:使用网关定义流程的条件分支。
-
步骤 4:插入事件来触发或结束流程(例如,时间事件、信号事件等)。
-
步骤 5:定义流程的数据输入输出和变量。
2. 用户界面(User Interface)
用户界面 主要用于创建用户任务中的表单界面。它使得业务人员能够与流程进行交互,输入数据、审批任务、查看文档等。
2.1 用户界面使用逻辑
-
创建任务表单:在流程设计中,用户任务需要一个表单界面来呈现给任务的执行者(例如审批人员)。用户界面可以通过 Form Designer 进行设计,使用低代码方式添加字段、按钮等。
-
动态表单:用户界面中的字段可以根据业务逻辑动态生成或调整。例如,可以根据某个任务的执行状态或用户输入的数据,动态展示不同的表单内容。
-
表单绑定:表单中的数据字段与流程中的 流程变量 和 业务对象 进行绑定,确保表单中的数据能够正确地传递到流程中,或者流程中的数据能够显示在表单中。
2.2 用户界面创建步骤
-
步骤 1:定义用户任务(如审批、信息录入等)。
-
步骤 2:为用户任务创建表单,选择表单字段和控件。
-
步骤 3:将表单中的字段与流程变量或业务对象进行绑定。
-
步骤 4:通过表单展示数据,并设计用户输入的数据流。
3. 公开的自动化服务(Public Automation Services)
公开的自动化服务 是指在流程中定义并公开的服务,它们可以通过外部系统或用户访问和调用。
3.1 自动化服务的使用逻辑
-
定义服务:在 IBM BAW 中,可以定义 自动化服务(如 REST 服务、Web 服务等)来提供自动化的功能。这些服务可被流程中的任务调用,也可以由外部系统访问。
-
服务暴露:服务可以是公开的,也可以是私有的。公开的自动化服务是指可以被外部系统访问的服务,通常用于跨系统的集成和数据交换。
3.2 服务的创建与调用
-
步骤 1:定义所需的自动化服务,并配置其接口(如 REST API、Web 服务)。
-
步骤 2:在流程中调用公开的服务,使用 服务任务 来执行服务操作。
-
步骤 3:在流程执行过程中,将服务的输入参数与流程数据绑定,获取服务的返回值并处理。
4. 服务(Services)
服务 是流程自动化的核心组成部分,它能够执行流程中的任务、计算、调用外部系统或处理业务逻辑。
4.1 服务的使用逻辑
-
服务的开发与集成:开发人员可以为流程创建自定义服务,例如数据库查询、外部API调用、文件处理等。服务可以是 系统服务(自动化任务)或 外部服务(与其他系统交互)。
-
服务调用:在流程设计中,通过 服务任务 或 调用活动 调用服务,执行任务中的自动化操作。
4.2 服务创建与调用步骤
-
步骤 1:开发和定义自定义服务(如 API 调用、数据库操作、外部接口集成)。
-
步骤 2:在流程中创建 服务任务,调用定义好的服务。
-
步骤 3:根据需要传递参数并处理返回值。
5. 事件(Events)
事件 在流程中用于触发、暂停、恢复或结束流程。事件可以是 开始事件、结束事件、中间事件 等。
5.1 事件使用逻辑
-
定义触发条件:事件用于在流程中插入特定的触发条件。例如,可以定义 时间事件,在特定时间点触发流程;或者使用 消息事件 来等待外部系统的响应。
-
事件类型:
-
开始事件:启动流程实例。
-
结束事件:结束流程实例。
-
中间事件:在流程执行中间插入,用于等待外部事件或触发特定操作。
-
5.2 事件使用步骤
-
步骤 1:根据流程需求定义事件类型(开始、结束、中间)。
-
步骤 2:配置事件的触发条件(如时间、消息、信号等)。
-
步骤 3:将事件与流程中的任务、服务等进行关联。
6. 团队(Teams)
团队 在流程中定义了任务的执行者,通常由用户、用户组、或服务组成。
6.1 团队使用逻辑
-
任务分配:流程中的任务需要分配给 用户 或 组。可以基于角色、业务需求、用户属性等进行任务分配。
-
权限管理:通过团队配置,流程设计人员可以指定谁有权限执行特定的任务和访问特定的数据。
6.2 团队配置步骤
-
步骤 1:定义团队成员(用户或用户组)。
-
步骤 2:设置任务的权限和角色,确保任务分配符合业务需求。
-
步骤 3:通过任务分配规则将任务分配给合适的团队。
7. 数据(Data)
数据 在流程中用于存储、传递和操作信息,如 流程变量、业务对象 等。
7.1 数据使用逻辑
-
数据模型设计:通过 业务对象 定义业务数据的结构,例如订单信息、客户信息等。流程变量则用于在任务和流程之间传递临时数据。
-
数据绑定:在流程设计中,用户界面字段、服务输入输出和流程变量之间进行数据绑定,确保数据流动和一致性。
7.2 数据管理步骤
-
步骤 1:定义业务对象和流程变量。
-
步骤 2:在任务和服务之间绑定数据,确保信息的传递和存储。
-
步骤 3:根据流程逻辑更新和修改数据。
8. 性能(Performance)
性能 监控是确保流程执行效率的关键。通过跟踪和监控性能指标,开发人员可以优化流程执行。
8.1 性能监控逻辑
-
监控工具:通过 Performance Monitoring,开发人员可以查看流程执行的性能数据,如执行时间、资源消耗等。
-
性能优化:根据监控数据,调整流程中的任务顺序、服务调用等,优化流程效率。
8.2 性能监控步骤
-
步骤 1:启用 性能监控工具,配置监控指标。
-
步骤 2:分析监控数据,识别瓶颈。
-
步骤 3:根据分析结果优化流程和任务。
9. 文件(Files)
文件 在流程中用于存储、传递和操作文件,如用户上传的文件、生成的报告等。
9.1 文件使用逻辑
-
文件上传与下载:通过 Web 文件 或 服务器文件,用户可以在流程中上传或下载文件。
-
文件存储:生成的文件可以存储在服务器文件系统中,供后续流程或外部系统访问。
9.2 文件处理步骤
-
步骤 1:设计文件上传或下载任务,定义文件的存储位置和格式。
-
步骤 2:通过流程中的任务处理文件(如生成报告、检查文件内容等)。
-
步骤 3:确保文件在流程中的传递和存储符合业务需求。
总结
在 IBM BAW 中,流程设计 是整个开发的核心,围绕着 流程、用户界面、服务、事件、团队、数据、文件 等模块进行开发和优化。通过 低代码设计器 和 集成的开发工具,业务人员和开发人员可以高效协作,快速响应业务需求的变化。开发人员通过定制服务和工具包实现业务流程的自动化,而业务人员则可以根据需求灵活调整流程,确保业务与 IT 之间的高效协作。
二、如何灵活使用各个模块
IBM BAW 提供的功能模块就像 积木 一样,用户可以根据 实际业务需求 和 流程目标 灵活地进行组合和使用。这种 模块化 的设计理念使得流程开发非常灵活且易于调整,同时也支持不同角色的协作。业务人员、流程设计人员和 IT 开发人员都可以在自己的领域内发挥作用,并共同构建出符合业务需求的自动化流程。
1. 灵活组合的核心理念
在 IBM BAW 中,所有的功能模块都可以根据需要独立使用,也可以与其他模块相互组合,以构建出一个完整的业务流程。这种灵活性使得每个功能模块既可以单独发挥作用,又能与其他模块无缝集成,满足不同层次和不同角色的需求。
2. 模块化积木的使用
-
流程模块:业务流程本身是流程自动化的核心,开发人员和业务人员可以使用 流程设计工具 将任务、条件、事件等元素按需组合,设计出符合业务需求的工作流。每个流程模块都可以独立调整,业务人员也可以直接参与到流程的设计中。
-
用户界面模块:通过 用户界面设计工具,业务人员可以根据任务需要创建和调整表单,修改输入字段和显示内容。表单控件可以与流程变量绑定,确保数据的流动和展示。
-
服务模块:开发人员可以将常用的业务逻辑封装成自定义的 服务模块,例如查询、计算、外部接口等服务,业务人员在流程设计时可以通过简单的配置调用这些服务,而无需了解技术细节。
-
数据模块:通过 业务对象 和 流程变量,数据可以在流程中传递和管理。开发人员定义数据模型,而业务人员则可以通过界面灵活配置数据输入和输出。
-
事件模块:业务流程中,事件模块用于 触发 或 暂停 流程的执行,事件可以是外部系统的响应、时间的推移、或其他条件的触发。事件的组合可以帮助在流程设计中实现更复杂的逻辑和条件判断。
-
团队模块:通过 团队配置,任务可以分配给 用户 或 用户组,并定义任务的执行权限和分配策略。不同的团队成员(如业务人员、审批人员等)可以通过任务和事件进行协作。
-
文件模块:在流程中,文件可以用于存储和传递数据,例如上传的文档、生成的报告等。文件模块与其他模块(如用户任务、服务等)结合,支持文档处理和文件流转。
-
性能模块:通过 性能监控 和 跟踪 功能,流程的执行效率和资源消耗可以得到实时监控,为流程的优化提供数据支持。
3. 如何灵活使用这些功能模块
以下是一些常见的使用案例,展示如何根据不同业务需求灵活组合这些模块:
案例 1:审批流程
-
流程模块:定义审批流程,包括多个任务(如“部门经理审批”、“财务审批”),每个任务之间通过条件网关进行分支。
-
用户界面模块:为每个审批任务设计动态表单,收集审批意见和附件(如发票)。
-
服务模块:调用外部系统服务查询订单状态、库存等。
-
数据模块:在流程中传递订单信息和审批结果,使用流程变量保存审批意见。
-
事件模块:使用时间事件,在审批未完成时自动提醒相关人员,或使用信号事件触发后续流程。
-
团队模块:将审批任务分配给不同的审批人员或审批组。
-
文件模块:支持上传文件(如发票)和存储生成的报告。
-
性能模块:监控审批流程的执行时间,查看哪些环节可能造成瓶颈。
案例 2:订单处理流程
-
流程模块:设计订单处理流程,包含“订单确认”、“库存检查”、“发货”三个主要任务,任务间通过条件判断和服务调用进行流转。
-
用户界面模块:为“订单确认”任务设计表单,收集订单的详细信息,并让订单负责人确认订单内容。
-
服务模块:通过调用外部库存查询服务,检查订单商品的库存情况。
-
数据模块:使用业务对象存储订单信息(如客户信息、商品详情、支付方式等)。
-
事件模块:使用消息事件监听外部系统(如支付系统)的支付结果,触发发货任务。
-
团队模块:将不同任务分配给相关团队成员,如订单确认由销售团队负责,库存检查由仓库团队负责,发货由物流团队负责。
-
文件模块:上传和存储订单文件(如订单确认书),并生成出货单。
案例 3:客户服务管理流程
-
流程模块:设计客户服务流程,包含“客户信息收集”、“问题诊断”、“解决方案提供”任务,任务间使用条件网关进行分支。
-
用户界面模块:为“客户信息收集”任务设计表单,收集客户信息(如问题描述、联系方式等)。
-
服务模块:调用外部客户支持系统的服务,获取客户历史记录和问题相关信息。
-
数据模块:使用业务对象存储客户信息和问题记录。
-
事件模块:设置时间事件,当客户问题未解决时自动提醒客户服务人员进行跟进。
-
团队模块:将不同任务分配给客户服务团队、技术支持团队、解决方案团队等。
-
文件模块:支持上传和存储客户提供的相关文档,如屏幕截图、故障描述等。
4. 灵活性与自主性
由于 IBM BAW 提供的各个功能模块是相对独立的并且可以灵活配置,业务人员、流程设计人员和 IT 开发人员都能够根据实际需求定制和调整流程。例如:
-
业务人员可以在低代码设计器中自己调整表单字段、任务顺序、条件判断等,甚至在流程执行过程中对任务进行调整。
-
流程设计人员可以将 IT 开发人员提供的自定义服务(如 Web 服务、API 调用等)集成到流程中,并根据业务需求设计流程逻辑。
-
IT 开发人员则可以专注于提供服务、接口和集成,满足业务流程所需的自动化功能,而不需要深入了解具体的业务流程。
总结
通过 模块化设计,IBM BAW 为流程开发提供了高度的灵活性和可配置性,业务人员、流程设计人员和 IT 开发人员可以在各自的角色中高效协作,快速响应业务需求和变化。通过合理组合 流程、用户界面、自动化服务、服务、事件、团队、数据、文件 等功能模块,开发团队能够快速构建和优化业务流程,提高流程的效率和适应性。这种灵活的模块化设计不仅提升了开发效率,也增强了业务人员对流程的控制能力。
三、业务人员、流程设计人员、IT 开发人员如何紧密协作
IBM BAW(Business Automation Workflow)平台中可以实现 业务人员、流程设计人员、IT 开发人员 之间的紧密协作,从而高效地完成业务流程的开发和优化。以下是对这一协作模型的详细阐述,解释如何利用 IBM BAW 的功能模块来实现这种协同工作:
1. 流程设计人员与业务人员(业务专家)的协作
在 IBM BAW 中,流程设计人员和业务人员(尤其是业务专家)可以通过系统提供的图形化界面共同参与到流程的设计和调整中来。这样不仅能提高流程的效率和准确性,还能使得流程更加贴合业务实际需求。
1.1 业务人员如何参与流程设计
-
图形化流程设计:IBM BAW 提供了 Business Automation Designer(业务自动化设计器),这是一个图形化界面,业务人员(特别是业务专家)可以通过它参与流程的设计,尤其是简单的业务逻辑、决策点、任务分配等部分。在这个界面中,业务人员可以用拖拽的方式来创建流程图,设定任务的流程、条件分支、事件等。
-
用户界面构建:业务人员可以通过 IBM BAW 提供的低代码界面,设计 用户任务 和 表单界面,这对于那些需要频繁调整和反馈的业务流程非常有帮助。例如,业务人员可以直接创建用户界面表单,用于任务执行时的数据输入和交互。
-
业务逻辑与流程协作:在流程图的构建过程中,业务人员与流程设计人员共同讨论流程的步骤和任务,通过集中的协作,快速明确哪些步骤是业务人员关注的核心任务,哪些是自动化服务或 IT 开发人员需要提供的服务。
1.2 如何在设计过程中进行交互
-
面对面交流:IBM BAW 提供了一个统一的流程设计工具,设计人员和业务人员可以通过系统直接进行面对面的交互讨论,调整流程图、表单、用户界面和事件处理等。业务人员可以实时提供反馈,流程设计人员根据需求调整流程设计。
-
低代码工具的使用:通过低代码工具,业务人员可以自己进行简单的流程调整,如修改任务流转、添加用户界面字段、调整数据映射等。这不仅减少了对 IT 开发人员的依赖,还提升了业务人员的参与度和灵活性。
2. IT 开发人员的角色:定制服务与模块化开发
IT 开发人员在流程开发中的角色通常集中在定制化服务的开发和流程扩展部分。开发人员不需要深入到业务流程的具体细节,而是根据业务人员和流程设计人员提供的需求,开发所需的 自定义服务 和 Toolkit,然后将这些服务与业务流程结合,形成最终的工作流。
2.1 自定义服务(如自定义Toolkit)
-
Toolkit的开发:IT 开发人员根据业务需求开发自定义的 Toolkit,例如创建数据服务、业务规则服务、外部系统接口等。开发人员通过 Java 或 REST API 等方式实现这些服务,然后将其封装为自定义工具包。
-
集成到流程中:一旦自定义服务开发完成,流程设计人员就可以在流程设计器中调用这些服务,将它们集成到流程中。这种方式使得开发人员的工作更加模块化和独立,他们只需关注服务的开发和优化,避免深入涉及具体的业务流程设计。
2.2 服务的配置与定制
-
服务配置:在 IBM BAW 中,开发人员可以创建多种类型的服务(如 Web 服务、REST 服务、外部服务)以支持业务流程的自动化执行。IT 开发人员与业务人员的沟通可以集中在服务功能和数据接口的设计上,开发人员根据业务需求定制服务接口、处理逻辑等。
-
松耦合架构:IBM BAW 提供的松耦合架构使得开发人员可以专注于服务的开发而不需要频繁干预业务流程的设计。这样,流程设计人员和业务人员能够保持较高的自主性,同时又能依赖于开发人员提供的稳定和定制化的服务。
3. 协作流程:业务人员与流程设计人员、IT开发人员的有效配合
IBM BAW 使得 业务人员、流程设计人员 和 IT 开发人员 能够有效协作,从而快速响应业务变化,优化流程。
3.1 流程的迭代与调整
-
业务人员主导流程调整:由于 IBM BAW 提供了强大的低代码设计能力,业务人员可以在流程运行的过程中,根据实际业务情况自行调整某些流程组件。例如,他们可以在流程图中调整任务的执行顺序,修改表单字段,更新流程逻辑等。这样,业务人员能直接参与到流程的持续优化中,而不需要每次都依赖于 IT 开发人员。
-
IT 开发人员支持复杂任务:对于需要自定义或复杂逻辑的部分(如复杂的计算、外部系统调用、集成等),IT 开发人员负责开发相关的服务或工具包,并将其集成到流程中。这使得业务流程能够灵活地应对变化,同时保证系统的稳定性和功能的完整性。
3.2 自定义服务与业务流程结合
-
模块化设计:开发人员可以将开发的服务作为独立模块集成到流程设计中,避免每次业务调整都需要修改流程本身。业务人员可以通过流程设计器配置任务、服务和事件,而开发人员只需要关注后台的技术实现。
-
服务调用与数据共享:在流程设计中,调用自定义服务时,业务人员可以通过简单的配置实现对数据的共享和交换,而不需要深入了解服务的具体实现方式。这降低了业务人员对 IT 技术的依赖,提高了业务人员对流程的控制能力。
4. 业务人员如何在实际业务中自主管理和调整流程
通过 IBM BAW 的灵活设计,业务人员不仅可以参与到流程的设计中,还能够在流程运行中根据实际业务需求调整流程。
4.1 动态调整流程
-
流程调整:业务人员可以直接在 IBM BAW 系统中调整流程中的任务、事件和决策点。比如,某个业务流程由于特殊情况需要临时调整流程路径,业务人员可以通过简单的配置或调整来完成这些更改,无需依赖开发人员。
-
表单和数据调整:IBM BAW 提供了丰富的表单定制功能,业务人员可以根据需求添加或修改表单字段,调整数据输入输出的内容和格式。
4.2 与 IT 开发人员的协同
-
开发人员定制服务:IT 开发人员根据业务人员的需求,开发自定义的服务和功能模块,并提供接口供业务流程调用。例如,业务人员提出需要一个外部库存查询服务,开发人员负责开发该服务并将其集成到流程中。
-
模块组合与自定义:一旦服务被集成到系统中,业务人员可以通过 流程设计器 将这些服务进行组合,形成符合业务需求的流程,而开发人员不需要了解流程的具体业务逻辑。
5. 总结
通过 IBM BAW 的协同工作流程,业务人员、流程设计人员和 IT 开发人员可以实现以下目标:
-
业务人员:能够参与到流程设计中,调整流程、用户界面和表单,甚至在流程运行中根据业务需求进行灵活的调整。
-
流程设计人员:通过集中的图形化工具,设计和调整流程,并将自定义服务与业务需求结合,形成完整的自动化流程。
-
IT 开发人员:只需专注于开发必要的 自定义服务(如 Toolkit),并通过 REST API、Web 服务 等方式将服务集成到业务流程中,减少了对具体业务的关注,提高了开发效率。
这种协作模式使得企业能够快速响应业务需求的变化,并且让业务人员、流程设计人员和 IT 开发人员能够在各自的专业领域内发挥作用,最终形成高效、灵活的业务流程。
最后,到目前为止,基于IBM BAW 进行流程设计已经基本上讲完。本系列没有详细讲解如何开发一个流程,而是对流程开发中的各个功能模块进行了全面讲解,这是为了让流程设计人员、业务人员、IT开发人员能够理解这些模块之间的关系与作用,详细的流程开发实例请在本系列第一讲中提供的下载地址下载,里面包含了所需的开发环境和详细的教程,本系列是对该教程的补充。
未完,待续!下面是关于CASE及BAW管理方面的内容