SOA的数据库中间件设计和应用模型
2016-01-26谭琨
谭 琨
(大庆师范学院 计算机科学与信息技术学院,黑龙江 大庆 163712)
SOA的数据库中间件设计和应用模型
谭琨
(大庆师范学院 计算机科学与信息技术学院,黑龙江 大庆 163712)
摘要:随着信息化建设的快速发展,产生的孤立的应用系统越来越多,信息较为分散。在此背景下,企业迫切需要集成孤立系统,面向服务架构(SOA)应运而生,在企业信息化建设中,传统数据库中间件使用中,受紧藕合应用模式影响,中间件具有较差独立性,信息系统集成困难。因此,为了满足信息系统集成需求,实现资源共享,需构建低成本通用的数据库中间件,并在此基础上对SOA的数据库中间件进行分析设计和构建应用模型,并在物资综合统计实时数据库系统中对该模型进行了应用和研究。
关键词:数据库中间件;面向服务架构;物资综合统计实时数据库系统
0引言
在信息化水平不断深化、计算机互联网技术快速发展背景下,现代企业发展、生存的关键因素是信息化,计算机信息化水平直接影响电力、证券交易、银行等领域的业务发展。同时,面对外部环境的错综复杂,各企业需要不断调整自身信息系统,以此满足新的业务需求。然而,目前的计算机环境为分布式网络计算,需要软件可在不同的网络协议、硬件平台等异构环境中运行,这样,如果运行缺少强大的数据交换平台,异构分散的信息平台将导致数据分散,难以保证数据的一致性,信息交互、集成困难[1]。中间件技术在数据库交换平台中广泛应用,且位于操作系统层、应用软件层之间,具有屏蔽网络协议、操作系统、硬件平台之间差异性等优点,调整信息需求,满足业务需要。
1SOA概述
1.1SOA定义及框架
面向服务的体系结构(SOA),指的是利用网络分布式部署的组件模,是一个组件模型。SOA的基础是服务层,“服务”是SOA的关键,W3C指出服务即是服务提供者对一组工作进行完成,通过操作工作将服务的最终结果交付给服务请求者。在此过程中,最终结果将会导致提供者的状态、请求者状态发生变化。同时,服务层可被直接调用,彼此通信,传送简单数据、协调多种服务。而在SOA框架中,主要包括三种组成要素,即服务目录(RegistryandLookupService)、服务消费者(ServiceClient)、服务提供者(ServiceProvider)[2]。其中,服务目录主要负责连接服务提供者、服务消费者,是两者的纽带,服务消费者向其的查询服务,服务提供者向其注册服务。在此过程中,服务目录依据准则分类信息,方便信息查询,完善服务功能。而服务消费者则对中心服务进行绑定,服务提供者则是一个实体,可通过网站寻址,接受消费者的服务请求。三者之间的工作关系如图1所示。
1.2特点
SOA特点表现为:大数据量低频率访问、独立的功能实体、.基于文本的消息传递等。首先,在传统分布计算模型中,如NETRemoting等,其服务提供方式利用函数调用实现,但是,在此过程中,一个功能的完成需要服务器、客户端的多次函数调用,且在分布式环境下,调用系统的稳定性、响应速度直接影响系统的正常运行,而SOA系统大数据量方式交换信息,实现交换的一次性完成。其次,SOA的基础是服务层,服务是SOA的核心,且主要由组件构成。同时,在信息一次性完成交换中,SOA作为独立功能实体,更加要求架构系统服务功能独立性。而在传统CORBA、.NETRemoting等组件技术中,其均需一个Server、Host对这些功能实体进行存放、管理,并随着宿主运行的结束,组件结束其寿命。在此情况下,当Server、Host出现问题时,Server、Host的应用服务功能受阻。但是,SOA架构实体的自我管理能力较强,通过事务处理、集群可推动SOA的运行。最后,在基于文本的消息传递方面,受分布式环境异构系统影响,SOA的消息传递方式是基于文本方式,不是二进制方式。基于文本的消息不含任何数据类型、处理逻辑,服务间只传递文本,服务传递更加便捷。
图1 SOA构成因素的相互合作
2SOA的数据库中间件和模型
2.1SOA的数据库中间件
中间件主要连接独立系统、程序,管理计算机资源、网络通讯,位于客户机、服务器系统上,是一种独立的系统软件。对于分布式应用软件而言,其利用中间件技术实现资源共享,通过中间件的系统连接,信息在不同接口处传播,在多平台OS环境中,通过中间件实现信息交换。中间件具有平台无关性、满足大量应用需求、支持分布式计算机、良好的可靠性、支持标准的协议、较高的效率等优点,且主要包括数据库中间件、消息中间件、交易中间件等[3]。数据库中间件在两层结构模式下,是一种向客户提供访问数据库的中间件,主要针对信息的集成应用,处理模式转换、数据抽取等业务。SOA数据库中间件主要包括数据库适配器、服务API、工厂等部分。数据服务工厂为创建数据服务提供数据库,数据服务注册利用程度找到所需数据库,数据库适配器根据客户请求提供服务,并向数据目录组件传递数据服务是。
2.2应用模型
在SOA数据库中间件应用模型中,服务组件、企业级域组件是主要构成要素。同时,SOA-DBM、SMS、Web等服务组件组成服务组件群,主要工作任务是对所有进来的请求进行检查,通过检查审核后,将相关请求发送给企业级域组件。其中,SOA-DBM服务组件主要负责对集成请求、数据访问进行处理,帮助客户完成数据访问、数据库通信、数据库集成。而企业级域组件通过企业业务管理模块、企业事务规则、用户接口向服务组件暴露整个组件的功能性,从而有助于实现企业业务的动态适应性。在整个SOA数据库中间件模型运行中,利用SOA、DBM实现数据资源、客户端之间交互利用,且交互通过SOAP传统,XML为信息格式。在具体应用中,客户端通过Registry服务查找实现对工厂服务的满足,客户端通过数据服务API将所要执行的操作与底层API函数交互,并通过XML形式将数据查询结果返回给客户端。XML是一种标记语言,分开描述信息、处理信息,具有较强的可验证性、自我描述能力、可扩展性、开放性等特定。将全局模式设置为XML模式,可有助于现异构数据模式集成、转换为全局模式。
3SOA的数据库中间件设计和模型实现
3.1分析、设计总体集成构架
由于SOA是一种以服务为导向的架构,通过不同服务之间的良好契约、接口联系应用程序的不同功能单元,从而使各系统服务相互交互互补。因此,在SOA数据库中间件设计中,需要实现系统的大规模集成目标,确保SOA架构无需花费过大代价就可实现现有系统的集成,且创建一种新的模式,松散耦合模型与传输协议,确保服务组件对传输协议进行自由选择,最大程度重用服务组件[4]。此外,SOA架构还应实现信息源、业务处理之间松散耦合,提供一种独特的数据编程模型为信息保存、数据访问提供方便。在具体SOA数据库中间件系统构建中,需合理合计不同组件,完成不同服务,以面向服务为思想,设计消费者层、业务过程层、服务层、运营系统层等。根据SOA特点及集成研究,SOA数据库中间件总体架构需要利用服务组件架构、Web技术、服务数据对象编程技术等,从而设计符合企业需求应用模型集成架构(SSWSOA),模型架构如图2所示。
图2 SOA数据库集成系统架构
3.2SOA数据中间件数据服务管理
数据库中间件的体系结构元素包括规则处理组件、数据库驱动、事件处理组件。同时,为了更好的组合信息,可灵活地在中间件中加入流程管理组件,进而在逻辑上管理、控制事件处理,扩展整个中间件功能[5]。同时,SOA数据库的数据服务管理是中间件的核心内容,其设计重点是管理服务数据。在具体设计中,根据UDDI的数据服务使用机制,应用数据服务管理,扩展UDDI查询功能,实现数据服务发布、注册。而对于服务的管理问题,主要通过基于网格的数据服务管理、外部数据库管理两种方案。在外部数据库管理中,全面分析各个节点,并在各节点中缓存数据服务,这样,利用节点便可实现查询功能,有效进行数据绑定。在此方式下,数据库访问分散于不同节点中,从而缓冲了单一的结点访问流量,解决访问高峰期瓶颈效应,确保信息畅通。此外,在数据信息集成应用中,由于数据源异构分布,所以对管理要求较高,需要设计实现数据服务管理模块的高功能。在服务管理模块具体设计、管理具体实施操作中,利用UDDI对数据服务信息进行管理,并借助UDDI接口完成数据查询、代理注册、数据代理匹配数据服务,利用数据服务方式操纵多个异构数据源。例如,首先,度数据服务进行相关描述,确保其受能在UDDI注册库中存储,依据数据服务模型定义,设计人员根据需求,在全面了解资源属性、之间关系的基础上表达资源。然后,利用新增元素模型tModel、XML文件,定义元素、解释数据服务的本体描述,组合数据服务和扩展查询。
3.3规范数据交换,实现组件模型
在具体实现SOA数据库中间件服务组件中,首先需要规范有关异构平台的数据交换,从而保证数据的发送正常。例如,设计人员可根据具体企业信息系统需求,对XML数据交换规范标准进行制定,根据XML标准完成数据映射,并进一步完成数据清洗、对比等工作,确保数据信息的互通、共享。同时,在层次的异步通信机制作用下,数据发送不受接受方状态影响,即无论接收方是开启还是停止,数据均正常的从发送方发送。此外,对数据的交换引擎进行开发,借助交换引擎的支持实现数据库之间、XML、文本文件之间的数据转换[6]。在组件模型实现中,Web服务实现技术是核心,其数据表示为XML,适用与不同应用之间的消息传递,用来描述数据、存放数据,而SOAP是消息传输方式,Web服务的标准通信协议是SOAP,利用SOAP实现分散的信息交换,且工作机制为SOAP=XML+HTTP+RPC。此外,Web服务的描述方式是WSDL,创建WSDL文件,定义message、types等元素,通过标签定义分类输入、输出参数,实现文档导入。
4SOA的数据库中间件的实现和展望
基于上面提出的面向服务的架构, 本文设计和实现了一种新型的面向服务架构的数据库中间件的原型。该中间件基于跨平台的Java语言开发实现, 以XML作为数据传输和集成的标准, 并可被不同网络上不同操作系统的计算机访问。本文已经把该中间件应用到油田物资综合统计实时数据系统中, 对物资采购实时业务的异构数据进行数据采集和实时更新。利用信息化手段整合油田物资信息资源,并实现流程数字化,从而在空间、时间上延伸环境。在此过程中,SOA的数据库中间件应用发挥至关重要作用。 利用中间件采集供应商、采购方、物资管理方信息共享,然后将信息发送到油田网络信息平台上。同时,在应用与服务层,建立支撑层、业务层、门户应用层,其中,业务层包括采购管理系统、报表管理系统、绩效考核系统、统计分析管理等,门户应用层包括后台管理、日常信息管理等。在具体建设中,先分析业务集成目标,寻找数据,集成数据源,将信息配置在SDM中。然后,操作单独数据库,通过服务调用访问数据库,并根据具体要求构建SDM,实现数据库中的业务调度。最后,建模数据信息,添加附加信息,利用XML法应用信息,从而可以实现对所有物资综合报表上报,批量的进行数据导出和统计数据实时共享等功能。
虽然本文已经实现了该面向服务的数据库中间件的原型,并已经采纳应用到项目的系统设计中, 但目前本文的研究主要集中于系统的结构设计上。因为不同领域的实际需求是很复杂的。相对于传统的中间件模型, 实际应用中的面向服务的数据库中间件仍然有大量的工作要做。将来的工作应该是构建通用的数据库中间件Web服务, 能够很容易地调用并集成到不同的应用中。
5结束语
基于SOA架构设计的数据库中间件是为解决系统之间连接而设计的一种统一、可重用接口,是面向企业服务总线设计的,它隔离具体问题与应用基础设施,以此适应技术发展与应用需求。在SOA数据库中间件设计和应用模型实现中,需要设计工作人员分析、设计总体集成构架、实现SOA数据中间件数据服务管理、规范数据交换,实现组件模型等,以此多手段解决多数据源异构信息集成问题,实现信息资源共享,为信息建设奠定基础。
[参考文献]
[1]姚友文.基于SOA的数据库中间件的研究与设计[D].苏州:苏州大学硕士研究论文,2009.
[2]方利,王文杰,高振记等.基于SOA的环境科学数据共享平台设计与实践[J].环境工程技术学报,2014(4):333-340.
[3]许承毅.基于SOA异构数据集成中间件的研究与设计[D].重庆:重庆大学硕士学位论文,2010.
[4]韩旭,王海波,柳克俊等.基于.NETFrameworkWCF的面向服务SOA中间件设计[J].小型微型计算机系统,2010,31(12):2359-2364.
[5]李捷.基于SOA应用JMX和JMS技术的RFID中间件设计[J].电子技术应用,2010,36(4):119-122.
[6]黄胜国.图书馆基于SOA的RFID中间件技术研究[J].图书馆学刊,2012,34(11):113-115,123.
SOAmiddleware,databasedesignandapplicationmodels
TANKun
(CollegeofComputerScienceandIniormationTechnology,DaqingNormalUniversity,Daqing163712,China)
(英文摘要略)
中图分类号:TP311
文献标识码:A
文章编号:2095-0063(2015)06-0010-04
收稿日期:2015-03-10
作者简介:谭琨(1976-),女,黑龙江大庆人,教师,从事软件工程研究。
DOI10.13356/j.cnki.jdnu.2095-0063.2015.06.003