获取与安装
下载数据管理API代理器
请参阅应用发布的 章节,下载对应版本的数据管理API代理器。
为了避免不必要的繁琐代码排查与程序定位问题,如果您初次使用iDME或者数据量不大,推荐使用更加友好、图形化界面的数据建模引擎。
JAR包结构
数据管理API代理器提供的JAR包目录结构如下:
|--- core-sdk-api-1.0.0-SNAPSHOT:包含接口的入参、出参、工具类等。 |--- file-download-sdk-1.0.0-SNAPSHOT:包含文件分块下载的工具类。 |--- rdm-common-1.0.0-SNAPSHOT:包含数据建模引擎(xDM Foundation,简称xDM-F)的公共类。 |--- rdm-delegate-1.0.0-SNAPSHOT:包含代理请求应用运行态的封装类。 |--- releaseNote.md:包含xDM-F的版本发布说明。 |--- 应用英文名称(小写).api-1.0.0-optimization-SNAPSHOT:包含用户模型生成的代码(客户端),例如entity、DTO、service、delegator等相关代码。 |--- com.huawei.innovation.rdm.应用英文名称(小写):用户模型生成代码。 |--- bean:生成的模型对象。 |--- entity:数据实体。 |--- enumerate:枚举。 |--- interfaces:功能模型。 |--- relation:关系实体。 |--- delegator:模型的代理请求,使用调用代码函数的方式代替调API。 |--- dto:数据传输实体。 |--- entity:数据实体。 |--- relation:关系实体。 |--- service:模型服务层定义,仅做参考使用。 |--- com.huawei.innovation.rdm.xdm:系统模型生成代码。 |--- bean |--- delegator |--- dto |--- service |--- 应用英文名称(小写).ext.api-1.0.0-optimization-SNAPSHOT:包含用户模型生成的对应历史版本功能所需模型。 |--- 应用英文名称(小写).impl-1.0.0-optimization-SNAPSHOT:包含用户模型实现的功能代码(服务端)。如果您已在华为云上部署应用,生成应用运行态,安装数据管理API代理器时需忽略此JAR包。 |--- 应用英文名称(小写).controller.api-1.0.0-{应用环境标识}-SNAPSHOT:包含用户模型生成的controller API代码(客户端)。 |--- com.huawei.innovation.rdm.应用名称:用户模型生成Controller。 |--- com.huawei.innovation.rdm.xdm:系统模型生成Controller。 |--- 应用英文名称(小写).controller.impl-1.0.0-{应用环境标识}-SNAPSHOT:包含用户模型生成的controller实现类代码(客户端)。如果您已在华为云上部署应用,生成应用运行态,安装数据管理API代理器时需忽略此JAR包。 |--- com.huawei.innovation.rdm.应用名称:用户模型生成Controller。 |--- com.huawei.innovation.rdm.xdm:系统模型生成Controller。
安装数据管理API代理器

开发过程中,您有任何问题可以在华为云工业数字模型驱动引擎论坛中发帖求助。
- 解压缩下载的JAR包。
- 将解压缩后的JAR包引入到已有的Maven工程中。
以IntelliJ IDEA开发工具为例。
- 在“resources”目录下创建一个“lib”目录,并将JAR包存放至该目录下。
- 单击 。
- 在弹出的窗口中,选择 ,单击 。
- 选中引入的JAR包,单击“OK”。
- 单击“Apply”。
- 在pom.xml文件的“<dependencies>”节点中添加如下依赖。
如下配置以“publishtest”应用为例,请将“publishtest”替换为您实际应用英文名称的小写。
- 本地环境为JDK 8,添加如下依赖:
<!--iDME core-sdk-api jar包依赖--> <dependency> <groupId>com.huawei.isc.xdm-f</groupId> <artifactId>core-sdk-api</artifactId> <version>1.0.0-SNAPSHOT</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/core-sdk-api-1.0.0-SNAPSHOT.jar</systemPath> </dependency> <!--iDME file-download-sdk jar包依赖--> <dependency> <groupId>com.huawei.xdm</groupId> <artifactId>file-download-sdk</artifactId> <version>1.0.0</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/file-download-sdk.jar</systemPath> </dependency> <!--iDME rdm-common jar包依赖--> <dependency> <groupId>com.huawei.isc.xdm-f</groupId> <artifactId>rdm-common</artifactId> <version>1.0.0-SNAPSHOT</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/rdm-common-1.0.0-SNAPSHOT.jar</systemPath> </dependency> <!--iDME rdm-delegate jar包依赖--> <dependency> <groupId>com.huawei.isc.xdm-f</groupId> <artifactId>rdm-delegate</artifactId> <version>1.0.0-SNAPSHOT</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/rdm-delegate-1.0.0-SNAPSHOT.jar</systemPath> </dependency> <!--iDME 应用英文名称的小写.api jar包依赖--> <dependency> <groupId>com.huawei.isc.xdm-f</groupId> <artifactId>publishtest.api</artifactId> <version>1.0.0-optimization-SNAPSHOT</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/publishtest.api-1.0.0-optimization-SNAPSHOT.jar</systemPath> </dependency> <!--iDME 应用英文名称的小写.impl jar包依赖--> <!--如果您已在本地部署iDME,可使用下方代码引用应用英文名称的小写.impl jar包--> <!--<dependency>--> <!-- <groupId>com.huawei.isc.xdm-f</groupId>--> <!-- <artifactId>publishtest.impl</artifactId>--> <!-- <version>1.0.0-optimization-SNAPSHOT</version>--> <!-- <scope>system</scope>--> <!-- <systemPath>${project.basedir}/src/main/resources/lib/publishtest.impl-1.0.0-optimization-SNAPSHOT.jar</systemPath>--> <!--</dependency>--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.30</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.15.1</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.14</version> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.12</version> </dependency> <!--jsr validation-api包依赖--> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>2.0.1.Final</version> </dependency> <!--apache httpclient包依赖--> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version> </dependency> <!--mikesamuel json-sanitizer包依赖--> <dependency> <groupId>com.mikesamuel</groupId> <artifactId>json-sanitizer</artifactId> <version>1.2.3</version> </dependency> <!--hibernate hibernate-core包依赖--> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.6.9.Final</version> </dependency>
- 本地环境为JDK 17,添加如下依赖:
<!--iDME file-download-sdk jar包依赖--> <dependency> <groupId>com.huawei.isc.xdm-f</groupId> <artifactId>file-download-sdk</artifactId> <version>1.0.0-SNAPSHOT</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/file-download-sdk-1.0.0-SNAPSHOT.jar</systemPath> </dependency> <!--iDME core-sdk-api jar包依赖--> <dependency> <groupId>com.huawei.isc.xdm-f</groupId> <artifactId>core-sdk-api</artifactId> <version>1.0.0-SNAPSHOT</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/core-sdk-api-1.0.0-SNAPSHOT.jar</systemPath> </dependency> <!--iDME rdm-common jar包依赖--> <dependency> <groupId>com.huawei.isc.xdm-f</groupId> <artifactId>rdm-common</artifactId> <version>1.0.0-SNAPSHOT</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/rdm-common-1.0.0-SNAPSHOT.jar</systemPath> </dependency> <!--iDME rdm-delegate jar包依赖--> <dependency> <groupId>com.huawei.isc.xdm-f</groupId> <artifactId>rdm-delegate</artifactId> <version>1.0.0-SNAPSHOT</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/rdm-delegate-1.0.0-SNAPSHOT.jar</systemPath> </dependency> <dependency> <groupId>com.huawei.xdm</groupId> <artifactId>${xdm.app.name}.api</artifactId> <systemPath>${project.basedir}/src/main/resources/lib/${xdm.app.name}.api-1.0.0-optimization-SNAPSHOT.jar </systemPath> <scope>system</scope> <version>1.0.0-optimization-SNAPSHOT</version> </dependency> <dependency> <groupId>com.huawei.xdm</groupId> <artifactId>${xdm.app.name}.ext.api</artifactId> <systemPath> ${project.basedir}/src/main/resources/lib/${xdm.app.name}.ext.api-1.0.0-optimization-SNAPSHOT.jar </systemPath> <scope>system</scope> <version>1.0.0-optimization-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 用于忽略证书配置使用 --> <dependency> <groupId>org.apache.httpcomponents.client5</groupId> <artifactId>httpclient5</artifactId> <version>5.4.2</version> </dependency> <dependency> <groupId>org.apache.httpcomponents.core5</groupId> <artifactId>httpcore5</artifactId> <version>5.3.3</version> </dependency> <!-- validation 依赖 --> <dependency> <groupId>jakarta.validation</groupId> <artifactId>jakarta.validation-api</artifactId> </dependency> <!-- CacheLoader依赖 --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>32.1.1-jre</version> </dependency> <!-- 反射组件依赖 --> <dependency> <groupId>org.reflections</groupId> <artifactId>reflections</artifactId> <version>0.10.2</version> </dependency> <!-- Entity 注解依赖 --> <dependency> <groupId>jakarta.persistence</groupId> <artifactId>jakarta.persistence-api</artifactId> <version>3.1.0</version> <!-- 请使用最新的稳定版本 --> </dependency> <!-- UrlUtil 依赖 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.14.0</version> </dependency>
- 本地环境为JDK 8,添加如下依赖:
- 在application.yml文件中添加delegate信息。
delegate: subAppId: rdm_e22c66fb1d05453fa********e3cc9c0_app domain: https://dme.cn-north-4.huaweicloud.com userName: DME_validation password: ******** endpoint: https://iam.cn-north-4.myhuaweicloud.com domainName: hwstaff_IDT_SRE regionName: cn-north-4 serviceType: services/dynamic ssl: true trustStore: classpath:uat.jks trustStorePassword: ********
- subAppId:rdm_应用ID_app。应用ID可前往当前应用设计态的 获取,详情请参见应用发布。
- domain:iDME服务所在的域名或IP。
- userName:IAM用户名。
- password:IAM用户密码。
- endpoint:IAM用户所在的域名或IP。
- domainName:租户名/原华为账号。
- regionName:当前iDME服务所在的地域。
- serviceType:URI格式的配置,默认为“publicservices”。如果您购买的数据建模引擎为基础版,则需要将“publicservices”修改为“services/dynamic”。
- ssl:是否开启SSL认证。默认为false,不开启SSL认证。如果开启SSL认证,则需要配置trustStore和trustStorePassword参数。
- trustStore:SSL证书的安装路径。
- trustStorePassword:SSL证书的私钥密码。