Mirth Connect 第二章 什么是通道?

本章主要介绍Mirth Connect开发框架,讲解运行的各个阶段,请大家仔细研读、理解,对后续章节帮助是很大的。开发者把前端与服务分开运行,服务框架集成了很多流行的服务及协议,从中我们也可以看出开发的大致原理。本章涉及到的知识点需要了解一些的,比如SOAP

第二章 什么是通道?

 

 

通道是Mirth Connect 的重要组成部分,被看做是一对多的一种单向通道,其通道组件是解耦的,在两个应用或多个应用之间传输医疗数据。Mirth Connect 能把长消息任务分割成小消息任务,其可靠性、灵活性、高性能得到保证。

 

 

图2-1 Mirth Connect抽象通道架构

通道架构组成:由源、通道、目标组成,其中通道包括过滤组件和转换组件。

创建一个通道需要满足如下特点:

      ● 源连接器类型,用于读取数据。(Source)

      ● 目标连接器类型,用于发送数据。(Destination)

      ● 入站消息格式。(inbound)

      ● 出站消息格式。(outbound)

      ● 传输(在入站和出站之间有个映射表)

 

什么是连接器(Connector)

连接器就是一个消息的端点,是Mirth Connect之间或与外部应用之间通讯的一种特殊协议。

支持的连接器列表:

      ● TCP/MLLP

      ● 数据库(MySQL,PostgreSQL,ORACLE,SQLServer,ODBC)

      ● 文件(本地文件系统和网络共享)

      ● PDF RTF文档

      ● JMS

      ● HTTP(免费版HTTPS协议不支持)

      ● SMTP

      ● SOAP(超HTTP)

收到数据的连接器被称为Reader(读取者),例如MLLP Reader;发送数据的连接器被称为Writer(写入者),例如Database Writer。

 

过滤器(filter)

现实世界中,许多应用之间互联,一个通道可能从许多源接收消息,然后这些消息根据消息的类型或条件,需要分门别类的处理。

有两种方法可以解决上述问题:过滤器或路由器。

路由器最关键的优势是根据唯一的位置决定消息到达目的地的条件。

过滤器是Mirth Connect处理消息的主要机制,根据消息的属性(段和元素)决定对消息的处理情况,过滤器从消息队列中检测消息的属性,而消息不会从消息队列中删除,如果本过滤器没有校验通过,原封不动的返回给消息队列,以便此消息用于其它的过滤器进行处理。

如果处理的消息类型很多,可以建立多个独立的到目标的通道,相互之间可以建立多个过滤器进行消息的处理。

 

转换器(Transformer)

许多情况下,遗留系统、客户应用和第三方应用,彼此之间需要根据数据模型进行消息的发送,尤其有特殊格式要求的数据系统。当新的商业需求提出一个唯一标准的时候,我们就需要把其他系统数据格式转成新系统要求的数据标准,传统方法处理起来即复杂又困难,更难于维护。

那么,对这些不同格式要求的消息,怎么进行数据互联呢?Mirth Connect提供了消息转换器来解决这类问题。通过Transformer,接收方得到了它理解的消息,变成自己的内部使用的数据格式。

Transformer支持的转换器类型:

      ● Message Builder 把入站消息片段映射成出站消息片段。

      ● Mapper 把入站消息片段映射成Mirth Connect 内部变量,这些变量在              以后会被用到。

      ● External Script 从名字上就能猜到,利用外部的javascript脚本进行消                   息的转换或映射数据。

      ● XSLT Step 就是个XSL转换工具

      ● JavaScript 和External Script一样,灵活使用。在本教程中有许多地方                 用到了JavaScript,Java代码也被用到了。

 

通道脚本执行的阶段

通道还支持脚本特性,增强消息的处理逻辑,适用于管道本身及所有传递的消息。

这些脚本的名字及含义如下:

● Deploy 部署脚本,Mirth Connect Server启动的时候或通道重新部署的时候

   启动这部分的脚本.

● Attachment 附件脚本,以本地的格式处理消息并允许抽取一部分消息作为

   附件存储起来,或者是不可避免的要修改消息。

● Preprocessor 预处理脚本,脚本还允许在Mirth connect开始将其转换为内

   部格式(即XML)之前以本机格式处理每个消息。

● Filter & Transformer 过滤器和转换器,是我们处理入站和出站消息的主要

   地方。

● Response 应答脚本,从名字上看出,就是处理目标发送的应答信息。

● Postprocessor 后处理器脚本,消息成功发送后执行的脚本。

● Undeploy 反部署脚本,Mirth Connect Server每次停止服务的时候调用,比

   如释放通道程序占用的内存。

 

脚本的执行顺序如下:

      1. Global Deploy script 全局部署

      2. Deploy 部署

      3. Attachment script 附件脚本

      4. Global Preprocessor script 全局预处理脚本

      5. Preprocessor script 预处理脚本

      6. Source connector Filters script 源连接器过滤器脚本

      7. Source connector Transformer script or mapping 源连接器转换器脚本或

     映射

      8. Destination 1 connector Filters script目标1连接器过滤器脚本

      9. Destination 1 connector Transformer script or mapping 目标1连接器转

     换脚本或映射

      10. Destination N connector Filters script目标N连接器过滤器脚本

      11. Destination N connector Transformer script or mapping 目标N连接器

      转换脚本或映射

      12. Response 1 Transformer script or mapping 应答1转换脚本或映射

      13. Response N Transformer script or mapping 应答N转换脚本或映射

      14. Postprocessor script 后处理器脚本

      15. Global Postprocessor script 全局后处理器脚本

      16. Undeploy 反部署

      17. Global Undeploy script 全局反部署脚本

 

Deploy、Global Deploy每次管道重新部署启动一次,Undeploy、Global Undeploy也是一样,其他的每次发送接收消息都要执行一遍。注意Global Preprocessor在Preprocessor之前执行,Global Postprocessor在Postprocessor之后执行。

通道在序列里操作,首先被执行的是第一个通道的Attachment,而第一个通道Postprocessor是最后执行,让我们看看序列通道执行的情况如下图:

 

 

图2-2 脚本执行序列

这个序列有三个通道串行执行,每到Destination Connector执行完毕就进入第二个通道,而应答的处理也是逐级递归。

 

接下来的内容我们就详细介绍这些情况。

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Mirth Connect是一个强大且免费的开源集成引擎,可用于消息传输和数据转换。它提供了一套灵活的工具和功能,可帮助用户在不同的系统之间轻松地进行数据交换和集成。 Mirth Connect教程涵盖了从安装和配置Mirth Connect到创建通道和转换器的各个方面。 首先,教程将指导用户如何下载和安装Mirth Connect。然后,它将介绍如何配置Mirth Connect并设置与其他系统的连接。 接下来,教程会详细介绍如何创建通道通道是消息传输和数据转换的核心组件。教程将解释如何设置通道的来源和目标,以及如何定义转换规则和过滤器。 教程还会介绍如何使用Mirth Connect的界面和工具来监控和管理通道。用户将学习如何查看消息的状态和历史记录,以及如何调试和解决传输和转换问题。 此外,教程还将介绍如何创建自定义转换器和脚本,以满足特定的需求。用户可以学习如何使用JavaScript、XPath和其他技术来实现高级的数据转换和处理。 最后,教程还将涵盖如何部署和维护Mirth Connect。用户将了解如何监控系统的性能和运行状况,以及如何处理错误和故障。 总之,Mirth Connect教程是一个全面而实用的指南,可以帮助用户快速上手并熟练使用Mirth Connect进行数据集成和消息传输。无论是初学者还是有经验的用户,都可以从教程中获得帮助和指导,以实现高效的系统集成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值