本节讲述了CUST自定义协议(以HL7为例)穿透场景的创建过程,包括创建ESB项目、创建CUST协议相关的服务、部署、监控和运行。通过本节你将了解到如下内容:

  1. 如何创建CUST(以HL7为例)协议穿透场景;
  2. 如何在Studio中测试运行开发的业务逻辑;
  3. 如何通过APIGateway Console部署HL7相关的Module;

项目源码如附件所示:CUSTDemo.zip (opens new window)

创建ESB项目

  1. 打开APIGateway Studio,在资源管理器中,点击右键,选择"创建->ESB项目"菜单项,创建ESB项目,如下图所示。

worddavd8ec9f289a11a9e76a62e6e3492a8925.png

  1. 在项目创建向导中,填写项目的基本信息,如项目名称等,如下图所示。

worddav08c98dbf6d4240aec109e039de5e58a7.png

  1. 点击【下一步】,设置项目的引用库,这里使用缺省设置,如下所示。

worddav94ed965b7f7d79156f12007741385410.png

  1. 点击【完成】按钮,完成创建ESB项目。创建ESB项目后,资源管理器如下所示。

worddav7c033be315f21c63c828745c9798d760.png

至此,ESB项目创建完毕。

# 创建公共Module

  1. 在资源管理器中,选中project,点击右键,选择"创建->公共Module"菜单项,创建公共Module,如下图所示。

worddave6eeb371c95a44ee815292150893cd78.png

# 创建CUST Transport

1.在资源管理器中,选择"Transport->创建"菜单项,选中"CUST类型Transport",如下图所示。

worddav6f3cfe94653879e3ac7c609c9455fb67.png

2.修改Cust Transport 扩展配置信息,如下图所示。

image2023-9-18_14-52-12.png

  • 选择协议类型为: HL7;
  • 扩展实现不做任何改变;

扩展属性配置如下:

属性标识 属性名称 属性值 属性描述
port 目标监听端口 9091 目标监听端口
charset 消息的字符集 UTF-8 接收的消息字符集:例如填写GBK
routeName 属性名 default 路由名称

# 创建CUST Endpoint

1.在资源管理器中,选择"Endpoint->创建"菜单项,如下图所示。

worddav72ee6779e87c47d2e56927c7ba631ba2.png

2.修改Cust Endpoint 扩展配置信息,如下图所示。

image2023-9-18_14-57-32.png

  • 选择协议类型为: HL7;
  • 扩展实现不做任何改变;

扩展属性配置如下:

属性标识 属性名称 属性值 属性描述
ip 目标接收主机地址 127.0.0.1 目标接收主机地址
port 目标接收端口 9000 目标接收端口
charset 消息的字符集 UTF-8 发送的消息字符集:例如填写GBK

# 创建业务Module

  1. 在资源管理器中,选中project,点击右键,选择"创建->业务Module"菜单项,创建业务Module,如下图所示。

worddav9ce72d91e2976e31b1d1f8788d3a355d.png

  1. 在"业务Module"向导中,输入业务Module的相关信息,点击【完成】按钮,创建业务Module,如下图所示。

rest.jpg

  1. 业务Module创建完毕,展开新创建的业务Module,如下所示。

worddavfdb9552bb8402b0299debf437c8f5021.png

# 创建CUST业务服务

  1. 在资源管理器中,选中新建的业务Module"com.primeton.esb.project.restaurant",点击右键,选择"创建->CUST业务服务"菜单项,创建CUST业务服务,如下图所示。

worddave6fc576c1adc20204ebe39d2181bc7c9.png

  1. 在"创建CUST业务服务"向导中,输入相应的信息,点击【完成】按钮,完成CUST业务服务的创建,如下图所示。

image2023-9-18_15-2-38.png

  1. 编辑生成的CUST业务服务的文件。如下所示。

image2023-9-18_15-4-27.png

  • 这里Endpoint选择刚才建立的名为:com.primeton.esb.project.common.endpoint 的 CUST Endpoint。
  • 协议类型选择HL7。

# 创建CUST代理服务

  1. 在资源管理器中,选中新建的业务Module代理服务项,点击右键,选择"创建->CUST代理服务"菜单项,创建CUST代理服务,如下图所示。

worddavf2b66d8b4fea1b1e37e6142f6f09c020.png

  1. 在"创建CUST代理服务"向导中,输入相应的信息,点击【完成】按钮,完成CUST代理服务的创建,如下图所示。

image2023-9-18_15-7-5.png

  1. 编辑生成的CUST代理服务的文件。如下所示。

image2023-9-18_15-9-8.png

说明

  • 这里Transport选择刚才所创建的名为:com.primeton.esb.project.common.transport 的CUST Transport;
  • 这里关联服务类型选择:业务服务;
  • 这里服务名称选择刚才所创建的名为:com.primeton.esb.project.restaurant.bs.hl7.bizService_cust_default的业务服务;
  • 这里协议类型选择:HL7
  • 扩展属性中的routeName的属性值修改为“default”;

扩展属性配置如下:

属性标识 属性名称 属性值 属性描述
routeName 属性名 default 路由名称

点击保存按钮即可。

# 导出部署包

  1. 在资源管理器中选中"project"项目,点击右键,点击"导出(O)..."菜单项,准备导出该项目,如下图所示。
  2. 在"导出"窗口中,选择"ESB->导出部署包",点击【下一步】按钮,如下图所示。
  3. 在弹出的"导出部署包"窗口中选择这两个Module,并指定"保存位置",将部署包命名为CUSTDemo.ecd,点击【下一步】按钮,如下图所示。

worddav325f69a4fad935973df26bb9e4063cee.png

  1. 点击【完成】按钮,会弹出"提示"窗口,显示"导出成功",表明已经成功导出这两个Module。

# 部署

  1. 登录Governor,使用管理账号登陆,在“服务器管理-服务器组管理”界面,创建esb服务器组,如下图所示。

image2023-9-20_15-23-0.png

  1. 点击确定后保存服务器组信息,如下图所示。 image2023-9-20_15-24-7.png

3.在“服务器管理-服务器管理”界面,创建esb服务器,并添加到之前创建的服务器组,如下图所示。

image2023-9-20_15-26-25.png

  1. 点击确定后保存服务器组信息,如下图所示。

image2023-9-20_15-27-12.png

  1. 使用开发账号登陆,在“模型部署”界面,单击“新建部署”进入模型部署页面,如下图所示。 image2023-9-20_15-29-46.png

  2. 单击 “选取文件” 选择一个部署包(.ecd)或补丁包(.epd),单击“上传”,上传成功后会显示相应信息,如下图所示。

image2023-9-20_15-30-45.png

  1. 勾选“服务器”,点击“部署”,将模型部署到服务器。 image2023-9-20_15-31-28.png

  2. 部署成功后会显示相应信息,如下图所示。 image2023-9-20_15-32-14.png

# 发送消息

1.通过testpanel进行测试,在Receiving Connections窗口创建HL7 SERVER,HL7服务端的HOST和Port端口对应CUST Endpoint配置的扩展属性ip和port,如下图所示。
image2023-9-18_17-19-32.png

2.在Sending Connections发送窗口创建客户端,HL7发送端的HOST和Port端口对应APIGateway ESBServer的ip和CUST Transpoint配置的扩展属性中的port,如下图所示。
image2023-9-18_17-26-40.png

3.在messages窗口添加发送的HL7消息文件,如图所示。消息文件: second.hl7 (opens new window)
image2023-9-18_17-28-31.png

4.选择messages中导入的文件,在右侧send中选择之前第2步创建的Sending Connections中的客户端点击send来发送,如图所示。
image2023-9-18_17-34-11.png

# 结果

1.可以看到发送端在发送后返回响应Response,如图所示。
image2023-9-18_17-37-32.png

2.服务端Receiving Connections中的9901收到消息,如图所示。
image2023-9-18_17-39-56.png