基于JMS的数据交换既数据互操作平台的解决方案
基于JMS的数据交换既数据互操作平台的方案
1. 引言
1.1. 系统目标
为解决应用系统间数据和信息的互通、互用,建立一个通用的、分布式的数据集成平台,用以解决异构数据平台数据交流和沟通的问题。
数据交换平台,为跨地域、跨部门、跨平台不同应用系统不同数据库之间的互联互通提供包含提取、转换、传输和加载等操作的数据整合服务,实现扩展性良好的“松耦合”结构的应用和数据集成;利用数据交换平台,通过分布式部署和集中式管理架构,可以有效解决各节点之间数据的及时、高效地上传下达,在安全、方便、快捷、顺畅的进行信息交换的同时,精准的保证数据的一致性和准确性,实现数据的一次采集、多系统共享;基于数据交换节点服务器适配器的可视化配置功能,可以有效解决数据交换平台相关问题,快速实现不同机构、不同应用系统、不同数据库之间基于不同传输协议的数据交换与信息共享,为各种应用和决策支持提供良好的数据环境。
1.2. 使用人群
专业的系统集成工程师、管理员。
1.3. 技术规范
主要开发语言为java,基于JMS消息进行数据交换,JMS服务器在开发阶段的ActiveMQ,要求系统能够兼容市场上符合JMS标准的其他MQ商业服务器。消息持久化数据库采用Oracle并支持其他数据库如:MySQL。辅助的开发语言为数据库触发器,支持主流数据库,包括:Oracle,MySQL以及SQL SERVER。管理和配置程序部署在TOMCAT服务上。
2. 系统结构
系统分为前端接口代理、消息服务以及消息封转服务三个层次,分别完成数据采集与发布、数据传输与持久化以及数据分拣转换和封装。
前端接口和代理:提供Socket Service和Web Service两类接口完成数据的接受和查询。数据交换代理提供数据库中间表和交换文件两种数据交换方式。
消息服务:消息服务主要负责基于JMS消息的传输和持久化。后台采用两台MQ服务器分别处理数据的接收和发布。并对数据进行持久化操作,防止消息数据的丢失。
消息封转服务:负责根据JMS消息主题队消息进行分拣,交由专门的封转服务处理。封转服务根据配置文件对消息的数据进行转换,增补以及修改后进行封装,发送到订阅者系统。
3. 功能需求
3.1. 设计原则
数据交换平台应遵循以下几个基本设计原则:
l 不影响现有或其它相关信息系统的使用和信息安全。
l 采用先进成熟、稳定的技术和软硬件平台。
l 坚持开放性,易于技术更新。
l 采用国际通用标准,便于和国际接轨,易于系统扩展及升级。
建立一个坚实的系统应用平台,便于系统的管理和维护,技术易于更新,网络及业务规模可以逐步扩展。统一规划,分步实施。
3.2. 总体要求
通过“数据交换平台”,方便管理,使各个应用系统业务逻辑清晰。通过交换系统,实现内外网应用系统之间和内网内部应用系统的数据交换,使得系统维护的工作量降低。
安全性:要求数据在传输过程中安全完整。
可授权:对消息主题进行授权,敏感消息的发布和订阅需要授权。
可配置:具体实现应抽象成动作和对象,对象及其属性是可定义的。
可管理:功能的实现是可调度的。
可监控:可实时查看各种功能实现的过程信息和最终结果。
可扩展:通过配置支持更多业务部门与交换系统的数据共享。
高性能:对服务器的压力始终保持在一个可接受的负荷状态,日常的应用不会造成平台的崩溃或处理延迟。
3.3. 功能要求
l 及时交换:一旦有数据发送请求,应及时发送到指定目的地。
l 接口简单:支撑交换平台的消息传输中间件系统要具有简单的接口,业务系统能够以较方便的使用接口接入到交换平台,便于系统的实施、维护和扩充。
l 安全可靠的传输:保证接收者能正确收到数据,保证数据不被窃取和篡改。
l 高可靠性和高性能:系统具有高性能和高可靠性,能够满足大规模数据传输要求。
l 支持可定义的数据交换和转换:支持图形化的数据交换和转换逻辑配置。
l 支持消息的查询统计以及修改重发功能。
l 支持新的“参与方”加入到交换平台。新的“参与方”的加入,对交换平台的结构不需要调整,原来接入到交换平台的系统能够正常运行。
3.4. 交换方法
数据交换平台的数据采集和发布支持三种方式:系统接口对接,数据库中间表,交换文件。
系统接口对接:要求参与数据交换的子系统根据数据交换平台提供的开发接口进行程序编写。适用于新建系统或者有能力对系统进行改造的情况。
数据库中间表:在参与数据交换的子系统数据库中建立中间表,通过触发器将数据变化反映在中间表中,数据交换平台的交换代理程序对中间表进行监控,将数据变化提交到数据交换平台接口。适用于老系统或者不能修改程序代码的情况。
交换文件:参与数据交换的子系统将交换信息写入到本地文件中,数据交换平台的交换代理程序对文件进行监控,将数据比那话提交到数据交换平台接口。适用于无法提供数据库中间表的情况。
3.5. 数据交换代理
3.5.1.1. 概述
数据交换平台的主要交换方法是业务子系统按照数据交换平台的对外服务接口进行程序开发来,数据交换代理的主要作用是
3.5.1.2. 数据库型代理
数据库型代理直接操作业务系统数据库,建立数据异动表,通过触发器将变动数据插入到数据移动表中。然后由代理程序进行论扫处理。
3.5.1.3. 文件型代理
3.6. 数据交换服务
3.6.1.1. 概述
3.6.1.2. 消息分拣
3.6.1.3. 消息转换
3.6.1.4. 消息封装
3.7. 对外服务接口
3.7.1.1. 概述
业务系统无论是提交信息还是需要从数据交换平台获取数据,都需要通过服务接口来实现。使用Scoket Service接口可以发送和接收数据,使用Web Service可以发送数据和查询有没有自己订阅的数据。
3.7.1.2. Socket Service
3.7.1.3. Web Service
4. 性能需求
数据交换平台数据处理能力不小于200条/秒。
WEB管理页面操作常网络情况下最大时间不大于6秒,平均时间不大于3秒
。
5. 应用场景描述
收费系统将应收、实收数据发送至数据交换平台,数据交换平台对此数据消息进行权限确认后转换处理。转换完成后根据消息主题加载此消息订阅列表,将消息发送到订阅此消息的宿管系统和教务系统。其中教务系统采用数据交换代理程序直接将数据放到数据库中。宿管系统通过接口接受数据。