微服务操作流程图
产品概述
产品背景
医院信息系统随着时代的进度专业化程度越高,同时与外部的交换越来越频繁。特殊是互联网应用,手机App等需要与医院内部进行信息交换。目前多数医院为了满足这些应用的运行需要,实现与这些软件的对接,需要协调医院各种专业软件厂商进行接口开发,接口开发费随着时间推移出现了不断的攀升趋势,同时年维护费也随之增长,微服务就是这种大的环境下出现的一种通用信息交互的通用解决方案,通过微服务快速生成对外的Http服务接口,不需要各专业软件厂商定制接口,快速实现第三方系统接入与调用。
重要概念
微服务开发中有几个很重要的概念:
微服务:指对外提供服务访问的Http服务,这种Http服务提供查询、新增、修改、删除等功能。
微服务包:由一个或多个微服务组成一个包。
微服务编码:提供对外的Http服务唯一的编码,在Url请求中queryID参数对应的编码。
微服务包开发
微服务包
微服务包:由一个或多个微服务组成一个包。
选择“微服务配置”菜单,打开如图1所示的界面:
图 1 微服务开发主界面
在页面信息区域,点击右键,弹出页面操作菜单,如图2所示:
图 2 微服务开发主界面
可以进行微服务包编辑,如新增、修改、删除操作,微服务包信息主要有由以下属性,如图3所示,微服务包编码:是一个唯一性的编码,此编码与菜单进行挂接;微服务包布局:指微服务包显示风格,如只有一个网格的风格、左边是树,右边是网格等,页面布局是一个十分重要的属性,他决定了而面最终的显示形态;联动数量:是指页面中子页面之间的事件关联数量,实现子页的之间数据变化。
注:
如果第三方服务界面布局采用微服务的定义信息时微服务包布局、联动数量才需要设置,否则不用理会这两个参数。
图 3 微服务包定义界面
如果想自动生成微服务包下的微服务基本信息,则可以选择相应的服务包布局类型。
网格:微服务包下自动生成一个微服务;
左网格中心网格:微服务包下自动生成两个微服务;
左树中心网格下方网格:微服务包下自动生成三个微服务;
左网格中心网格下方网格:微服务包下自动生成三个微服务;
左树中心网格右网格:微服务包下自动生成三个微服务;
左树中心网格下中心网格右下网格:微服务包下自动生成4个微服务;
微服务包开发
自动生成微服务
如果没有对自动生成的微服务作任何修改,则可以点击“自动生成微服务”功能进行微服务快速生成。如图4如示:
图 4 自动生成微服务
注:
处理物理表:指Datacenter下的表,用大写输入,如果有多个表,则用|线分隔;
自动生成微服务:可以自动化生成查询逻辑、返回字段信息及存储逻辑,自动生成后的逻辑如果需要调整,则用相应的修改功能实现。
查询条件修改
1、修改分页属性:实现按页查询或返回所有的数据,如图5如示:
图 5分页属性修改
2、修改查询条件:根据业务修改相应的查询条件,如图6、图7:
图 6 查询条件修改
图 7 查询条件修改
注:
查询SQL与汇总SQL中的变量用#开头、#结尾,变量来自于字段定义信息中的字段,如果不在字段信息中定义,则需要在查询SQL中增加;
第三方Http请求时,查询SQL定义的查询变量,则需要在Http请求参数中设置相应的请求参数,请求参数名称与查询变量名称要一模一样,大小一致,只是不需要传入#。
3、查询字段修改:根据业务修改相应的查询字段,如图8、图9:
图 8 查询字段修改
图 9 字段信息修改
注:
查询SQL中的字段数量与名称要与字段信息中的字段数量与名称一致;
字段信息修改
字段信息修改指返回字段信息,如图10:
图 10 字段信息修改
存储逻辑修改
自动化生成的存储逻辑只会生成简单的增、删、改、查逻辑,如果需要扩充更加复杂的逻辑,需要根据业务进行设置。
图11是调用存储过程的配置:
图 11 字段信息修改
微服务授权
微服务授权
在最右侧框中选中要授权的微服务双击
第三方系统接入
接口标准
工具datatools中微服务窗口
接口说明
测试页面 | ||
---|---|---|
开发平台访问地址 | http://192.168.100.99:8080/datacenter/index.do?reqCode=indexInit | |
用户名 | test | |
Ajax访问地址 | ||
获取网格数据分页数据 | reqCode: | 访问方法 |
reqCode | query | |
queryID | 页面编码,子页面编码,在子页定义中查看找到正确的ID | |
queryParam | 动态查询参数,Grid上面有一个过滤输入的地方,用于动态查询参数传入 | |
start | 开始行 | |
limit | 每页显示行数 | |
访问方式 | ||
获取网格数据数据(不分页) | reqCode | queryNoPage |
queryID | 页面编码,子页面编码,在子页定义中查看找到正确的ID | |
queryParam | 动态查询参数,Grid上面有一个过滤输入的地方,用于动态查询参数传入 | |
访问方式 | ||
获取树节点 | reqCode | queryForTree |
queryID | 页面编码,子页面编码,在子页定义中查看找到正确的ID | |
node | 树节点编码 | |
访问方式 | ||
获取代码表信息 | reqCode | jqueryCodeValue |
queryID | 页面编码,子页面编码,在子页定义中查看找到正确的ID | |
tableCode | 代码表编码 | |
codeFlag | 为1静态代码表 为非1则为动态代码表 | |
condition | 动态代码表查询条件 | |
dependOtherField | 动态代码表依赖字段 | |
访问方式 | ||
树节点复制 | reqCode | treeCopy |
queryID | 页面编码,子页面编码,在子页定义中查看找到正确的ID | |
内部主键 | 由后台配置决定其编码 | |
访问方式 | ||
树节点删除 | reqCode | treeDelete |
queryID | 页面编码,子页面编码,在子页定义中查看找到正确的ID | |
内部主键 | 由后台配置决定其编码 | |
访问方式 | ||
新增一条数据 | reqCode | insert |
queryID | 页面编码,子页面编码,在子页定义中查看找到正确的ID | |
其它传入编码 | 其它传入值(一个或多个),由页面配置信息决定 | |
访问方式 | ||
编辑一条数据 | reqCode | update |
queryID | 页面编码,子页面编码,在子页定义中查看找到正确的ID | |
其它传入编码 | 其它传入值(一个或多个),由页面配置信息决定 | |
访问方式 | ||
删除数据(0或多条) | reqCode | delete |
queryID | 页面编码,子页面编码,在子页定义中查看找到正确的ID | |
rows | 传入编辑数据,数组传入,数组用阿拉伯数字编号,数值的每个值为一个对象,对象的具体内容有后台配置页定,格式为 {"1":{"name":"托尼.贾","age":"27"},"2":{"name":"甄子丹","age":"72"},"n":"{"name":"namen","age":"agen"}"} | |
访问方式 | http://192.168.100.99:8080/datacenter/setting/AppDevHttp.do?reqCode=delete&queryID=子页面编码&rows={"1":{"name":"托尼.贾","age":"27"},"2":{"name":"甄子丹","age":"72"}} | |
批量编辑(0或多条) | reqCode | batchModify |
queryID | 页面编码,子页面编码,在子页定义中查看找到正确的ID | |
rows | 传入编辑数据,数组传入,数组用阿拉伯数字编号,数值的每个值为一个对象,对象的具体内容有后台配置页定,格式为 {"1":{"name":"托尼.贾","age":"27"},"2":{"name":"甄子丹","age":"72"},"n":"{"name":"namen","age":"agen"}"} | |
访问方式 | http://192.168.100.99:8080/datacenter/setting/AppDevHttp.do?reqCode=batchModify&queryID=子页面编码&rows={"1":{"name":"托尼.贾","age":"27"},"2":{"name":"甄子丹","age":"72"}} | |
导出 | reqCode | export |
queryID | 页面编码,子页面编码,在子页定义中查看找到正确的ID | |
functionDesc | 功能描述,后台配置 | |
printTemplate | 导出模板,后台配置 | |
访问方式 | ||
上传文件(手工上传) | reqCode | doUpload |
访问方式 | http://192.168.100.99:8080/datacenter/setting/AppDevHttp.do?reqCode=doUpload | |
返回fileUrl为访问的文件地址 | ||
上传文件(异步上传) | reqCode | doUploadAjax |
访问方式 | ||
返回fileUrl为访问的文件地址 |
微服务测试
测试软件
Datatools工具
测试说明
每个系统下面都有授权的微服务包,每个微服务包包含一个或者多个微服务信息
下图中有左中右三个模块
左侧:系统对应的微服务包列表信息;
中间:微服务对应的接口标准信息,不同的微服务有不同的接口标准,点击左侧菜单切换;
右侧:如果左侧字段信息列表有对应的代码表字段,点击对应的字段信息可以查询显示对应的值域代码;
测试界面
微服务监控
微服务错误信息
微服务日志查看
常见问题处理
系统登录默认密码
地址:http://192.168.0.44:8080/datacenter
账号:mic/center
密码:data