Apps#
Note
此功能仅在凯睿德制造MES的容器化安装中可用。
Apps是可包含在凯睿德制造框架/MES系统顶层的定制包。
Apps还定义要安装的自定义项,该自定义项可用于所有层(数据模型、业务逻辑、UI或分析)。
- Apps可以通过包括实体类型、关系和表来定义自己的数据模型。可以通过添加属性来扩展现有系统实体的数据模型。
- Apps可以通过包含自定义服务来定义自己的API。
- Apps可以通过包括DEE操作来扩展现有服务的逻辑。
- Apps可以通过完全自定义的页面/组件或将UI页面用作低代码UI框架来包含自己的UI。
- Apps可以包括自己的主数据-通常包括静态配置数据,例如配置表、查找值或其他设置。
可扩展性工件可以打包并分布在部署框架包中。部署框架包是有版本控制的,可以包括它们之间的依赖关系,以实现可重用性和组合。有关更多信息,请参阅部署概述部分。
然后,系统在凯睿德制造MES的实例上部署这些包,而无需重新编译或重新打包应用程序。
Apps包格式#
与部署框架包类似,App包是压缩包,包括强制清单(称为“Manifest.xml”)文件,还可能包括其他资源文件,如图标和许可证文件。
App呈现#
App程序包强制清单列明了应用程序必需的元数据,如Id和版本,以及其他可选字段,如图像和UI入口点。
manifest.xml 文件样例:
<?xml version="1.0" encoding="utf-8"?>
<App id="Cmf.Example.EquipmentSupport"
version="0.0.1"
author="CMF"
name="Equipment Support"
description="Detailed information on equipment status"
xmlns:metadata="urn:cmf:dp:xml:ns:app-metadata-v1">
<metadata:Framework version="^8.3.0"/>
<metadata:Domain name="MES"/>
<metadata:License file="license.txt"/>
<metadata:Image file="icon.png"/>
<metadata:EntryPoint name="EqpSupportUIPage"/>
<metadata:Package id="Cmf.Example.EquipmentSupport.Package" version="1.0.0"/>
</App>
字段说明:
| 字段 | 强制性 | 描述 |
|---|---|---|
id | ☑ | App的唯一标识符 |
version | ☑ | App版本 |
author | ☑ | App 作者 |
name | ☐ | App的友好名称,由用户界面使用,以显示更为用户友好的名称;如果未定义,将显示“id” |
description | ☐ | 应用程序的描述,由UI显示 |
Framework version | ☑ | 凯睿德制造框架版本(已安装或将在安装过程中安装)必须满足的版本或版本范围 |
Domain name | ☑ | App的业务领域:如 MES, DataPlatform, 或 IoT |
License file | ☐ | 包含App许可证的App程序包内文本文件的路径 |
Image file | ☐ | 应用程序包内图像文件的路径,该文件将用作UI中的应用程序图标 |
EntryPoint name | ☐ | 将用作应用程序UI中App入口点的 UI 页面名称;如果未定义,应用程序将不会显示在App页面 |
Package id, Package version | ☑ | 将要安装的部署包id和版本,包含使用应用程序所需的任何自定义项(例如,包括由“入口点名称”引用的UI页面) |
App安装#
Apps在环境安装或升级期间由系统安装。
与部署包类似,应用程序包必须放在其中一个包的源地址中。
要指定要安装的应用程序,必须创建一个文件,定义要安装的App列表。此文件必须放在其中一个包的源地址中。在安装过程中,系统将在包的源地址所有位置内搜索名为<SystemName>.App.json(<SystemName>具有系统名称变量的值),并相应地安装应用程序和部署包。
安装文件的格式必须类似于以下示例:
{
"install": [
{
"name": "Cmf.Example.App",
"version": "1.0.0"
},
{
"name": "Cmf.Another.App",
"version": "2.0.0"
},
{
"name": "Cmf.Example.EquipmentSupport",
"version": "0.0.1"
}
]
}
包含App、部署包和定义了需要安装的App的文件的包源地址文件夹,必须具有如下所示的类似结构。
App程序包(上一个示例中的App.zip)必须具有如下所示的类似结构。
Note
每个包源地址中可能有几个这样的文件,它们都将被处理。
App包搜索位置#
系统将搜索App程序包以及<SystemName>.app.json文件,位于与自定义部署包相同的位置,并由“--packageSource”和“--packageSources”执行参数指定。T
Apps 执行#
A安装后,将列出声明入口点的应用程序,并可以使用Apps页面.
Apps管理#
Apps管理,例如列出所有已安装的应用程序(包括旧版本)并访问应用程序详细信息,可以通过Apps 管理.

