简介
您在很短的时间内构建了很多功能,但到目前为止您只使用了西门子Mendix的默认功能。虽然这对简单的事情很有用,但您确实需要一些自定义逻辑来定期从HR REST检索信息。数字创新团队要求每天至少提取一次数据。如果急需新数据,他们还想要一个按钮来触发同步。一旦所有用户都被拉入系统,他们将需要区分本地创建的用户和导入的用户。西门子Mendix在这里为您提供了帮助,您所需要的只是一些微流程。
在接下来几章中,我们将学习:
- 什么是微流。
- 使用什么命名约定来命名您的微流。
- 您在微流中可用的元素。
- 哪些触发器可用于触发微流。
- 如何与微流中的数据进行交互。
- 如何调试微流。
因此,让我们开始探索西门子Mendix中自定义逻辑的工作原理!
什么是微流?
微流程是西门子Mendix允许您创建自定义逻辑的方式。这是一种表示代码的可视化方式。
代码和微流之间的最大区别在于微流是基于活动的。这些是图像中的蓝色矩形。您可以将这些活动与指令进行比较,但在某些情况下,它们更接近于功能。其他核心组件是拆分(与其对应的是合并)、事件、参数、循环和调用其他微流程。您还将找到处理数据、告诉运行时执行操作(例如从外部服务检索数据)或指示客户端执行操作(例如打开页面、关闭页面或下载文件)的活动.)
通过这些核心组件,西门子Mendix提供了一种图灵完备的语言,您可以在其中表达自己。这使您可以将一系列操作串在一起形成一个逻辑流。然后,此流程存储在您的西门子Mendix应用程序中,并一次执行一个活动。
微流由运行时执行。在开始执行时,运行时启动与数据库的事务。在微流结束时,事务被提交。如果在任何时候微流遇到错误,整个微流都会回滚。如果您的微流包含对子微流的调用,则运行时会在子微流的开始和结束处设置一个保存点。这意味着所有子微流都将在根微流的事务中运行。
如果默认提供的操作还不够,您可以随时向 Marketplace 寻求包含其他操作的模块。这些操作是用 Java 实现的,您可以将模块添加到您的项目中。该模块包含这些操作的完整 Java 源代码。这些操作使用与内置操作相同的界面,因此西门子Mendix编写的 Activity 与您从 Marketplace 下载的 Activity 之间没有区别。如果没有一个模块为您提供所需的操作,您始终可以使用 Java 编写自己的操作。这些 Java 操作的源文件与您的项目一起存储,并在您部署应用程序时进行编译。
在图像中,您可以看到伪代码和微流之间的比较。微流程优于代码的好处是您可以更轻松地与非技术人员讨论微流程。他们不需要处理的任何复杂性都可以隐藏在子微流或 Java 操作中。
命名约定
就像在其他编程语言中一样,您希望为您的微流程起一个描述性的名称。Mendix 中的约定是包括触发微流的事件类型、正在处理的主要实体的名称以及正在执行的操作。该约定导致以下模板: {前缀} _ {实体} _ {操作} 。
也有例外,例如没有主要实体,或者有充分的理由使用不同的名称来提高可理解性。重要的是确保微流的名称清楚地表明其目的。
要轻松查找和识别微流的目的,您可以使用标准前缀。随着我们学习本模块的进展,我们将介绍您需要的前缀。如果您好奇,该文档包含微流的标准前缀列表。
从 HR REST 服务中检索员工和部门
现在您已经知道微流是什么样子以及应该如何命名它们,您就可以创建您的第一个微流了。我们将从一个简单的活动开始。
-
在 App Explorer下,右键单击 Import文件夹,单击Add microflow 并将其命名为 ACT_Department_Employee_ImportFromRest。
-
查看您的新微流,转到Toolbox,找到 Call REST Service 活动并将其拖到微流中的流上。
-
双击活动并将 “常规 ”选项卡 中 的“位置”设置为: http://localhost:8079/rest/hospitalhr/v1/department。****
请注意,如果您更改了 MockHrService 中的端口号,则此 URL 可能会有所不同。请参阅 MockHrService中的 HospitalHr REST 服务 以 找到正确的 URL。****
-
转到 HTTP 标头 选项卡并添加 自定义标头 ,其中 键 设置为 Accept, 值 设置为“application/json”。由于这是一个字符串,因此将其用单引号括起来很重要。
-
转到 Response 选项卡并将 Response handling设置 为 Apply import mapping。
- 将 导入映射设置 为 ImM_ Department_Employee。
- 确保Commit设置为Yes 而不是Yes without events。这将在以后变得重要。
- 单击确定。
- 要导入数据,请在导航菜单中添加一个名为“导入 HR 数据”的新项目,以触发此微流程。您可以 为此导航菜单项使用导入图标。
完美,已经完成了你的第一个微流!你在构建它时看到那个蓝点出现了吗?这就是 Mendix AssistLogic Bot,可以帮助您构建微流程的 AI。让我们看看 Logic Bot 能为您做什么。
西门子Mendix AssistLogic Bot
Mendix Assist Logic Bot 是一个人工智能驱动的代理,可帮助您在西门子Mendix Studio 中配置微流程。它使用机器学习分析来推荐微流中的下一步,并使用深度学习来检测微流中的最佳实践模式。此外,Mendix Assist Logic Bot 不断学习、分析任何新的微流程,从而使开发新应用程序变得更加容易!您可以在此处找到有关 Mendix Assist 的更多信息。
它是如何工作的?
默认情况下,每个应用程序都有一个由人工智能驱动的虚拟共同开发机器人,称为 MxAssist Logic 机器人,指导您完成微流程的建模和配置。MxAssist Logic Bot 的主要特点是:
- 下一个最佳行动建议– 从 40 多个不同选项中推荐前五个下一个最佳行动
- 自动配置——不仅提供下一个最佳操作,而且通过预先填充此类操作的参数来自动化进一步的开发
- 上下文建议- 以不同方式派生上下文,包括当开发人员在流程中插入新元素或动作时在逻辑中左右“查看”,并使用使用逻辑的页面推断上下文
- 准确率高——模型的不断改进和训练已将准确率提高到 95%
基于上下文信息,例如微流的输入参数,即使在新的空白微流中,MxAssist 也会为您提供许多可供您选择的推荐操作。您无需花时间在工具箱中搜索建议的活动!通过从推荐活动列表中选择此活动,选择将导致此活动自动添加到您的微流中。
如果您想知道 MxAssist 是否有用,值得注意的是,目前 Studio Pro 的所有微流活动中约有 40% 是使用此机器人创建的!
让我们看看如何使用 MxAssist 建议。
在 Mendix Studio 中构建微流程时,您可以单击蓝点以显示建议。Mendix Assist 将为您提供许多关于下一步可以做什么的选项。
通过选择您要执行的操作,它将自动放置在您的微流中。
现在我们将关闭 Logic Bot,以便您可以学习如何自己构建微流,但随时可以打开它,看看它可能会提供什么建议!如果想留着,也没关系。无论如何,我们将讨论在哪里可以找到设置。
打开和关闭西门子Mendix 辅助逻辑机器人
- 单击Edit > Preferences...并取消选中 Enable MxAssist Logic Bot旁边的复选框,然后单击OK。您可以通过选中该框随时重新打开它。
接下来,让我们仔细看看用于构建微流的各个元素。
好了,今天我们学习了西门子Mendix里面的微流,下一章我们将带大家更深入的来了解微流里面的元素,还有如何进行Debug。图形化组件单步逻辑调试,好好期待吧!