第1章,Workflow基础篇|什么是工作流?

535 阅读6分钟

什么是工作流,为什么需要它?

想象一下,让您的应用程序具有工作流的强大功能 -使您能够根据流程模型制定人员到应用程序流程,该流程模型指定谁必须执行活动以及以什么顺序执行活动。通过 西门子Mendix 工作流程,可以实现工作分配机制,确保将人机交互任务分配给正确的人。

Workflow 是 Mendix Studio 和 Studio Pro 中的一种可视化语言,可让您构建可扩展的流程。它与其他可视化语言完全集成,例如微流编辑器和页面编辑器。创建页面或微流程时,您可以使用工具箱中的专用元素。对于工作流程,您也将使用专用工具箱。它由特定于工作流的元素组成,允许在需要时使用与页面和微流相关的功能。

工作流程也基于明确的建模符号。使用相同的符号作为主干可以避免在解释与流程相关的概念以及如何建模这些概念时产生歧义。

您可能想知道,工作流程与微流程有何不同?虽然由多个活动组成的微流通常作为单个事务执行,但工作流允许您指定由各种角色执行的任务并在任务之间暂停,直到提供所需的输入。

并非工作流中的每个步骤都需要人工交互,它可能包括使用微流自动执行的任务。因此,工作流程是一个总体保护伞,让您可以从现有的微流程中受益,并允许您在每个步骤中指定客户端交互的样子。您可以更进一步,在您选择的时候使用工作流来编排不同角色的各种应用程序之间的交互!是不是很神奇?!

要开始使用工作流而不迷失方向,我们需要介绍几个概念。为了释放工作流的力量,我们将专注于一个用例,让您可以将这些概念与现实生活中的示例联系起来。那么,让我们先介绍一下用例吧!

我们用例的工作流程

可以利用工作流力量的最佳场所之一是在入职流程中。它通常有点复杂,需要在不同时间从各种来源输入,并且需要管理。因此,让我们假设您需要构建一个员工入职流程并连接所有步骤,并且您希望尽可能地自动化它。

首先,人力资源专家需要启动新员工的入职流程。然后,员工的经理将介入并为员工选择设备。之后,经理需要指定新员工是否在家工作。然后,设施部门将需要准备一个工作空间。根据新员工的工作地点(办公室或家中),设施部门将安排一张办公桌或将设备运送到员工的地址。

image.png

如您所见,需要做出一些步骤和一些决定。以前在 西门子Mendix 中,这些步骤中的每一个都可以通过创建各种页面、微流并将它们相互链接来处理,但是由于工作流功能,我们可以在单个工作流中编排它们!

在此学习课程结束时,您将能够构建定义员工入职流程的工作流。您将有一个清晰的想法,您需要使用哪些元素来制作这样的工作流程。此外,您还将知道在何处以及如何触发此类工作流。最后但同样重要的是,您将体验到在执行工作流的各个步骤时在不同角色之间切换的动态。为了让您对您将取得的成就感到好奇,请查看下面的屏幕截图。在几个小时内,您就可以自己创建这样的工作流程!

我们将如何做?

使用工作流相对容易,但是有一些新元素和整体概念将使理解工作流更加容易!让我们试着让他们尽快得到解释。

要构建您的第一个工作流应用程序,您需要完成几个步骤:

  1. 首先,您将创建一个应用程序,使您能够使用工作流功能。在此学习课程中,您将学习如何从头开始制作这样的应用程序以及可以使用哪种解决方法来更快地设置它。
  2. 然后,您将发现工作流元素并学习配置它们。
  3. 就像您在创建页面或微流时一样,对于工作流,您还需要配置权限并配置应用程序安全性,您也将在此处进行操作。
  4. 最后但同样重要的是,您将设置演示角色并通过运行和预览应用程序来测试工作流。

因此,让我们发现您在创建应用程序和设置工作流时将使用的工作流提供的工具集。

工作流元素

工作流由可以从工具箱拖放到路径的元素组成。该路径表示从上到下执行任务的顺序。

image.png

每个新的工作流都只有一个 Start 活动 和一个 或多个 End 活动要指定启动活动执行后将执行哪些任务,您可以将用户任务系统操作添加到流中。

为了将流拆分为多个分支并指定执行工作流步骤的确切顺序,您可以使用通用元素,例如,允许您将流拆分为多个分支,从而暴露排他性或并行行为决策并行拆分元素分别。

重要的是要知道,您可以通过两种不同的方式实现独占行为。

指定角色通过按下按钮做出的决定可以通过向用户任务添加多个结果来实现。如果您需要在评估某个表达式后做出决定(可以根据您的需要复杂),那么使用 Decision 可能是更好的选择。

如您所见,在选择应用哪个解决方案之前,您需要知道您要实现的排他分支是由人工完成还是基于对条件的自动评估。

除此之外,您还可以使用Jump元素,通过直接进入其他工作流程步骤之一来跳过路径上的多个步骤。使用Jump元素,您可以在流程中跳回,以便再次重做路径上的任务。

所有提到的工作流程元素都可以在专用工具箱中轻松找到。

image.png

以下是所有元素的分类概述。使用以下类别:

  • 一般的
  • 用户任务
  • 系统动作

为了以正确的方式掌握和应用这些元素,我们在下一章中将详细来讲解这些元素的用途和场景。

有需要请关注本专栏,谢谢!