公用数据集的实现
场景描述
将所有字典表统一放在一个应用中,统一管理。
其它应用通过dbrest方式访问字典应用中的数据,其它应用中的数据和字典应用中的数据不能使用关联查询,除非在架构中指定这些应用访问同一个数据库。
实现思路
添加一个字典应用,在字典应用中,开发字典数据集组件,在组件中添加一个个的字典数据集,将组件发布到市场。
进入正式运行门户,打开系统管理下的服务代理设置功能,添加服务代理。
其它企业应用,从市场下载字典数据集组件,使用组件中的数据集。
实现步骤
添加字典应用
添加一个企业应用,名称为basecode
开启组件开发
进入“高级”页,选中“开启组件开发”。切换到“页面”页,在页面目录底部出现“组件包管理”。
新建组件包
点击“组件包管理”右侧的“新建组件包”,填写组件包信息,如下图所示。
点击“确定”后,系统切换到组件包设计端,如下图所示。
新建组件
点击组件包basedata右侧的“新建组件”,填写组件信息,如下图所示。
一个组件包中可以包括多个组件。这里组件和组件包同名。
新建动态数据集
切换到“数据”页,添加动态数据集,例如city
添加数据集的输出说明文件
切换到“代码”页,在model/service/comp/basedata目录下新建config目录,在config目录下新建export.json文件。在文件中将动态数据集一一列出,代码如下。
[{ "path":"comp/basedata/city.data.m", "editData":false, "editLabel":false }]
新建微服务描述文件
将model/service/main/app.m复制到model/service/comp/basedata目录下,打开文件,将其中的main改为basedata。
下载组件
经过上面的步骤,组件开发完成。切换到“页面”页,点击basedata右侧的“导出”按钮,下载basedata.zip文件。
上传到市场
进入租户管理员的控制台,打开“我的市场”功能,点击“上传组件”按钮,再点击“上传”按钮,填写组件信息,如下图所示。
组件修改后,不需要再次上传,只需要更新组件,如下图所示。
控制台管理员system审核组件
用system登录控制台,打开“模板组件/组件管理”功能,点击“审核中”,列出刚才提交审核的组件,点击右侧的“审核”按钮,点击“通过”按钮。
组件更新后,点击“更新审核中”,列出刚才提交审核的组件,点击右侧的“审核”按钮,点击“通过”按钮。
设置服务代理
进入正式运行门户,打开“系统管理/服务代理设置”功能,添加新的服务代理,模块名输入basedata,服务名输入basecode。
代理设置后,当请求http://entrydev84-vip.a.xcaas.net/ent1/basedata/dbrest/basedata_city时, 会转发http://entrydev84-vip.a.xcaas.net/basecode/basedata/dbrest/basedata_city请求。 即所有basedata的请求,都发送到basecode服务中执行。
设置代理后,打开“系统管理/服务注册”功能,点击entry右侧的“刷新”按钮,更新网关配置。
其它应用使用字典应用中的数据集
打开其它应用,从市场下载字典数据集组件。
前端页面中使用:在“数据”中会列出组件中的数据集,这些数据集组件可以拖拽到页面上使用,例如作为下拉列表组件的选项数据集。在“服务”中会列出组件中定义的服务,这些服务组件可以拖拽到页面上使用。
后端服务中使用:在java中,通过http请求访问组件中的数据和服务。