|
[接上页] 在mq中,队列分为很多种类型,其中包括:本地队列、远程队列、模板队列、动态队列、别名队列等。本地队列又分为普通本地队列和传输队列,普通本地队列是应用程序通过api对其进行读写操作的队列;传输队列可以理解为存储-转发队列,比如:我们将某个消息交给mq系统发送到远程主机,而此时网络发生故障,mq将把消息放在传输队列中暂存,当网络恢复时,再发往远端目的地。 远程队列是目的队列在本地的定义,它类似一个地址指针,指向远程主机上的某个目的队列,它仅仅是个定义,不真正占用磁盘存储空间。根据应用逻辑划分,esb主要划分成发送和接收两种队列: 发送队列 接收队列 (3)服务提供方 soa设计中,将应用系统对外提供的实现了特定的、可标识的一组(业务)功能称为服务。除了业务功能,esb内配置的服务还实现中心管理接口,以及参与环境的边界配置、操作和监视。 二、数据接口方式 为了实现各医疗卫生业务数据能够与区域卫生信息平台实现联动,需要在医疗卫生机构部署数据交换前置服务部件:以数据交换适配器的方式实现各分区医疗卫生信息系统(his、lis、pacs、社区卫生系统等)的集成接入,按照soa的设计理念,被集成系统需要与数据交换平台交互的功能组件、数据组件将被封装成“服务”,屏蔽被集成系统所采用的具体技术及其实现方式,以标准的接口方式与数据交换平台衔接。同时根据需要部署前置数据库,进行交换数据的前置缓存。各个应用系统通过与服务总线esb实现消息交互。通过在业务系统端安装相应的软件适配器,实现与消息交换中心的信息交互。适配器由软件模块、软件配置文件、应用编程接口等组成。 在消息总线系统的整体设计架构中,各个具体的业务系统通过adapter连接到消息消息交换平台收发业务数据。适配器起着耦合消息交换平台与具体业务系统的作用。在我们的方案中有三种适配器:标准适配器、专用适配器和商用适配器。标准适配器是由标准的adapter kernel和api组成。adapter kernel实现和消息交换中心的消息交互和对消息的实时监控,并提供将消息分发到应用系统的功能。api是为应用系统提供的一套标准的接口,具有足够的扩展性,可以灵活地嵌入到业务流程中,同时将与业务无关的通讯配置定义与业务代码隔离。具体地,adapter实现以下的功能: (1)实现消息的安全、可靠传递; (2)实现消息的透明传递,adapter的实施者不必关注传递技术细节; (3)接口通用化,降低因开发架构不同导致的业务应用侧编程复杂性; (4)实现具有共同性的消息封装、变换、接收功能。例如,加解密/校验/字符集变换及hcn-xml标准协议; (5)简单的远程安装配置方法,适配器的函数调用库可以平滑升级而不影响业务应用; (6)可以与消息交换平台交互管理信息,实现流量控制、报文蓄积、本地日志等功能。 有关适配器组件的有关功能说明如下: (1)总线连接器 功能概述:连接mq队列管理器和队列,发送和接收消息。在其内部封装了mq提供的连接、收发消息等接口。它与其他组件/子模块通过内部调用机制传递控制信息,和消息处理器通过内部接口传递处理好的消息。总线连接器不对消息内容做任何处理。 (2)日志管理器 功能概述:记录运行日志和错误日志,提供不同内部函数对应不同日志记录要求。 (3)配置管理器 功能概述:读取配置文件和业务对象定义以供初始化使用;生成对应消息控制数据(如消息路由、应用程序标志、消息类型)。 (4)异常处理器 功能概述:负责异常处理。根据异常定义,提供异常处理函数;标准化异常处理流程;和日志管理器配合记录错误日志。 (5)消息处理器 功能概述:负责消息的转换、封装、提取。主要功能如下: 总线消息的封装、提取。 提供出口函数接口以实现业务对象与集成消息之间的转换。 (6)专用适配器管理器 功能概述:目标端的主控程序,负责协调各个模块之间的运行关系。启动之后,主控程序通过配置管理器提供的信息启动一个或多个工作进程管理器。 (7)消息分发控制器 功能概述:消息分发服务器的主控程序,负责协调消息分发服务器各个模块之间的运行关系。 (8)工作进程管理器 功能概述:负责启动和控制工作进程。主控程序根据配置信息启动工作进程管理器,每个工作进程管理器对应一个mq本地队列(消息分发服务器将单一接收队列中的消息根据不同的应用发送到指定的队列)。工作进程管理器可以根据配置启动一个或多个工作进程从而提高消息传递的效率。 |