基于SOA架构建立气象科学数据共享系统方法研究

时间:2022-09-02 06:05:55

基于SOA架构建立气象科学数据共享系统方法研究

摘要:提出基于面向服务架构(Service-Oriented Architecture,SOA),利用Web Service技术对格式各异的数据建立统一的数据共享接口设计方案,实现对各种数据资源的集中管理与统一调度,透明数据源信息,保证数据源的安全,应用负载均衡策略,提高数据返回的速率,并给出该方案的详细设计与实例分析。

关键词:数据共享;面向服务架构;中间件

中图法分类号:TP311 文献标识号:A文章编号:1009-3044(2010)08-1888-04

The Research of the Method of Constructing Meteorological Scientific Data Sharing System Based on SOA

SUN Zhou-jun, HE Hui-yi, XU Mei-hong, HUANG Jin-chan

(GuangDong Meteorological Information Center, Guangzhou 510080, China)

Abstract: Establish a unified format for data ,base on SOA and using Web Service technology, in different Data-Sharing interface design programs to achieve the right concentration of resources in a variety of data management and unified control and transparent data source information, to ensure the security of the data source. Application of load-balancing strategy to improve the data return rate , and gives details of the program design and case analysis.

Key words: data sharing; service-oriented architecture; middleware

目前,气象科学数据不仅仅用于天气预报,国家宏观决策和国民经济发展服务也与他密切相关,同时也越来越广泛地用于国家安全保障等领域。近年来,通过各类气象监测网和卫星获取大量的科学数据越来越多,新的气象业务也不断产生,人们对气象预报的准确性与及时性也提出了更高的要求。及时地提供准确、全面的科学数据是保证预报质量的基础。

1 要进行数据共享

首先必须明确数据资源的格式。根据数据的管理方式可以将需要共享的数据分为:数据库管理系统中的数据、文件系统中的文件数据两种。目前,数据库中数据的共享是通过分配数据库系统用户、建立备份数据库系统、分发数据库或编写获取数据库数据的方法供不同用户调用获取数据达到数据共享;文件系统中的文件数据通过SMB协议、或者建立备份文件系统或者通过FTP协议等方式来达到文件数据的共享。这些方式都能够达到数据共享的目的。但是对于数据资源格式多样、异构并且需要进行集中管理的机构,以上方法则无法满足数据管理的要求。

目前对各种数据共享的方法和问题;单资源共享方式:即公开对同一数据资源的访问权限,多用户通过各种方式可以并发的访问同一数据资源。该种资源共享方式的缺点主要有:数据资源的身份信息暴露,及易被不法分子利用,对数据资源构成威胁;同时,多并发用户时,容易对资源加锁,影响其他用户的访问。多资源共享方式:即对同一资源,建立多份相同环境的复制资源,公开这些数据资源的访问权限,不同用户根据一定的均衡策略并发获取资源数据。该种资源共享的方式的缺点有:除过暴露资源的身份信息外,其高昂的成本也是该种方式的一种缺陷,但是该种方式能够缓解单资源共享方式多并发用户访问时的加锁排队的问题。

对复杂的资源格式、分布式数据资源进行统一管理和调度,是数据共享中的一个重要问题。

2 SOA架构和相关技术

SOA(Service-Oriented Architecture)In-ternet环境的信息系统集成架构,它通过连接跨平台的、功能独立的、可重用的服务实体实现跨机构业务集成[2]。

2.1 面向服务架构(SOA)及其特点

根据数据接口的基本需求:提供统一的数据调用方式;提供标准的数据格式以适应所有应用程序的使用;考虑到数据库的安全性因素,需要将数据库服务器端透明化;等等。本数据接口在开发时,决定采用一下技术,从而达到系统的预定目标:

中间件技术:通过BEA Weblogic中间件平台上,创建数据源(DataSource),应用程序通过JNDI技术获得数据库源,提供数据库操作服务.该技术能够使得业务用户不知到数据库服务器的敏感信息,同时该技术能够兼容不同类型的数据库产品;

XML和Schema技术Xml技术提供了标准的数据交换格式,目前各种高级程序都提供了对Xml格式数据操作的API。针对不同的业务数据,可以通过Schema技术提供固定格式的Xml。将关系型数据库数据转换为标准的Xml格式数据。

Web Service技术: 一种独立于操作系统、数据库平台和SOAP传输协议之上的全球通用的服务应用接口协议。开发者可以根据各自喜欢的语言,在各种不同的操作系统平台上编写Web Service应用。

安全策略:Web Service 自身并没有提供安全机制,所以任何拿到WSDL的用户,都可以通过该描述文件生成客户端,任意进行调用,所以它是不安全的。WS-Security安全标准的产生,提供了对Web Service应用安全性的框架,主要策略是通过:1) 在SOAP消息中加入用户/密码信息,进行身份认证;2) 对SOAP消息进行数字签名 可以防止消息在传输的过程中被篡改,解决SOAP消息的完整性和不可抵赖性安全问题;3) 对SOAP消息进行加密 Web Service的通信是明文发送,所以很有可能被黑客截获,从而获得敏感信息;4) 根据自己应用的安全程度,采用上述(1-3)进行组合,形成综合安全策略。

3 数据共享系统

3.1 基于SOA技术整体架构

该数据接口的设计主要提供给二次开发的用户调用,由应用层、业务逻辑层、数据操作层和数据源4部分组成。其中将业务逻辑与数据操作通过SOA技术进行封装,应用层直接调用的数据服务,这样实业务与数据之间的分层,提高了系统的耦合度和灵活性。

3.2 数据共享数据流程

3.2.1 数据格式转换流程

系统执行业务逻辑的定义sql,获取关系型数据集,获取该数据集的元数据(数据集中字段的个数、字段名称、字段类型),遍历该数据集,组织标准的xml数据。其中对于BLOB类型的数据,则需要进行特殊的处理(进行二进制的编码与解码,其中JDK中提供该功能)。下面是一段经过转换的xml实例:

String

QUERY

String

2001-12-17T09:30:47.0Z

2001-12-17T09:30:47.0Z

23

3.2.2 用户请求数据以及系统返回数据流程

用户请求数据以及系统返回数据的流程中,主要包括以下两部分内容:初始化和业务处理。初始化过程:1)加载系统中所有的数据源;2)加载系统中定义的用户;3)加载系统中定义的所有预定义检索内容;业务处理过程:1)验证用户合法性;2)根据用户的ID查看该用户在系统安全策略中的定义,那些数据受到限制;3)定位用户调用业务逻辑的定义,执行该业务逻辑定义的sql;4)将获取的关系型数据结果集转化为xml数据;5)将数据封装为需要返回给用户的xml格式数据;6)调用结束。

3.3 数据规格的定义

3.3.1 数据源数据规格

数据接口的使用,需要管理人员指定该接口服务与哪些在中间件上定义的数据连接池。数据接口在启动时,便将所有的数据源加载到Cache中,接口直接在Cache中获取数据源连接,从而避免通过JNDI获取连接池的性能消耗。

以下是一个数据源定义的实例config.properties:

java.naming.provider.url=t3://localhost:7001 /*设置数据源的上下文环境*/

java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory

DATASOURCE_SIZE=n/*,设置数据源的个数;DATASOURCE_变量=JNDI名称;

DATASOURCE_i=jdbc/mysql/jcc /*,设置数据源(1),*/

3.3.2 用户数据规格

使用该数据接口系统的用户,必须首先在本系统的管理平台中进行注册,并且处于启用状态,否则不给该用户提供数据获取服务。用户的定义主要包括:用户ID(ApplicationID),用户名称(ApplicationName),用户简单描述(ApplicationDesc),是否启用(IsUse) 4个元素的定义。关于用户数据的规格定义在Grmc_Data_Service_User.xsd文件中,它的具体语法的如图3。

图3

3.3.3 预定义检索数据规格

在数据接口中,根据具体的业务需求,按照业务的实际情况,分门别类的定义业务的逻辑和实现该业务逻辑需要查询的表格和条件,并且设定唯一的标识符进行身份的标识。用户只需要知道自己需要调用业务的唯一标识,则可迅速获取该业务逻辑的sql等数据的定义,从而执行该sql获取相应的数据。关于预定义检索数据规格定义在Query_Define.xsd文件中,它的具体语法的如图4。

图4

3.3.4 接口安全策略数据规格

前面已经定义了用户和预定义检索,接口调用安全策略主要就是建立用户和预定义检索业务逻辑之间的联系,确定哪些业务逻辑受到限制、哪些表格数据受到限制、哪些字段受到限制等。根据这些限制信息,则在系统获取数据时,会进行相应的检测,对于合法的数据则返回给用户,否则提示用户。关于安全策略数据规格定义在Application_Policy.xsd文件中,它的具体语法图如图5,包括数据安全策略和服务安全两个元素:

图5

1) 数据安全策略节点定义

图6

2) 接口方法安全节点定义

图7

3.3.5 返回数据规格定义

1-4的信息需要在系统业务运行之前则进行完整的配置,返回数据则是在应答用户调用时,动态生成的数据。它主要包括:

1) 用户的请求内容信息

2) 系统出错内容信息

3) 系统返回的xml数据信息。关于返回数据规格定义在Query_Define.xsd文件中,它的具体语法的如下:

图8

3.4 安全策略

在本系统中,安全主要分为数据安全与接口方法安全,即通过用户在提交的请求中加入用户的相关信息,数据接口在处理响应之前,则首先加载系统的权限信息,检查该用户是否已经定义,通过则继续检查处理该请求的业务方法该用户是否有权限访问,然后再确认需要访问的数据类型是否合法,三步检查都通过时,系统才会执行其他的数据获取与封装业务,直到返回。

4 结束语

本文研究并实现了基于SOA架构的数据共享系统模型,该模型具有高度松散耦合、跨平台、统一的调用方式和统一数据格式等特性,对于业务发生更改或使用环境发生变化、能够快速的适应而不需改变原有的系统结构与调用方法。本数据接口已经在广东气象信息中心进行了实施,经过测试证明,该系统达到最初的设计目标,能够对信息中心的文本数据与数据库数据提供统一的服务。

参考文献:

[1] 李集明,熊安元.气象科学数据共享系统研究综述[J].应用气象学报,2004(15).

[2] 李春旺.SOA标准规范体系研究[J].现代图书情报技术,2007(5).

上一篇:JDBC数据库连接池技术简介及设计 下一篇:基于框架的信息系统整合研究