网站地图 | Tags | 热门标准 | 最新标准 | 订阅

GB/T 28168-2011 信息技术 中间件 消息中间件技术规范

  • 名  称:GB/T 28168-2011 信息技术 中间件 消息中间件技术规范 - 下载地址1
  • 下载地址:[下载地址1]
  • 提 取 码
  • 浏览次数:3
下载帮助: 发表评论 加入收藏夹 错误报告目录
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
新闻评论(共有 0 条评论)

资料介绍

  ICS 35. 060 L 74

  中 华 人 民 共 和 国 国 家 标 准

  GB/T 28168—2011

  信息技术 中间件 消息中间件技术规范

  Information technology—Specification formessage-oriented middleware

  2011-12-30发布 2012-06-01实施

  中华人民共和国国家质量监督检验检疫总局中 国 国 家 标 准 化 管 理 委 员 会

  

  发

  

  布

  GB/T 28168—2011

  目 次

  前言 Ⅲ

  1 范围 1

  2 规范性引用文件 1

  3 术语和定义 、缩略语 1

  3. 1 术语和定义 1

  3. 2 缩略语 2

  4 消息中间件的架构和组成 3

  4. 1 消息中间件架构 3

  4. 2 服务子系统 3

  4. 3 监控管理子系统 5

  4. 4 应用开发子系统 5

  5 功能要求 5

  5. 1 综述 5

  5. 2 服务子系统属性 5

  5. 3 监控与管理 10

  5. 4 应用开发子系统 11

  6 消息中间件的部署模式及拓扑结构 11

  6. 1 部署模式 11

  6. 2 拓扑结构 12

  7 质量特性属性 12

  7. 1 易用性 12

  7. 2 可靠性 13

  7. 3 效率 13

  7. 4 可维护性 13

  7. 5 可移植性 14

  8 支持的运行环境 14

  8. 1 硬件体系结构 14

  8. 2 操作系统 14

  8. 3 网络通信协议 14

  8. 4 Java运行环境 14

  附录 A (资料性附录) 消息中间件产品示例 15

  Ⅰ

  GB/T 28168—2011

  前 言

  本标准按照 GB/T 1. 1—2009给出的规则起草 。

  请注意本文件的某些内容可能涉及专利 ,本文件的发布机构不承担识别这些专利的责任 。

  本标准由全国信息技术标准化技术委员会(SAC/TC28)提出并归 口 。

  本标准起草单位 :东方通科技发展有限责任公司 、中国电子技术标准化研究所 、北京航空航天大学 、中国科学院软件研究所 、金蝶中间件有限公司 、中创软件商用中间件股份有限公司 、北京中和威软件有限公司 、北京赛迪时代信息产业股份有限公司 。

  本标准主要起草人 :马新群 、任宇 、李海波 、陈志峰 、朱律玮 、宁凯 、张红艳 。

  Ⅲ

  GB/T 28168—2011

  信息技术 中间件 消息中间件技术规范

  1 范围

  本标准规定了消息中间件的架构及组成 、功能要求 、质量特性要求及支持的运行环境等 。

  本标准适用于消息中间件软件的开发和应用 。

  2 规范性引用文件

  下列文件对于本文件的应用是必不可少的 。凡是注 日期的引用文件 ,仅注 日期的版本适用于本文件 。凡是不注日期的引用文件 ,其最新版本(包括所有的修改单)适用于本文件 。

  GB/T 11457—2006 信息技术 软件工程术语

  Java消息服务规范 v1. 1(Java Message Service Specification,v1. 1)

  3 术语和定义、缩略语

  3. 1 术语和定义

  GB/T 11457—2006中界定的以及下列术语和定义适用于本文件 。

  3. 1. 1

  应用 application

  应用程序

  通过调用开发接 口 ,在运行过程中使用中间件系统提供功能和服务的各种程序 。

  3. 1. 2

  消息 message

  不同的应用程序(进程或线程)之间传递或交换的信息 。

  注 : 消息的格式及内容 , 由该消息的提供者及接收者协商而定 。

  3. 1. 3

  消息的发送者 messagesender

  产生消息的应用程序 。

  3. 1. 4

  消息的接收者 messagereceiver

  接收消息的应用程序 。

  3. 1. 5

  队列 queue

  存储消息的缓冲区实体 。

  注 : 队列由消息索引区和数据存储区组成 。

  3. 1. 6

  消息中间件系统 message-oriented middlewaresystem

  存在于物理机器上的一套消息中间件软件运行系统 ,包含一组程序和应用开发接 口 (API) 。

  1

  GB/T 28168—2011

  3. 1. 7

  消息优先级 messagepriority

  根据消息的紧急程度 ,为消息设置的等级 。消息可以有不同的优先级 。在消息的发送中 ,高优先级的消息可以得到优先处理 。

  3. 1. 8

  单消息 singlemessage

  消息中间件中传输的一条单一消息 。

  3. 1. 9

  组消息 group message

  消息中间件中传输的一系列带有先后顺序的消息的组合 。

  注 : 组消息由多个单消息组合而成 ,在处理时相当于一个消息 。组消息中的单个消息 ,称为子消息 。

  3. 1. 10

  Java消息服务 Java MessageService;JMS

  使用基于点到点或者发布/订阅的交互方式 ,遵从 J2EE技术规范并实现异步消息传输的消息服务系统 。

  3. 1. 11

  消息有效期 expiry ofmessage

  产生消息时 ,应用设定的消息属性 ,表示消息可在队列中存放的最长时间 。

  3. 1. 12

  消息生存期 lifecycleofmessage

  消息从进入队列到该消息被接收者取出或被删除的时间段 。

  3. 1. 13

  死信 dead letter

  进入队列但不能完成传递过程的消息 。

  注 : 如 目的队列不存在的消息或有效期时间到的消息等 。

  3. 1. 14

  事件 event

  消息中间件系统在消息的传递过程中产生的动作 。

  注 : 事件可由用户通过配置来定义 。 由事件触发产生的消息 ,称为事件消息 。

  3. 1. 15

  集群 cluster

  若干消息中间件系统组建为一个群组 ,对外提供消息的发送 、接收和处理功能 ,宜具备负载均衡和防止单点失效的功能 。

  3. 1. 16

  主题 topic

  一种向多个消息订阅者分发消息的机制 。发布者根据指定的主题名发布消息 ,订阅者通过主题订阅消息 。

  注 : 主题使得订阅者和发布者保持互相独立 ,不需要接触即可保证消息的传送 。

  3. 2

  缩略语

  API

  应用编程接口(Application Programming Interface)

  TCP/IP

  传输控制协议/因特网协议(Transfer ControlProtocol/InternetProtocol)

  HTTP

  超文本传输协议(HypertextTransferProtocol)

  2

  GB/T 28168—2011

  JDK

  Java开发工具包(Java DevelopmentKit)

  Java EE

  Java企业版(Java Enterprise Edition)

  J2EE

  Java 2企业版(Java 2 Enterprise Edition)

  SSL

  安全套接层(Secure SocketsLayer)

  4 消息中间件的架构和组成

  4. 1 消息中间件架构

  消息中间件是基于队列与消息传递技术 ,在网络环境中为应用系统提供同步或异步 、可靠的消息传输的支撑性软件系统 。

  消息中间件一般由服务子系统 、监控管理子系统 、应用开发子系统三部分组成(参见附录 A) 。其架构如图 1所示 :

  图 1 消息中间件架构

  消息中间件的组成功能如下 :

  a) 服务子系统是消息中间件的核心运行实体 ,提供消息传输 、存储等功能 ;

  b) 监控管理子系统是消息中间件的用户操作入 口 ,提供对服务子系统监控 、管理的功能 ;

  c) 应用开发子系统是消息中间件提供给用户进行应用程序开发的接口库 。

  4. 2 服务子系统

  服务子系统由图 2所示各功能模块组成 :

  图 2 消息中间件的服务子系统

  4. 2. 1 核心进程管理

  负责对整个系统的运行情况进行监控 ,报告 、诊断和排除各种错误 。它能够及时掌握各核心进程的运行情况 , 当某个进程出现问题时 ,可以及时监测到并进行修复或报警 。

  3

  GB/T 28168—2011

  4. 2. 2 网络传输

  消息中间件应提供在异构计算机系统间的数据传输 ,且这种传输是实时和可靠的 。

  参与消息传递的消息中间件节点 ,可以是位于同一计算机系统中的节点 ,也可以是位于不同计算机系统中的节点 。消息中间件应能屏蔽计算机硬件和物理网络的差别 ,使得节点间逻辑关系的建立与硬件和网络无关 。

  4. 2. 3 应用程序管理

  消息中间件应提供对应用程序的灵活管理 ,包括启动 、停止 、监控和管理 ,并提供如下应用程序的启动方式 :

  a) 随系统启动而触发 ;

  b) 应根据用户设定的规则 ,如当队列中的消息积存到一定阈值时 ,启动应用程序去接收消息 , 以避免和减少在队列中没有消息时 ,应用进行消息获取的无效操作 ,保证应用及时准确地获得消息 ,提高应用处理的能力 ;

  c) 定时启动 。

  4. 2. 4 消息管理

  消息中间件的服务子系统应对队列中的消息进行管理 ,在消息进入队列 、网络发送 、网络接收 、从队列中接收的过程中 ,能够对消息的有效期进行检测 , 自动丢弃有效期到期的消息 。

  消息进入队列后 , 出现故障造成无法传递时 ,该消息将被丢弃或处置 ,消息将结束其生存期 。

  4. 2. 5 事件管理

  消息中间件应能根据用户定义的事件 ,适时产生事件消息 ,并允许用户通过调用应用接口进行查看和接收 ,及时了解系统运行中消息发送 、接收的情况 。

  4. 2. 6 事务管理

  消息中间件应提供消息的事务管理 。多个消息发送和接收可包含在一个事务里 , 系统保证一个事务中的所有消息发送和消息接收的操作同时成功 ,或同时失败 。失败的消息接收操作会将消息回退到队列中 ,等待下次的处理 。

  4. 2. 7 队列管理

  队列是消息的载体 ,消息中间件应提供对队列的静态和动态的配置 、创建 、更新和删除 ;允许用户根据需要 ,在应用运行过程中 ,调用应用开发接口来创建临时队列 ,使用完毕后 ,清除该队列 。

  4. 2. 8 日志管理

  为便于用户对系统运行状态的了解和问题的定位 ,应提供完整的 日志功能 ,通过日志可以查看系统的运行情况 ,并可以排除系统中出现的错误 。

  日志记录级别及日志文件的大小都可以根据用户需求灵活配置 ,用户进行系统调试时 , 日志级别可以设置得较高 , 以详细记录系统传输的信息 , 当系统稳定运行后 , 日志级别可以相应调低 , 以减少日志记录对资源的占用 。

  4. 2. 9 安全管理

  消息中间件宜提供安全管理功能 。安全管理包括消息中间件的节点间身份认证 、传递消息的网络

  4

  GB/T 28168—2011

  连接认证 、消息传输的加密等 。

  消息中间件可提供可定制的安全功能实现 ,来满足应用特定的安全要求 。 可提供消息层 、传输层 、网络层的安全实现 。

  4. 3 监控管理子系统

  监控管理子系统是实现对消息中间件及相关应用进行配置 、监控 、启动 、停止及管理的模块 。

  管理工具应对系统对象进行动态管理和控制 , 以达到对系统运行规模进行调控 、节省系统资源 、提高效率的 目的 。

  宜提供集中监控和管理功能 ,通过一个统一入 口 ,对所有消息中间件节点进行监控和管理 。

  4. 4 应用开发子系统

  应用开发子系统是供开发人员进行基于消息中间件开发应用系统的编程接 口 。开发人员利用应用开发子系统 ,能够完成消息的传递和系统的维护管理 。

  应用开发子系统应 提 供 对 多 种 计 算 机 语 言 、开 发 工 具 和 开 发 环 境 的 支 持 , 以 方 便 应 用 的 开 发 和部署 。

  a) 提供 C、C# 、C++和 Java语言的应用开发接 口 ;

  b) 提供符合 Java消息传输规范(JMS)的 Java语言开发接 口 ;

  c) 提供可供可视化开发工具使用的 Win32应用开发接 口 。

  5 功能要求

  5. 1 综述

  本章从服务子系统 、监控与管理 、应用开发子系统 3个方面 ,对消息中间件的功能要求进行了规定 。

  5. 2 服务子系统属性

  5. 2. 1 消息组成及属性

  5. 2. 1. 1 消息组成

  消息应由消息头和消息体组成 。消息头中定义了消息的属性信息 ,包含消息类型 、消息唯一标识 、消息目的地 、消息优先级 、消息有效期 、消息大小 、用户 自定义属性等信息 ; 消息体中包含消息内容或消息所传输文件的名称 。通过消息属性 ,可以获得消息的相关信息 ,也可以来控制消息 。

  5. 2. 1. 2 消息类型

  按照消息体的存储方式 ,应分为缓冲区消息和文件消息 ,缓冲区消息中存储缓冲区的内容 ,文件消息中存储文件的名称 。

  5. 2. 1. 3 消息唯一标识

  消息标识 ,可由应用设定 ,如果应用没有设定 ,应由消息中间件自动产生 。 消息的标识应保证消息在全网内的唯一性 。

  5. 2. 1. 4 消息目的地

  发送消息时 ,应可以指定该消息的 目的地 。 目的地可以是当前中间件系统节点 ,也可以是当前中间件系统相邻的节点 ,还可以是和当前节点不相邻的节点 。

  5

  GB/T 28168—2011

  5. 2. 1. 5 消息目标队列

  发送消息时需要指定的目标队列 。

  5. 2. 1. 6 消息优先级

  应提供根据消息的紧急程度 ,为所发送的消息设置优先级的功能 。一般情况下 ,高优先级的消息具有更多的发送机会 。

  5. 2. 1. 7 消息有效期

  应提供消息有效期控制的机制 ,丢弃或处置过期消息 ,释放占用的系统资源 ,保证整个系统的运行效率 。

  有效期控制机制应不受发送方 、接收方时钟不一致的影响 。

  5. 2. 1. 8 消息大小

  消息中间件通过该属性 ,获知消息的大小或设定发送消息的尺寸 。

  5. 2. 1. 9 消息的自定义属性

  消息中间件应提供消息自定义属性的功能 ,允许用户根据业务的需要和属性规则设定自定义属性信息 。接收消息时 , 自定义属性可用于过滤消息 ,来接收和应用指定的 自定义属性及属性值相匹配的消息 。

  5. 2. 2 消息分组

  消息中间件应提供消息分组功能 。组消息在消息中间件中 ,是作为一个整体来处理的 。 消息组中的消息是按照先后顺序进行发送和接收的 。

  5. 2. 3 消息的持久性

  按照消息的持久性 ,消息中间件系统应提供对持久性消息和非持久性消息的支持 。 当系统发生故障时 ,非持久性消息被丢弃 ;持久性消息进行保存 ,并在系统重新启动后恢复 。 系统正常运行时 ,在消息的有效期内 ,系统保证持久性和非持久性消息不会丢失 。

  5. 2. 4 消息的传输控制

  5. 2. 4. 1 消息传输的唯一性

  消息进入队列后 ,消息中间件负责传输 。在目标节点可达的情况下 ,应保证消息能送达 目 的地 ,且该消息的传输是不重复的 。

  5. 2. 4. 2 多种消息的传输方式

  消息中间件系统应提供点到点 、路由转发和发布/订阅等多种消息传输方式 。

  5. 2. 4. 2. 1 点到点消息传输

  点到点消息传输是指需要进行消息传输的两方直接 建 立 传 输 通 道 , 进 行 消 息 传 输 的 方 式 , 如 图 3

  6

  GB/T 28168—2011

  所示 :

  图 3 点到点消息传输

  5. 2. 4. 2. 2 路由转发消息传输

  路由转发消息传输是指消息中间件支持在不相邻的系统间传输消息的方式 ,如图 4所示 :

  图 4 路由转发消息传输

  两个不相邻的消息中间件间宜支持多条路由互为备份 。 当正在使用的路由发生故障时 ,可以 自动切换到备份路由上 ,保证消息的正常连续传输 。

  5. 2. 4. 2. 3 发布/订阅消息传输

  发布/订阅消息传输方式是指通过发布/订阅代理 ,为应用提供了一种透明的信息发布和信息消费的框架 ,如图 5所示 :

  消息的发布者只负责发布信息的收集 ,并通过一个公共 “主题 ”来表示这个消息 ,消息的订阅者通过公共主题来订阅需要的消息 , 当有订阅 “主题 ”的消息发布时 ,消息自动发送给订阅者 。

  a) 订阅和发布可以实现一对多 、多对一和多对多的消息传递方式 ;

  b) 订阅者可以根据 自 己 的 需 要 订 阅 某 些 主 题 , 然 后 在 适 当 的 时 间 从 该 主 题 上 接 收 已 经 发 布 的消息 。

  订阅者和发布者可以分布在一个消息中间件系统上 ,也可以分别分布在不同的系统上 ,分布在不同系统上的发布者和订阅者通过发布订阅代理间的网络进行消息传输 。

  图 5 发布/订阅消息传输

  5. 2. 4. 3 断点续传功能

  消息中间件系统应提供断点续传功能 。消息在传输过程中 ,不论是系统停止 、硬件断电 、硬件异常 、非正常关机还是网络意外中断等情况 ,消息都应仍保留在消息队列中 ,要保证消息没有丢失 、内容完整 ,保证顺序 ,系统恢复后 ,消息将从传输失败点继续发送 ,而不是整个消息重新发送 。

  7

  GB/T 28168—2011

  5. 2. 5 连接管理

  消息中间件应提供根据用户的需要 ,适时地建立网络连接通路的功能 。 当网络链路发生故障后 ,能够自动重建连接 。

  5. 2. 5. 1 常连接

  在消息中间件间以预连接的方式建立传输通道 , 以减少因频繁建立/拆除连接所引起的系统开销和网络开销 ,并通过定时发送检测包来检测其通断情况 。

  5. 2. 5. 2 按需连接

  在系统间有数据需要传输时 , 以实时建立连接的方式来建立传输通道 ,完成传输后 自动关闭连接 ,以此来节约系统占用 的 网 络 资 源 。按 需 连 接 在 有 数 据 传 输 请 求 的 情 况 下 建 立 , 没 有 数 据 要 求 传 输 时断开 。

  5. 2. 5. 3 多连接

  两个消息中间件系统 间 宜 实 现 多 条 连 接 。 用 户 可 以 通 过 配 置 来 变 更 连 接 的 数 量 , 每 条 连 接 是 同等的 。

  5. 2. 6 事件管理

  系统应提供事件管理功能 ,使得用户能够通过配置来定义事件以便跟踪消息的传输情况 ,如消息是否已经传输完成等 。 当用户定义的事件发生时 ,系统应自动产生事件消息 ,并按事件的配置对事件消息进行处理 。事件功能也可以用来了解系统运行中出现的各种故障 , 以便进行及时处理 。

  系统宜支持对 “消息入队列 ”、“消息网络发送 ”、“消息网络接收 ”、“消息出队列 ”等活动中的事件定义 ,如 ,在 “消息网络发送 ”活动中 ,可定义 “开始网络发送 ”、“结束网络发送 ”等事件 ,来实现对消息传输的精确管理 。

  5. 2. 7 性能管理

  5. 2. 7. 1 网络流量控制

  消息中间件宜提供流量控制功能 。 网络质量较高的系统 ,可以调大流量控制配置 , 以充分的利用网络带宽 ; 网络质量较差的系统 ,可以相应调小流量控制配置 , 以减少对网络的传输压力 。

  5. 2. 7. 2 自适应网络通信链路

  消息中间件宜实现网络通信链路的自适应机制 。根据网络状况 ,对网络链路进行调节和补充 , 以适应不同的网络环境 、硬件环境(内存 、CPU) 等 , 能够更好的适应不同环境下通信的需要 , 节省系统资源和提高传输效率 。

  5. 2. 8 队列管理

  服务系统应支持用户根据消息的用途和目的地 ,创建如下不同类型的队列 。如 :

  a) 接收队列或本地队列 。物理队列 ,用于存储从异地节点通过网络传输到本地 、本地节点应用放入的消息 。

  b) 事件队列 。物理队列 ,用于存储系统事件消息 。 系统事件中包含由配置中定义的事件触发的消息 、死信消息 。

  8

  GB/T 28168—2011

  c) 发送队列 。物理队列 ,用于存放网络发送出的消息的队列 。

  d) 集群队列 。逻辑队列 ,是一个包含多个物理队列的列表 。

  e) 远程队列 。逻辑队列 ,是远端节点的一个接收队列或远程队列在本地节点的一个逻辑映射 。

  5. 2. 9 集群

  集群(如图 6所示) ,应提供消息的接收和处理分布到若干个消息中间件系统上的机制 ,应支持防止单点失效和负载均衡两类使用方式 :

  a) 防止单点失效 : 当消息中间件集群中的某个子系统出现故障时 ,集群系统可以 自动选择其他子系统来完成消息的传输 ;

  b) 负载均衡 : 当消息中间件系统希望在多个系统或多个队列上分摊消息处理的压力时 ,可以选择负载均衡功能 ,消息发送到集群队列后 ,会根据系统设置的权重按照比例将消息分发到不同的队列中 。

  集群内消息中间件系统的数量应可以根据需要动态调整 。

  图 6 集群

  5. 2. 10 安全服务

  5. 2. 10. 1 综述

  消息中间件应提供安全服务功能 ,如中间件节点间的身份鉴别 、中间件节点间的 SSL安全连接 、数据包在传输过程中的加密和压缩 、应用程序连接到消息中间件的身份鉴别等 。

  5. 2. 10. 2 多层次的安全服务

  宜在网络层 、通道层和应用层多层面提供安全服务 。 网络层安全服务提供消息中间件节点之间的身份鉴别 ;通道层提供数据包在传输层的加解密 ;应用层提供在应用层对整个消息进行加解密 。

  5. 2. 10. 3 安全服务的实现

  消息中间件系统应提供默认的安全服务的功能实现 ,如提供跨网络层和通道层的 SSL协议的安全管理 。

  消息中间件可提供可定制的安全功能实现 ,宜支持消息层 、网络层 、传输层的安全接口的定制 :

  a) 消息层接 口 ,如消息的加密 、压缩接 口 ;

  b) 网络层接 口 ,如建立网络连接的预处理接口 、链路通道接口 、后处理接 口 ;

  9

  GB/T 28168—2011

  c) 传输层接 口 ,如网络数据包的安全传输接 口 。

  5. 2. 11 日志管理

  消息中间件系统应提供日志管理功能 ,运行过程中 自动生成日志文件系统 ,登记系统的 日常运行信息 、传输的数据包和文件信息 、系统出错提示等 , 日志级别应分多级 ,级别越高 ,记录的数据越详细 。 日志应可用于对系统的运行状态进行监控 ,亦可用于对系统的运行情况进行审计 、故障处理 、系统开发调试跟踪 。用户可以通过调整系统配置参数 ,抑制 日志中部分或全部信息的输出 。

  消息中间件系统的告警信息应能够及时显示在管理台 、日志文件中 ,便于用户的查看和问题定位 。应提供如下的 日志管理措施 :

  a) 提供调试开关的功能 ,使用户可以根据需要及时调节系统的核心 ,提高效率和可靠性 ;

  b) 提供日志定时清理和磁盘空间管理功能 ;

  c) 提供日志的查询和管理功能 ;

  d) 动态修改日志的等级 ,便于用户的排错 。

  5. 2. 12 网络协议支持

  消息中间件应支持 TCP/IP网络 传 输 协 议。宜 支 持 HTTP 超 文 本 传 输 通 信 协 议,以 满 足 用 户 在Internet网络上传输的需求 。

  5. 2. 13 系统动态配置

  为了支持关键业务对 7× 24h不间断运行的要求 ,消息中间件应在系统不重新启动的情况下 ,可以实现 :

  a) 动态修改节点的运行参数 ;

  b) 动态修改队列的个数 ;

  c) 动态修改客户端连接的个数限制 ;

  d) 动态扩充系统中应用的数量 。

  消息中间件系统应能根据应用规模或数据规模的增长 ,通过不断地调整系统的各项参数或不断增加新的服务器去满足这种需求 ,应在运行系统不停机的情况下进行 。

  5. 3 监控与管理

  5. 3. 1 消息中间件系统宜提供本地、远程和集中监控和管理功能

  a) 本地监控 。实现对本地消息中间件系统的监控和管理 ;

  b) 远程监控 。实现对异地消息中间件系统的监控和管理 ;

  c) 集中监控 。通过同一个统一入 口 ,实现对全网内的所有消息中间件系统(含本地 、远程系统)的监控和管理 。

  可以从一个统一入口监控和管理多个远程系统的运行 。

  5. 3. 2 监控管理应能实现的功能

  a) 实时查看各消息中间件系统的运行状态 ;

  b) 动态地修改系统配置及相关运行参数 ;

  c) 查看各队列中消息的传输情况 ;

  d) 对所监控的对象进行启动 、停止或删除等管理操作 。

  消息中间件的监控和管理界面设计应直观 、易懂 。集中监控管理宜提供基于浏览器的操作方式 ,应

  10

  GB/T 28168—2011

  能灵活地部署在用户选择的计算机系统上 。

  5. 4 应用开发子系统

  5. 4. 1 综述

  消息中间件应提供一组供用户用于开发的 API包 。消息中间件应提供 C、C# 、C++和 Java等接口 ,使用户可以使用多种计算机语言进行应用的开发 。宜提供 Win32应用开发接口库的实现 。

  应用系统可以通过调用这些接口实现消息的发送和接收 、事件的获取 、系统管理等功能 ,应用系统只需要关心业务处理逻辑 ,而不必关心复杂的底层网络传输 。

  5. 4. 2 接口类型

  接口分为本地接口和远程接口两种类型 。

  本地接口是用于和本地消息中间件系统运行在同一台机器上的应用系统 , 而远程接口是用于远端没有安装消息中间件的应用系统 。

  应用系统可运行于安装有消息中间件的机器上 ,也可运行于没有消息中间件节点上 。

  5. 4. 3 接口要求

  消息中间件系统在所 有 应 用 平 台 上 提 供 一 致 的 应 用 开 发 接 口 , 以 实 现 应 用 程 序 在 不 同 平 台 上 的迁移 。

  消息中间件提供的应用开发接口宜包括 C接口 、C++接口 、C#接 口 、Win32API、Java接 口 ,Java接口中宜支持 JMSv1. 1规范和 JNDI, 以满足应用开发的标准化要求 ,并能与其他任何遵循 JMS v1. 1规范的应用系统或中间件产品进行无缝集成 。

  5. 4. 3. 1 C、C+ + 、C#语言接口要求

  提供消息的发送 、接收 、浏览 、删除 、状态查询 、消息组 、事务 、发布/订阅接 口 。

  5. 4. 3. 2 Java接口要求

  提供支持 JDK1. 4 以上版本的 消 息 的 发 送 、接 收 、浏 览 、删 除 、状 态 查 询 、消 息 组 、事 务 、发 布/订 阅接口 。

  Java接口可参考 JMS规范实现 ,支持 JMSv1. 1 以上版本 ; 可在 JMS v1. 1 的基础上 ,进行必要的扩充 ,如文件消息 、消息组等接 口 。

  5. 4. 3. 3 Win32 应用开发接口要求

  宜提供消息的发送 、接收 、浏览 、删除 、状态查询 、消息组 、事务 、发布/订阅的 Win32应用开发接 口 ,使得符合 Win32DLL调用标准的可视化开发工具能够通过该接口和消息中间件进行交互 。

  6 消息中间件的部署模式及拓扑结构

  6. 1 部署模式

  6. 1. 1 单机单系统方式

  所有的应用程序均部署在同一台机器内 ,它们之间共用一个消息中间件运行系统进行消息的传递 。

  11

  GB/T 28168—2011

  6. 1. 2 单机多系统方式

  所有的应用程序均部署在同一台机器内 ,它们之间分别通过不同的消息中间件运行系统进行消息的传递 。

  6. 1. 3 多机多系统方式

  应用程序部署在网络 的 多 台 机 器 内 , 它 们 之 间 分 别 使 用 不 同 的 消 息 中 间 件 运 行 系 统 进 行 消 息 的传递 。

  6. 1. 4 混合方式

  应提供单机单系统方式 、单机多系统方式及多机多系统方式的混合使用方式 。

  6. 2 拓扑结构

  消息中间件系统应能根据用户的业务和应用 ,支持任意构建拓扑结构 ,如既支持树型逻辑结构 , 又支持网状结构 。

  消息中间件之间的部署关系 ,对业务和应用是透明的 。

  7 质量特性属性

  7. 1 易用性

  7. 1. 1 产品手册

  消息中间件应提供完整的产品手册 ,保证产品手册与系统实际功能保持一致 。产品手册应准确 、清楚 、易于学习和掌握 。应包含以下内容 :

  a) 产品系统概述 ;

  b) 产品安装说明 ;

  c) 产品配置及管理说明 ;

  d) 管理工具使用说明 ;

  e) 产品故障排除方法 ;

  f) 编程参考手册 ;

  g) 联机帮助 。

  7. 1. 2 产品可配置

  消息中间件的子系统规模 、队列数及每个队列中存放消息数据的空间大小应可以通过系统配置来定义 。

  7. 1. 3 应用示例

  消息中间件应针对支持的开发语言 ,提供可供操作的应用示例包 :

  a) C、C++ 、C# 、Win32API应用示例 ;

  b) Java应用示例 ;

  c) JMS应用示例 。

  7. 1. 4 安装和卸载

  消息中间件的安装和卸载应提供简单明了的操作 :

  12

  GB/T 28168—2011

  a) 消息中间件应提供 Windows平台上的图形界面形式的安装和卸载程序 ,引导用户安装和卸载的全过程 ;

  b) 消息中间件的安装和卸载 ,若需要 Java运行环境 ,应支持操作系统所提供的 Java运行环境或自带 JDK等辅助工具 ;

  c) 简单易用 ,提供默认的配置策略 。

  7. 1. 5 启动和停止

  消息中间件应提供命令行方式启动和停止 。

  7. 2 可靠性

  7. 2. 1 核心进程的自动恢复

  消息中间件系统提供核心进程自检功能 。 当有守护程序异常终止时 , 系统可以检测并自行重新启动该进程 。

  7. 2. 2 消息的自动恢复

  消息中间件系统 ,不论是由于系统停止 、硬件断电 、硬件异常 、非正常关机还是网络意外中断等情况 ,都应保证持久性消息不可丢失 、内容完整 ,保证顺序 ,待故障排除后 ,消息将从传输失败点继续发送 ,而不是整个消息重新发送 。

  7. 2. 3 防止单系统失效

  应实现集群功能 , 防止单个消息中间件系统失效后 ,消息不能传输 。

  7. 2. 4 路由的备份

  宜实现备份路由功能 。 当一条路由出现故障时 ,可以通过备份路由到达接收方 。

  7. 3 效率

29140675629
下载排行 | 下载帮助 | 下载声明 | 信息反馈 | 网站地图  360book | 联系我们谢谢