基于SOA的长江水文数据共享服务平台的建设构想
2019-09-10刘迪
刘迪
摘要:近年来,随着长江水文业务融合、服务网络化的推进,数据共享服务相关的需求日益增长,面向服务架构(SOA)为长江水文的数据共享服务平台建设提供了一种新的实现途径。介绍了长江水文信息系统建设现状及存在的问题,分析了水文数据共享服务的技术要求及关键技术,提出了平台建设的构想及实现方式,最后阐述了该平台的实现对于长江水文信息化发展的意义。
关键词:数据共享;SOA;平台建设;水文信息化数据;长江水文
中图法分类号:P337文献标志码:A
文章编号:1006-0081(2019)01-0057-04
随着长江水文信息化建设的不断深入,长江水利委员会水文局在2015年工作报告中提出了构建长江水文“数据资源一个中心,共享服务一个平台,信息展示一张图”体系,该体系正在构建中。数据资源中心是基础,共享服务平台是保障,信息展示一张图是窗口。在长江水文信息化建设过程中,业务系统及综合信息服务系统的不断增加催生了数据交换共享、应用协同等需求,因此急需一套实现应用系统之间数据共享和交换的技术方案。
鉴于此,本文提出了基于SOA(Service-Oriented Architecture)的长江水文数据共享服务平台(以下简称“服务平台”)的建设构想,该服务平台是长江水文 “一个平台”的子系统,也是“一个平台”建设工作的深化与发展。SOA是一种面向服务的分布式软件体系架构,可根据需求情况自动增加服务的内容和性能,从而使业务能力得到提升;同时,松耦合的业务集成方式简化了业务流程重组在系统架构层面的复杂度。
SOA架构的实施可加快长江水文在业务拓展转型时信息系统支撑的响应速度,帮助长江水文在创新方面突破信息技术的桎梏,为长江水文信息化的快速发展提供更好的技术支撑。
1 信息系统建设现状及问题
近些年,长江水文信息化建设先后完成了水情预报会商、水质实验室管理系统、水文数据服务等业务应用类系统以及综合办公、财务报销、合同管理等管理类信息系统的开发部署,各类信息系统上线运行累计20余个。业务应用系统、基础水文信息服务、综合办公管理等系统的建设取得了显著进展,基本建成了支撑主要水文业务的信息系统体系[1]。然而,信息系统建设仍存在以下几个问题。
(1)数据共享交换不足。不同时期开发的信息系统、采用的开发平台和框架不尽相同,各自相对独立,一个系统的数据难以被另一个信息系统调用,难以满足应用之间的协同及用户多样性的数据需求,也不便于新系统的开发。
(2)数据资源设计不够规范。随着信息化建设的深入,各信息系统之间的协同及数据交换需求不断提高,建成了部分数据交换中间库,但由于数据资源设计不够规范,各数据交换中间库的设计不统一,不便于数据同源性的维护。
(3)信息资源整体服务能力不足。目前,水文局拥有各类应用服务器近150台,建成各类数据库超过20个,开发部署各种应用服务系统或平台20多个。这些信息资源由不同部门管理和使用,由于缺乏统一且标准的数据接口支持,各应用系统间的共享程度较低,严重影响了水文信息的汇集及支撑信息综合性的开发利用,制约了数据资源的深度挖掘以及数据资源整体效益的发挥[2]。
2 平台建设的技术要求及关键技术
水文共享数据服务平台需规范各信息系统的数据接口,形成长江水文信息系统接口集成规范。该平台是各类信息系统协同及数据交换共享的枢纽,应具有高可靠、可扩展、松耦合的特性。通过采用SOA技术,结合新时期长江水文信息系统建设的实际需求,构建一个统一的服务平台。
2.1 技术要求
(1)统一标准规范。现有信息系统是在.NET平台和J2EE平台基础上开发完成的,不同平台开发的系统间要实现数据交互就需要有统一且标准的接口规范。WebService是通过定义不同开发语言的应用程序,在浏览器端实现交互操作的一个新平台。通过安装一套标准的数据类型访问接口,不同编程语言和组件模型间可实现互相通信。以XML语言规范为标准,WebService平台提供了一种标准的描述语言——WSDL,用于描述这种数据接口信息。
(2)高可靠性。信息系统程序在运行过程中,内部模块既可通过内部数据接口实现数据的调用,也可通过外部数据接口实现与其他系统间的数据调用。在与外部数据相互调用的过程中,数据存储格式的差异可能导致数据格式转换出现错误。因此,信息系统数据接口必须具有较高的稳定性,以便提供更为强大的错误处理机制,帮助用户在使用接口的过程中准确找出根本原因,避免接口自身的错误对信息系统运行造成的影响。
(3)可扩展性。在信息系统程序运行过程中,用户的需求会不断发生变化,并对系统功能提出新的要求;同时,第三方应用系统在开发的过程中也可能申请调用已有系统数据,因此共享数据接口的设计必须坚持可扩展性的原则。
(4)松耦合性。松耦合数据接口的实现通常是基于消息驱动的系统,能有效降低客户端对于服务器端的依赖性。其本质是消息驱动的架构,即在客户端用户无需理解服务端的业务实现逻辑,只需按照服务端要求的数据格式发起数据请求,服務器端便会返回相应的结果。如此,即可实现在不改变服务器端数据结构的情况下,服务器端按照实际需求更改并返回结果。
2.2 SOA实现的关键技术
SOA采用面向服务的架构,统一标准的接口是各个不同服务之间进行数据通信的桥梁。基于接口中立方式定义的特性,在不同的操作系统、程序语言以及硬件平台间均可实现接口的通用和调用,并且在不同操作系统中定义的服务可以通过该方式进行统一交互。
SOA架构实现的基础部件是WSDL、UDDI以及SOAP。WSDL用于服务描述,UDDI用于服务注册与查询,SOAP用于在服务提供者和服务消费者之间传送信息。用户可以首先通过UDDI注册要查找的服务,之后取得该服务的WSDL描述,最终通过SOAP使用该服务。
涉及SOA架构的关键技术有ESB、MQ以及JMS。
(1)ESB(Enterprise Service Bus),即企业服务总线,是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。ESB的出现改变了传统的软件架构,可提供比传统中间件产品更为廉价的解决方案,同时还可消除不同应用之间的技术差异,使不同应用服务器协调运作,实现不同服务之间的通信与整合。
(2)MQ(Message Queen),即消息队列,是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)实现通信,数据链接无需专用连接。消息传递通过程序之间发送数据得以实现,并非直接调用;直接调用通常用于诸如远程过程调用技术。排队是应用程序通过队列通信,队列的使用除去了接收和发送应用程序同时执行的要求。
(3)JMS(Java Message Service),即Java消息服务应用程序接口,是Java平台中关于面向消息中间件(MOM)的API。该技术可用于两个应用程序之间或在分布式系统中发送消息,使其实现异步通信。
3 平台建设构想
3.1 架构设计
长江水文信息系统的数据资源种类繁多,数据格式要求也不尽一致。这些数据资源主要分为综合管理类数据、业务应用类数据以及事务型数据等。有些数据实时性较强,有些偏弱;有些是单个记录,有些是批量记录;有些是纵向关联,有些则是双向交互[3]。数据交换共享服务是通过采用面向服务的架构设计,抽取共享数据形成基本的服务,用以解决不同应用之间的数据协同需求。在建设 “一个平台”基础之上,采用灵活的的方式进行接口设计,建设统一标准的服务平台。
服务平台的集成架构设计采用数据中心及通用集成平台相结合的方式,各业务应用通过通用的、基于SOA的服务实现数据交换和共享,按照接口规范将数据交换功能模块封装成WebService,注册到该平台的服务总线,同时也能够调用该平台的其他服务[4]。以服务平台为例来说明应用系统之间的数据调用关系。某个应用系统的数据在完成对应的更新动作后,通过共享平台的服务总线通知其他系统,其他系统接收到该JMS消息之后,就会从数据中心获取到相应的数据。同时,其他系统也可以设定定时访问数据中心,读取相应的数据。
3.2 平台实践
以长江水文综合办公系统与长江水文“一张图”展示系统的数据交换共享为例,介绍了服务平台实现数据接口服务的流程。
①综合办公系统按照数据资源中心提供的存储方式,将共享数据存储到数据资源中心指定数据表;②综合办公系统确认接口数据保存成功后,向数据共享服务平台注册的服务发送相应的JMS消息;③ 数据共享服务平台获取消息后,将调用订阅了该服务的业务应用(如“一张图”展示系统)提供相关的服务;④该服务通知“一张图”展示系统并在数据中心进行数据检索;⑤“一张图”展示系统从数据中心获取相关的接口数据。
利用上述服务平台的接口模块,设计整合预报调度、LIMS实验室管理、水文数据服务及测站管理等业务类信息系统以及综合办公、合同管理、财务管理、图像管理、人事管理及基础设施管理等管理类信息系统的数据接口,注册成为服务平台的服务,为后续系统开发者提供可编程的接口资源。在“平台级”的服务支持下,后期系统开发者就获得了大量的可编程接口。这些由业务逻辑形成的可编程接口,在降低开发成本的同时,还提高了开发效率,为开发者带来了较大便利,并能快速响应用户不断变化的多样性需求。
基于SOA服务平台的建设有助于实现数据交换共享、促进应用协同、发挥水文信息化应用服务的整体效益、改变各个应用系统间相互隔离、应用服务资源无法共享的现状,构建应用模块与服务资源之间相互转换机制,为长江水文信息化服务提供有力的支撑,并最终实现以下四大服务。
(1)业务应用服务。在数据共享服务平台的支撑下,构建长江水文应用系统协同机制和应用模块与服务资源之间相互转换机制,支持分布式应用服务。各专业集中技术力量重点建设各自的应用功能模块,由一个平台提供数据访问服务、数据资源目录服务、数据交换服务、中间件服务等应用支撑服务,避免重复建设,提高生产和服务效率。
(2)综合管理服务。在数据共享服务平台的支撑下构建水文局综合管理服务体系,集成综合办公、财务报销、项目管理等综合管理业务,实现各个综合管理业务之间的信息共享,如待办事宜提醒等。
(3)大数据分析服务。利用数据共享平台提供的数据接口,整合各类管理、生产、服务等业务的原始数据、用户行为数据、过程数据等,逐步构建知识系统和专家系统,构建并演化数据分析模型,实现长江水文大数据分析服务功能,为水文事业发展和经济发展提供决策支撑。
(4)报表中心服务。利用数据共享平台的接口服务,为各类报表工具提供数据获取及变更服务。并在此基础上,建成统一的数据报表中心,满足管理和生产报表的各项需求。
4 结 语
基于SOA服务平台的建设加强了长江水文各信息系统间的数据交互,满足用户多样性的数据使用需求。同时,该服务平台的建成将有力支撑水文信息的汇集及信息系统综合性的开发利用,更好地服务于水文数据资源的深度挖掘以及数据资源整体效益的发挥,成为长江水文“一个平台”建设的助推器。該平台不仅会为长江水文信息化建设带来一种新的信息系统开发方式,还为长江水文信息化业务整合、面向服务转型等方面带来了新思路,成为其改革创新、实现“社会水文、绿色水文、智慧水文、和谐水文”的催化剂。
参考文献:
[1] 史芳斌,王立海.长江水文信息化及其发展探讨[J].人民长江,2009,40(4):22-24.
[2] 陈春华,程海云,肖志远.长江水文信息化建设实践与发展思考[J].人民长江,2015,46(3):70-73.
[3] 李瑞.计算机软件数据接口的应用分析研究[J]. 自动化与仪器仪表,2017(6):201-203.
[4] 郭禾,郭春燕.基于SOA的企业应用的研究与实现[D].辽宁:大连理工大学,2006.