逻辑
如何向我的应用程序添加逻辑?
应用程序逻辑创建于 Mendix 以工作流、微流和纳米流的形式呈现。这些是表达传统上以编程代码的函数或方法结束的内容的可视化方式。换句话说,工作流、微流和纳米流允许您轻松且直观地将复杂的业务逻辑添加到应用程序中的流程中,而无需编写代码。
用例 | 纳流 | 微流 |
---|---|---|
运行 | 客户端(浏览器/设备) | 服务器 |
语言 | JavaScript | Java/Scala |
离线移动应用程序 | 支持 | 不可用 |
安全性 | 在用户上下文中执行 | 默认在系统上下文中执行(也可能在用户上下文中执行) |
交易 | 每次调用都是一次交易 | 单笔交易 |
在客户端执行操作(例如关闭页面) | Directly | 执行微流后 |
我如何确保逻辑符合我的业务需求?
Mendix 重点在于业务和 IT 之间的协作,以及工作流、微流和纳米流的可视化特性,具有业务意识的用户可以深入了解应用程序的设计方式。这意味着所有扩展的开发团队成员都可以参与逻辑的迭代开发。
如何构建客户端逻辑?
Nanoflow 用于构建客户端逻辑(例如,移动应用逻辑)。使用 Nanoflow 可以支持离线逻辑和低延迟,从而实现具有离线功能的超快应用。有关详细信息,请参阅 如何 Mendix 支持客户端逻辑吗? in 前端.
此外, Mendix 提供了一种通过创建自定义小部件来扩展前端的机制,使其具有自定义逻辑和可视化。在本节中了解更多信息 如何延长 Mendix 前端? in 前端.
如何构建服务器端逻辑?
微流和业务规则用于构建服务器端逻辑,因为微流允许您表达应用程序的逻辑。微流可以执行诸如创建和更新对象、显示页面、做出选择以及连接到外部系统等操作。当在工作流定义中配置为系统任务时,可以从工作流中调用微流。将微流公开为自定义工作流操作意味着可以轻松重用逻辑。
微流由以下元素类型组成:
- 活动 表示微流的起点和终点以及循环中的特殊操作
- 输入参数 为微流提供其上下文中的输入
- 游戏及活动 是在微流程中执行的操作
- 连接器 可以从中下载 Mendix 市场 将您的应用连接到其他系统
- 流动 形成元素之间的联系
- 拆分 允许再次做出选择并合并不同的路径
- 错误处理程序 可以在活动、拆分或循环上设置,以定义如何处理错误
欲了解更多信息,请参阅 微流 ,在 Mendix Studio Pro 指南。有关在工作流中使用微流的更多信息,请参阅 工作流程 ,在 Mendix Studio Pro 指南.
规则是一种特殊的微流,可用于表达业务规则。规则必须返回布尔值或枚举,并且可以在拆分中使用它来根据结果做出决策。其理念是,复杂的决策可以合并到规则中,并在应用程序的各个位置重复使用。
如何向我的应用程序添加自定义代码?
在服务器端, Mendix 提供基于 REST、OData 和 SOAP Web 服务的现成微流逻辑和集成功能。这意味着通常不需要自定义代码。如果您确实需要使用自己的代码扩展微流逻辑(通过库调用或通过 Java 公开的外部服务调用), Mendix Studio Pro 允许您构建可直接从 IDE 中使用的 Java 逻辑。
有关更多详细信息,请参阅以下部分:
- 如何在服务器端逻辑中使用自己的自定义代码? (下面)
- 我可以在哪里使用 Mendix? in 开放性(API 和 SDK)
- 制作自定义小部件,了解如何开发 UI 扩展和自定义 Mendix 用于向页面添加特定于应用程序的 UI 和 JavaScript 逻辑的小部件
- 在低代码世界中编写代码
如何在服务器端逻辑中使用自己的自定义代码?
与第三代编程语言(本例中为 Java)的集成是 Mendix 模型驱动开发方法。这在极少数情况下尤其有用,在这些情况下,您无法仅使用微流实现所需的结果,或者您已经投资了 Java/Scala 代码和技能,并希望在应用程序模型中利用这些技能。 Mendix Studio Pro 与 Eclipse 集成,支持您对模型进行代码扩展。 Mendix 调试功能完全集成到 Eclipse 中,为您提供与正在运行的应用程序的任何其他部分相同的 Java 代码调试功能。
本质上,您永远不会受到特定 DSL 范围的限制,并且始终可以使用自定义 Java 函数。可以从模型内部调用自定义 Java 函数,并可以直接使用输出。每个操作(相当于 Java 函数)的接口也在模型中定义。名称、参数和返回值都在 Mendix 工作室专业版。 Mendix Studio Pro 为每个动作生成一个 Java 模板类,这是可以添加自定义代码的钩子。
每当应用程序中的接口定义被重命名或重构时,Java 类模板都会自动更改,而不会丢失任何自定义代码。更改也会被 Mendix 平台内置一致性检查器,可在开发过程的早期提出自定义代码中的一致性错误。这可确保 Java 代码在部署之前编译,并且应用扩展与模型一致,从而节省开发迭代期间的宝贵时间。
专业开发人员可以完全自由地扩展任何 Java 构造,从而可以根据需要利用任何开源或专有库。在此自定义代码中,可以使用广泛的 API 作为运行时引擎的核心。这是一个低级 API,除其他功能外,它还支持反射编程模式。
Java 扩展完全由 Mendix 平台涵盖整个应用程序生命周期,包括版本控制、编译和打包以进行部署。Java 操作提供了一种优雅的方式来构建非 Java 开发人员可以使用的新微流功能。Java 操作完成后,右键单击它以将其显示为内部的本机操作 Mendix Studio Pro 的 工具箱。这样应用程序项目中的所有开发人员都能轻松发现它。
有关如何在 Mendix 应用程序,请参阅 Java程序设计 ,在 Mendix Studio Pro 指南.
如何 Mendix 支持可靠的后台处理吗?
对于任务关键型应用来说,可靠性是关键。 Mendix 任务队列提供资源密集型任务的并行处理。您可以通过单独的可配置线程池控制微流和 Java 操作的执行。这允许您平衡负载并确定任务执行的优先级。
通过自动重新安排失败的任务, Mendix 提供至少一次传递机制。为了识别永久性中断,细粒度监控提供了当前和历史事件的透明度。
有关更多信息,请阅读有关 任务队列 ,在 Mendix Studio Pro 指南。
如何调试 Mendix?
Mendix Studio Pro 可确保使用以下软件构建的应用程序的内在质量、安全性和技术一致性: Mendix 平台通过描述的方法和机制 模型一致性.
因此,调试和问题测试主要需要在功能层面进行。这样做的好处是,通过广泛的质量和一致性检查,非技术领域的专家也可以开发出强大而复杂的应用程序。
有关详细信息 Mendix内置调试工具,请参阅 调试设施.
错误处理选项的作用 Mendix 提供?
支持复杂的错误处理 Mendix 通过在微流中定义错误处理程序。错误处理程序允许您根据需要优雅地管理逻辑中的错误(例如超时)或服务调用或数据库访问的意外结果。
- Mendix 平台是基于事务的,这意味着执行的逻辑可以完成并结束事务或抛出错误。如果出现错误,您可以选择回滚整个事务(即,关联对象将回滚到其原始状态)或不回滚。在这两种情况下,您都可以向微流添加错误处理逻辑,该逻辑将在事务之后执行。
此错误处理过程可确保 Mendix 应用程序。
如何重复使用逻辑?
以下特点 Mendix Studio Pro 使逻辑重用变得简单:
- 现有 微流 并且可以从任何其他微流或页面上下文中调用规则 Mendix 应用程序项目。 Mendix 内置了重构工具,可轻松将逻辑从现有微流提取到包含明确定义的输入参数接口和返回类型的新微流中。然后,该逻辑可从任何其他上下文中完全重用。
- 您可以重复使用现有的 Java 库和自定义代码 在应用程序逻辑中。
- 可重用逻辑 可以分组到模块中并导出到 Mendix 市场从那里,它可以作为公共或私人(即公司内部)内容与其他应用项目共享。
- - Mendix 市场 包含许多可重复使用的微流和微流连接器,可以下载到您的应用模型中。这样就无需为每个项目重新设计逻辑。 社区公共功能图书馆 来自市场的模块是共享社区最佳实践的一个很好的例子。