跳到主要内容

企业运行时架构

运行时架构

是什么 Mendix 运行时以及它如何支持关键架构原则?

- Mendix 运行时在云原生架构的上下文中执行您的应用程序。在本节中,我们将介绍 Mendix 运行时及其相关功能。我们还将深入了解运行时执行的几个重要方面。

哪个组件负责模型执行?

- Mendix Runtime 解释并执行应用程序的模型。Runtime 具有 兼容十二要素应用 使用行业领先的 Java 和 Scala 技术进行设计。

如何 Mendix 执行模型?

- Mendix 运行时直接执行模型,这意味着模型实际上是应用程序,而不是中介。与可视化建模设计实际生成代码(例如 Java 或 .NET)的方法相反, Mendix 模型解释方法具有许多独特的特点和优点,如下所述。

变更管理

可以更轻松地适应应用程序的更改。此外,由于模型是应用程序, Mendix 保障应用程序和模型的兼容性。

自定义扩展

使用自定义代码扩展模型可以更加优雅地控制,因为模型可以知道自定义代码并将其包含在一致性检查中,而不是将自定义代码插入生成的代码中。 Mendix的模型解释方法解决了代码生成的基本往返问题,即模型中的更改会与自定义代码扩展发生冲突。此外,生成的代码中没有自定义更改意味着平台的技术架构可以在不影响模型的情况下实现现代化。这意味着从技术创新中获益更容易、更便宜。

监控

与预先定义监视参数相比,可以更动态、更灵活地设置运行时监视和分析应用程序行为。

调试

开发人员无需了解生成的代码与可视化模型之间的关系,因此调试和解决问题变得更容易。调试和解决问题是在模型上进行的,而不是在生成的代码上。

如何 Mendix 实现无状态架构?

为了确保可扩展性、性能和高可用性, Mendix 已实现无状态运行时。这意味着任何可用的运行时实例都可以处理用户请求,无论任何先前的请求或后续请求。

为了实现这一点,运行时实例在用户请求期间具有状态。在请求结束时,所有已提交的状态将保存到数据库中。所有未提交的状态将连同客户端需要的所有其他数据一起返回给客户端。

欲了解更多信息,请参阅 聚类 Mendix 运行时 ,在 Mendix Studio Pro 指南.

的组成部分是什么 Mendix 运行时?

运行时由两个主要组件组成:

  • 客户 – 网络和移动客户端
  • 运行时服务器 – 可扩展的运行时来处理服务器端逻辑

 

Mendix 运行时架构

服务器架构

- Mendix 服务器架构由多个组件组成,用于执行逻辑、管理数据、与客户端通信以及实现安全性。下图概述了所有组件,然后简要描述了它们的职责:

Mendix 运行时服务器组件

- Mendix 运行时由以下组件组成:

  • 平台核心 – 负责正确启动和关闭应用程序并加载所需的库和扩展
  • 对象缓存 – 处理对象的创建和删除
  • 会议经理 – 管理用户会话的创建以及已注销或放弃的会话的清理。
  • HTTP服务器 – 包含在 Mendix 运行时处理来自 Web 和移动客户端的请求以及处理服务请求
  • 微流引擎 – 执行您的微流程和微流程活动
  • 数据层 – 持久化并从应用程序数据库中检索对象;还负责创建和更新持久化数据所需的数据库结构:数据层支持大量不同的数据库,并使用常见的数据模型设计最佳实践来存储数据(有关详细信息,请参阅 数据库的作用是什么 Mendix 支持? in 数据存储)
  • 整合层 – 处理 Web 服务、REST API、应用服务和 OData 的传入和传出服务请求
  • 客户端API – 负责与 Web 和移动客户端的通信;API 用于检索数据、保存数据更改并执行微流逻辑
  • 配置 API – 此 JSON API 由 Mendix 用于配置运行时的门户和容器构建包
  • 监控 API – 此 JSON API 由 Mendix 用于检索监控指标的门户和容器构建包
  • 自定义API – 此 Java API 用于扩展 Mendix 运行时(例如,使用微流活动或实体监听器)

客户端架构

- Mendix 客户端负责用户交互,由 UI 小部件层、执行离线逻辑的逻辑层和用于离线存储的数据层组成。下图概述了以下内容:

Mendix 运行时客户端组件

- Mendix 客户端由以下组件组成:

  • 通信层 – 与 Mendix 使用安全的 JSON over HTTP 协议的运行时服务器
  • 数据层 – 管理前端使用的数据;基于 React Flux 模式来处理状态并将更改推送到 UI 组件
  • 逻辑层 – 使用以下方式处理数据验证和更复杂的逻辑 Mendix 纳流
  • UI 组件层 – 管理小部件生命周期和小部件之间的通信,并提供开箱即用的小部件

原生移动客户端

Mendix 原生移动应用程序是真正运行在 React Native。该框架使使用最先进的原生技术构建的移动应用程序能够提供最佳的移动用户体验:

  • 无障碍服务 – 可以在标准设备应用商店中发现应用程序,安装在移动设备上,并通过图标打开
  • 离线可用性 – 由于应用程序安装在移动设备上(包括所有必需的资源和本机客户端),最终用户可以使用您的 Mendix 应用程序离线,相关应用程序数据存储在您设备上的 SQLite 数据库中
  • 本机用户界面 – 原生应用程序使用原生用户界面组件,具有流畅的动画和原生的外观和感觉。
  • 支持本机功能 – React Native 使应用程序能够使用本机设备功能,从而使您可以受益于移动设备中可用的所有传感器,例如摄像头和麦克风

有关详细信息 Mendix 移动设备支持,请参阅 原生移动应用.

Web客户端

Web 客户端采用单页架构设计,其中单个 JavaScript 网页被加载到浏览器中,然后该网页将更新页面并与 Mendix 根据用户操作的需要运行时。这可能包括检索网页的部分内容以及检索和存储数据。它用于所有基于浏览器的 Mendix 应用程序,包括渐进式 Web 应用程序。

客户端主要使用 HTML5、带有 Sass 和 Bootstrap 的 CSS 以及 React 框架实现。有关更多信息,请参阅 Web 客户端设置 ,在 Mendix Studio Pro 指南.

选择你的语言