IRIS如何进行CRUD操作
前言
自接触IRIS以来在医院之中使用最多的是其作为一个ESB集成引擎来使用,作为医院的集成平台+数据中心中的一环。但是其也可以进行CRUD作为前后端分离项目的后端使用:
文章目录
前言
文章目录
一、开发技术和工具
二、开发路径和相关代码
1.数据库
2.准备工作
3.开发接口的相关步骤
4.成果展示
总结
本文章将以一个简单的页面展示IRIS的相关CRUD操作:
是的,我计划使用IRIS重构Production页面,先展示一下我开发完的成果吧:
呃の 好像是一毛一样,哈哈
一、开发技术和工具
工欲善其事,比先利其器:
后端:HealthConnect+Global
前端:vue
使用IRIS的%CSP.REST开发的Rest API接口,前端使用vue简单的把接口相关内容展示,可以编辑、新增组件,控制production启动、停止、更新检测状态。
二、开发路径和相关代码
1.数据库
首先,我们找到Production的相关表,分别是:Ens_Config.Item 和 Ens_Config.Production 如图所示:
所以代码的思路很明确了对Ens_Config.Item进行新增、删除、修改、查询操作对Ens_Config.Production进行查询操作。
2.准备工作
在正式开发之前我们得先做一些准备工作:比如开放网关
· 新建一个API类,如图所示:
· 进入HealthConnect管理页面:系统管理—安全—应用程序—Web应用程序,如图:
· 新建web应用程序,我定义的是 【/api】 代码中api管控的类为 BKIP.Rest.api
· 直接给一个【ALL】的角色
测试一下:
截至目前我们已经开放了第一个api接口,也为我们的程序开放了网关。
3.开发接口的相关步骤
接口开发我习惯分为四步:定义实体类、组织SQL、编写方法接收结果集、组织返回,提供restful
(1)定义实体类
- Production实体:Production
- Production的组件实体:Items
(2)组织SQL(仅展示查询组件list)
此处我们需要动态SQL,代码里面是这样写的:
(3)编写方法返回结果集
- 对结果处理并返回的这个方法我是写在BO中:
BO写好之后测试一下:
没问题!!!
(其实执行SQL的这个步骤包括拿到结果集编辑方法可以直接找个REST类直接写,为什么选择此?HealthConnect的【可视化追踪】功能十分的好用,如果我把接口从BS–BO这样转发一下那么是不是调试的时候就很方便呢?当然这个也是因为IRIS使用至今还没找到一个十分合适的DeBUG方式。)
- 编写一个转发的BS:
只把消息转发并不做任何操作,部署到Production中,如图:
(4)组织返回,提供restful
在前文中已经提供了如何开放url的方法,这边直接截图略过:
此Rest的接口编写思路:提供restful接口接收JSON,把JSON对象化传给BS–>BO,拿到返回的对象转成JSON返回上游,核心源码如图:
测试一下:
成功!!!
按照此思路,我接着编写了其它相关接口:
顺手编写了一个简单的前端,在下方展示。
4.成果展示
· 首先肯定是production界面的显示:
· 鼠标放到组件上面会浮框显示相关信息
· 双击进入编辑页面,可以保存,组件的开关也在编辑进行
· 主页点击关闭可以关闭Production
· 下拉列表可以展示此命名空间下Production列表
· 选择对应的production名称,点击启动可以启动对应的Production
总结
以上就是今天要演示的IRIS的CRUD功能到这里就结束了,主要演示的是后台接口开发的一个思路,当然还有其它更多的方式和方法,这里只做分享。都看到这里了,如果觉得还不错就给我点赞吧!感激不尽
感谢
很棒的文章!
欢迎参赛选手们广泛转发给同学们拉票啊,:)
不错,很棒的文章!
写的很好,感谢分享!
Nice!
社会网络
InterSystems 资源
登录或注册
登录或创建一个新帐户以继续
登录或注册
登录或创建一个新帐户以继续
登录或注册
登录或创建一个新帐户以继续