创建接口模型
操作场景
当工业数字模型驱动引擎-数据建模引擎(xDM Foundation,简称xDM-F)提供的功能不能满足用户的需求时,支持用户自定义接口模型。接口模型可被数据实体作为父继承,继承其属性和关系。通过接口模型,实现建模时对各类型模型的公共特性进行抽象&接口化。例如,单板、整机、设备等实体均包含BOM编码、生产日期和资产编码属性,用户可创建一个接口模型,包含这三个属性。而创建实体时,勾选该接口模型即可。
前提条件
已登录应用设计态。
步骤1:填写基本信息
- 在左侧导航栏中,选择 ,进入接口模型页面。
- 单击“创建”。
- 在展开的创建接口模型页面,设置如下信息。
图1 基本信息
表1 参数说明 参数
参数说明
英文名称
接口模型的英文名称。
需以大写字母开头,只能包含字母、数字和“_”,长度不能超过60个字符。
中文名称
接口模型的中文名称。
只能包含中文、英文字母、数字、“_”和“-”,长度不能超过128个字符。
英文描述
接口模型的英文描述。
不能包含中文字符,长度不能超过1024个字符。
中文描述
接口模型的中文描述。
支持各种字符,长度不能超过1024个字符。
模型分类
xDM-F提供如下两种模型,请根据实际需求进行选择。
- 业务数据模型:用于承载业务数据的模型。
- 系统配置模型:用于承载为实现业务逻辑而增加的模型,该模型不会与上下游集成。
同步至LinkX-F
如果您希望此模型上的属性可以自定义是否入图时,您可以开启此配置项。
- 是:此模型上的属性可以自定义是否入图。
- 否:此模型上的属性都不入图。默认为“否”。
- 单击“保存”。
步骤2:新增属性
- 选择“属性”页签,进入属性页面。
- 单击“新增”。
图2 基本属性
- 在弹出的窗口中,填写如下信息,单击“保存”。
也可单击“保存继续创建”,添加多个属性。
图3 新增属性
表2 接口模型属性-参数说明 类型
参数
参数说明
基本信息
英文名称
属性的英文名称。
需以字母开头,只能包含字母、数字和“_”,长度不能超过58个字符。
不能以数据库的关键词作为属性的英文名称,例如where、select等。
xDM-F会自动以类小驼峰方式转换属性的英文名称,以作为key值存储至系统中。后续您在调用API时,请避免使用实际定义的属性英文名称作为参数名。例如,您定义的属性英文名称为“Part_model_mumber”,调用API时需使用“part_Model_Mumber”作为参数名。
中文名称
属性的中文名称。
只能包含中文、英文字母、数字、“_”和“-”,长度不能超过58个字符。
英文描述
属性的英文描述。
不能包含中文字符,长度不能超过1024个字符。
中文描述
属性的中文描述。
支持各种字符,长度不能超过1024个字符。
类型
xDM-F提供如下属性类型,请根据实际需求进行选择。- 文本:可存储较短的字符串数据,文本长度不能超过4000个字符。
- 长文本:可存储较长的字符串数据,例如大型文章。文本长度最大支持524288个字符。如果您需要存储超长的字符串数据,建议使用“文件”类型的属性进行存储。
- 如果应用的数据库类型为mysql,对应数据库的字段类型为LongText。
- 如果应用的数据库类型为postgresql,对应数据库的字段类型为TEXT。
- 整型:对应数据库的字段类型为int。
- 长整型:对应数据库的字段类型为long。
- 浮点型:对应数据库的字段类型为float。
- 浮点型(自定义精度):浮点型数据并且可以自定义精度。
- 参考对象:为对象建立1:N或主外键关系,例如部门和员工。
- 参考对象值可以选择该应用下“正在工作”、“已发布”的数据模型以及默认应用(XDM)下发布的所有数据模型(不包括扩展类型子数据模型)。
- 如果参考非默认应用(XDM)对象,则当前属性作为外键生成一条虚拟的N:1的关系。
- 布尔值:true/flase。
- 日期:展示为年/月/日/时/分/秒。
- 枚举:为几乎没有变化的对象列举值,例如性别(男/女)。
- 人员:企业/部门人员的名称。
- URL:长度不能超过4000个字符,匹配正确格式。
- JSON:JSON数据类型。
属性分类
用户自定义,可根据各维度自定义分类,便于管理属性。
EOS日期
EOS(End of Service,停止服务)日期主要用于标识属性的生效/失效时间。您可以通过EOS日期预设置某个属性字段的截止日期,以便于后续在业务开发时通过该参数控制相应的业务逻辑。
约束信息
文本长度
“类型”选择为“文本”或“长文本”时,必填项。
其中,“文本”类型属性的最长文本长度为4000个字符,“长文本”类型属性的最长文本长度为524288个字符。
为保障部署在数据建模引擎的应用运行态性能最优,建议您合理控制“长文本”类型属性的文本长度设置。
有效范围
“类型”选择为“整型”、“长整型”、“浮点型”、“浮点型(自定义精度)”时,可根据实际业务需求进行设置。
- 左开右开():表示不包括区间边界的两个值。例如(a,b),即a<x<b,取值不包括a和b。
- 左闭右闭[]:表示包括区间边界的两个值。例如[a,b],即a≤x≤b,取值包括a和b。
- 左开右闭(]:表示不包括开区间一边的边界值,包括闭区间一边的边界值。例如(a,b],即a<x≤b,取值不包括a,包括b。
- 左闭右开[):表示不包括开区间一边的边界值,包括闭区间一边的边界值。例如[a,b),即a≤x<b,取值包括a,不包括b。
指定合法值类型
“类型”选择为“文本”、“整型”、“长整型”、“浮点型”、“浮点型(自定义精度)”、“人员”时,可根据实际业务需求进行设置。
仅支持输入英文名称。
指定枚举类型
“类型”选择为“枚举”时,必填项。
- 如果您没有可指定的枚举类型,可选择。
- 如果您已有可指定的枚举类型,可选择已有枚举类型。
- 在下拉选项列表中,单击枚举右侧的,可查看该枚举的详细信息。
单位类型
“类型”选择为“整型”、“长整型”、“浮点型”、“浮点型(自定义精度)”时,可根据实际业务需求进行设置。
如果您设置了单位类型,完成属性创建后,接口模型会自动创建一个英文名称格式为属性英文名称_unit的“参考对象”类型属性,不可编辑。当您在运行态创建数据实例时,其“参考对象”类型的属性用于表示对应数值型属性的计量单位。
仅支持选择xDM-F内置的国标单位,如果内置的国标单位满足不了您实际业务需求,后续您可以在应用运行态中自定义单位类型。具体操作请参见创建单位类型。
设计默认单位
“单位类型”设置单位时,必填项。
如果用户在应用运行态中设置了“运行默认单位”,创建数据实例时优先选择应用运行态设置的默认单位,否则创建的数据实例默认选择“设计默认单位”。
标度
“类型”选择为“浮点型”、“浮点型(自定义精度)”时,必填项。
小数位范围1-30,如果实例值超过标度范围,采用四舍五入方式处理。
默认值
“类型”选择为“文本”、“长文本”、“整型”、“长整型”、“浮点型”、“浮点型(自定义精度)”、“布尔值”、“日期”、“枚举”、“人员”、“URL”时,可根据实际业务需求进行设置。
- 如果“唯一键”选择为“是”,默认值为空且不能修改。
- 如果“指定合法值类型”设置了合法值类型,默认值只能设置为该配置项对应合法值类型中的合法值。
参考对象
“类型”选择为“参考对象”时,必填项。
选择参考对象的目标端,使当前模型和选择的参考对象形成一种参考关系。
组合关系
默认为“否”。
参考对象类型只能选择为“否”。
密级
支持内部公开、机密、秘密和绝密四种。
- 内部公开:指可在公司内部公开发布的信息,不属于保密信息。
- 秘密:是公司比较重要或敏感的信息,其泄露会使公司利益受到一定损害,但影响范围有限;适合在体系、部门或特定组织范围公开的信息。
- 机密:对公司运营管理非常重要或内容非常敏感,其泄露会使公司利益遭受巨大损害,且影响范围广泛;只适合在极少数人员或指定岗位范围公开的信息。如:重要产品的路标规划、营销策略、经营分析报告、销售项目一览表、商务授权及价格信息。
- 绝密:对公司市场竞争、领先对手起决定性作用,其泄露会使公司利益遭受巨大损害,且影响范围广泛;只适合在极少数人员或指定岗位范围公开的信息。如:核心算法、定价策略、战略意图。
唯一键
默认为“否”。
- URL、JSON、参考对象和文件类型只能选择为“否”。
- 如果“值加密”选择为“是”,唯一键只能选择为“否”。
唯一键区间
“唯一键”为“是”时,必填项。
支持全局唯一和租户内唯一,默认为“全局唯一”。
唯一键及其区间变化时,如果历史数据与该约束有冲突,则需手动处理,发布后请谨慎更改。
必填
“类型”为“参考对象”的属性默认为“是”,其他类型属性默认为“否”。
如果“类型”选择为“文件”,只能选择为“否”。
列表属性
用于查询接口,作为查询条件和返回值。
- JSON和文件类型只能选择为“否”。
- 如果“值加密”选择为“是”,列表属性只能选择为“否”。
多值
“类型”选择为“枚举”、“人员”时,必填项。
值可变
“类型”选择为“文本”、“长文本”、“整型”、“长整型”、“浮点型”、“浮点型(自定义精度)”、“参考对象”、“布尔值”、“日期”、“枚举”、“人员”、“JSON”、“URL”时,必填项。
默认为“是”。如果选择为“否”,则该实例的值保存后不支持修改。
值存储方式
“类型”选择为“文本”或“长文本”时,必填项。
支持原值、大写和小写三种,默认为“原值”。
- 原值:实例值按照实际输入的字符串存储。
- 大写:将实例值中小写字符串转换为大写字符串存储。
- 小写:将实例值中大写字符串转换为小写字符串存储。
值加密
“类型”选择为“文本”时,必填项。
默认为“否”。如果选择为“是”,发布后该数据将以密文方式存储在数据库中,且为longtext类型。
- 设置值加密后,用户通过API(如get,batchGet,find,query等)获取属性时,可通过“decrypt”来解密该实体的属性。
- 如果“唯一键”选择为“是”,值加密只能选择为“否”。
- 如果“密级”为“内部公开”时,不支持值加密。
- 如果当前属性绑定了业务编码生成器规则,值加密只能选择为“否”。
- 如果当前属性是树形结构指定的全路径字段,值加密只能选择为“否”。
索引
“类型”选择为“文本”、“整型”、“长整型”、“浮点型”、“浮点型(自定义精度)”、“日期”、“人员”时,可根据实际业务需求进行设置。
选择为“人员”时,默认为“是”;其他类型默认为“否”。
“类型”选择为“文本”时,如果应用的数据库类型为mysql,且“文本长度”的设置大于768个字符,则该配置无效,无需配置。
入库
默认为“是”。如果选择为“否”,发布后在数据库不会生成字段。模型发布后不能修改。
入图
需在填写基本信息时将“同步至LinkX-F”设置为“是”,才展示该配置参数项。
- 是:当前属性将在LinkX-F中入图。
- 否:当前属性不在LinkX-F中入图。默认为“否”。
入图标识
“入图”为“是”时,必填项。
此元数据在入图时的别名或标识。
入图标识需以字母开头,只能包含字母、数字和“_”。
引用类型
“类型”选择为“参考对象”时,可根据实际业务需求进行设置。
- 强引用:假设实体A参考实体B,实体B的数据实例被删除时,会返回引用信息,不允许被删除,我们称这两种引用依赖为强引用。
- 弱引用:假设实体A参考实体B,实体B的数据实例被删除时,实体A的数据实例仍然存在,我们称这种引用依赖为弱引用。