基于SOA的环境科学数据共享平台设计与实践
2014-06-23方利王文杰高振记王明浩花洁曾秀俐
方利,王文杰,高振记*,王明浩,花洁,曾秀俐,2
1.中国环境科学研究院,北京 100012
2.湖南科技大学建筑与城乡规划学院,湖南湘潭 411201
基于SOA的环境科学数据共享平台设计与实践
方利1,王文杰1,高振记1*,王明浩1,花洁1,曾秀俐1,2
1.中国环境科学研究院,北京 100012
2.湖南科技大学建筑与城乡规划学院,湖南湘潭 411201
针对我国环境科学数据异构、分散,缺乏空间数据共享及共享范围局限等问题,提出了基于面向服务的架构(SOA)的环境科学数据共享平台技术架构,在建立环境科学数据库及元数据库基础上,综合应用SOA、Web Service、Service GIS、中间件等技术实现元数据服务,空间与属性数据互检索服务,空间数据聚合服务,网络数据抽取服务以及异构资源注册服务等功能,集成了环境专题数据,基础地理数据,遥感影像、水文、气象、空间数据服务等各类环境资源,实现了各类异构环境数据资源的共享及注册服务。该技术可为构建我国大型综合性环境共享平台提供可供参考的模式。
环境科学数据;数据共享平台;元数据;SOA;Service GIS;中间件
我国环境信息化建设始于“七五”期间,经过“中国100个城市环境信息系统建设”、“污染源自动监控项目”、“环境信息传输与统计能力建设项目”、“国家水体污染控制与治理科技重大专项”等重大专项建设,各种污染源、环境质量监控数据、卫星遥感数据以及环境管理业务数据急剧膨胀,使环境数据共享与服务面临新的挑战[1]。同时由于我国各级环境管理部门在信息化建设方面缺乏统一规划和业务协同,信息资源未被充分开发和有效应用[2],造成“纵向信息烟囱、横向信息孤岛”的局面[1]。环境数据作为一种重要的战略信息资源,其内容包含环境背景、环境专题、水文、气象、土地利用、社会经济、人口等数据,涉及环境保护、水利、气象、国土资源等众多部门,以信息共享技术促进部门间协同应对环境问题,是环境管理工作发展的必然趋势,对政府决策、科学研究以及公众知情权具有重要意义[2-3]。
在国外,科学数据共享工作开展较早,共享机制较为完善。美国在20世纪最后10年确立了在国家层面上建设国有科学数据和信息全社会共享的战略部署[4]。目前美国国家航空航天局(NASA)、美国地质调查局(USGS)、美国国家气候数据中心(NCDC)、美国农业部(USDA)自然资源保护中心(NRCS)、美国全球环境和社会研究院(IGES)等机构已经建成数据共享网络,面向全社会提供遥感影像、水文监测、土地植被、水资源、海洋、大气、高程、洪水、干旱、飓风、暴雪、森林火灾、气候、自然资源保护等公共数据资源及模型服务①美国主要数据共享平台网址:http://nasadaacs.eos.nasa.gov/about. html;http://waterdata.usgs.gov/nwis;http://eros.usgs.gov;http://www. ncdc.noaa.gov;http://www.wcc.nrcs.usda.gov/;http://www.iges.org/ cola.html。。欧洲委员会于2008年1月提出共享欧洲环境信息的概念,建立一个共享的环境信息系统(SEIS),为环境管理和制定环境政策提供信息支持,为非政府组织、研究机构、大学以及公众方便和自由的获取环境信息创造条件[5]。国外在环境科学数据科研及应用方面,也开展了一些技术研究及实践工作,如探讨了科学数据共享的关键因子[6]及影响因素[7],基于元数据[8]、Web服务[9]、空间互操作[10]等技术实现某一领域的生态和环境科学数据的共享。
我国科学技术部于2002年启动了“科学数据共享工程”,相继建立了地球系统科学[11]、气象[12]、农业[13]等数据共享平台,面向全社会提供数据服务,已取得了较好的应用效果。2004年底,国家环境保护总局启动了“环境科学数据库建设与共享”项目,目的是以环境质量、环境科研和生态环境数据为核心,研制一批高质量的具有环保系统数据特征的标准数据集,初步建立国家级环境科学分布式共享服务网络体系[14],服务于环境管理(目前尚在建设中)。我国在环境数据共享的框架[1]及构建技术方面[15-17]已开展了一些研究,建立了一批环境数据共享平台[18-24],服务于特定领域的科研项目。近年来,随着面向 服 务的架构 (serviceoriented architecture,SOA)技术的成熟,该技术逐渐应用于一些共享平台的建设,如地球系统科学数据共享平台基于SOA技术实现了分站点的注册,即数据同步[25];段晓宇[26]研究了基于SOA的交通信息共享平台体系架构,实现了不同系统间交通信息的交换功能;周英[27]探讨了SOA的技术实现,并在校园信息共享平台中基于ASP.Net构建了学籍信息查询Web服务的发布及调用。
总体来看,我国环境科学数据共享还存在以下问题:目前已经建立的共享平台或信息发布网络,通常只面向某类环境要素,这些数据资源异构、分散且共享范围有限;大部分共享平台网站主要提供元数据或属性数据共享,环境空间数据共享资源获取困难;缺乏面向管理、科研及公众服务的,集成各类环境数据的大型综合性环境共享平台。针对这些问题,笔者提出一种基于SOA架构的环境科学数据共享平台构建方法,该平台可集成各类异构环境科学数据,具有开放性、可扩展性,可为我国环境科学数据的共享提供参考。
1 基于SOA的环境科学数据共享平台架构设计
环境科学数据共享平台的体系架构决定了平台的组件构成及其相互间的通讯模式,其将影响环境科学数据共享服务的水平及质量,表现为共享平台的互操作性、可扩展性、开放性等要求。采用面向服务的体系架构SOA,在基于网络的分布式环境中,将各类环境数据的元数据共享、空间数据共享、资源注册等各种功能以服务的形式提供给用户。
SOA架构的基本元素是服务,任何业务功能都能被作为提供的一个服务使用,应用系统是一系列服务的集成[28]。SOA通过一组实体提供和消费服务实现异构系统之间的互操作。这些服务具有松耦合、独立、可互操作、位置明确,可通过网络查找其地址等特点,服务的接口采用中立的方式定义,可使用统一和标准的方式进行通信,独立于具体实现服务的硬件平台、操作系统和编程语言等[29]。
基于SOA架构搭建的环境科学数据共享平台系统架构如图1所示。
图1 基于SOA的环境科学数据共享平台架构Fig.1 Environmental data sharing platform based on service oriented architecture
平台的数据层,包括平台本地数据资源及外部数据资源,数据资源通过元数据注册将其元数据信息存入平台元数据库。本地及第三方持有的空间数据服务、外部数据源、网络发布数据、其他数据共享网站则也可以注册服务的方式注册为平台的共享资源。数据资源及元数据库、服务索引库共同为服务应用层提供数据支撑。
平台的服务层,主要业务应用功能以服务的形式提供,由服务策略、服务管理以及具体的服务构成。服务由Web服务(Web Service)及Service GIS服务构建,分别提供属性数据服务及空间数据服务。二者分别基于XML、GML语言,采用通用的数据服务/协议/消息传递(SOAP/WSDL/UDDI)机制,共同构建数据共享服务,并以OGC服务、SOAP服务、API接口等不同形式发布。各类服务以组装、集成的方式搭建成系统,共享平台服务由元数据服务、空间数据服务、网络数据共享服务、异构数据资源注册服务以及平台管理服务等组建而成。由于采用通用的数据互操作协议,在SOA架构下,各种服务可进行统一注册、管理、发现与应用,同时也可方便地进行服务或数据资源节点的扩展,从而保障了平台的开放性和可扩展性。
平台的应用层,面向环境管理与职能部门、科研部门、企业、公众等各类用户,用户通过平台界面提交指令并获取共享平台返回的各类数据服务功能。
2 数据整理及建库
环境科学数据库的构建是数据共享平台的核心。环境科学数据类型复杂,存在多源、异构、海量等特点,包含空间数据和属性数据、多数据类型、多数据格式、多空间尺度和多时间尺度等。收集各类环境科学数据,设计其分类体系,构建共享平台环境科学数据分类体系(图2)。从提供数据服务的方式划分,分为空间数据和属性数据两大类。空间数据可提供空间数据服务及元数据服务,属性数据可提供元数据服务。空间数据分为环境专题数据、基础地理数据、遥感影像数据以及数字高程模型(DEM)数据;其中矢量数据又按照空间尺度、时间尺度以及图层进行组织。属性数据包括环境质量监测数据、环境统计数据以及污染源数据;然后再按照时间尺度以及环境要素分类。
图2 环境科学数据分类Fig.2 Environmental data classification
在共享平台数据分类的基础上,进行数据整理及建库工作,流程如图3所示。对各类环境数据进行规范化分类及编码,其中空间数据需要进行坐标转换、统一空间基础、数据编辑等工作。对数据进行完整性、逻辑一致性、空间精度等数据质量检查,确保数据库质量。
对实体数据库整理完成之后,提取其元数据信息,包括数据内容、数据类型、数据量、参照系统、数据质量等基本信息,以及分发单位、联系信息等,将元数据录入到平台的元数据库。
图3 环境科学数据整理与建库流程Fig.3 Flow chart of environmental database building
经过数据整理建库工作,建成包含环境专题数据、基础地理数据、遥感影像数据以及DEM等各类空间数据库。其中矢量数据采用ArcSDE空间数据引擎、Shape文件等方式存储,遥感影像以文件方式存储,属性数据以及元数据采用Oracle数据库进行存储,总数据量超过4 GB。录入元数据信息3 000多条。
3 系统核心服务设计与实现
环境科学数据共享平台基于SOA架构,采用J2EE(Java 2 Platform,Enterprise Edition)开发平台,开发工具为Eclipse 4.3,Web服务器为Tomcat 7.0。系统功能主要基于Web服务或Service GIS技术构建,主要功能包括元数据服务、空间数据服务、数据资源注册服务、统计分析服务以及系统用户与权限管理等功能。
3.1 元数据服务
根据不同的用户权限提供元数据服务,包括元数据录入与编辑、元数据注册与审核、元数据查询以及目录管理等功能(图4)。元数据编辑人员可进行元数据录入、编辑、删除等操作;平台外部用户注册以后,可进行元数据注册,并能管理自己注册的所有元数据信息;系统管理员对提交注册的元数据进行审核,审核通过以后,改元数据信息进入元数据库,正式对外发布;平台所有用户均可使用元数据查询以及元数据目录服务。
图4 元数据服务功能Fig.4 Functions of metadata services
元数据服务功能以Web服务形式提供,Web服务的开发流程如图5所示。Web服务的实现包括服务器端开发及客户端开发。
图5 Web服务开发流程Fig.5 Development process of Web Services
服务器端开发步骤:1)创建一个Web服务项目;2)编写Web Service类,只需要用@Web Service标注Java类为Web Service类,@Web Method标注类方法为Web Service方法,这些被标记的类和方法,在服务发布之后,就能被客户端调用;3)在Web.xml文件中进行配置申明服务;4)在Web服务器Tomcat下发布服务;5)产生服务描述文件WSDL(Web Services description Language),供客户端获取。如以下几行为在服务器端编写的Web Service类及方法。
基于Eclipse的JAX-WS(Java API for XML Web Services)开发包进行客户端的开发:1)获取WSDL文档;2)解析文件内容,了解服务器端的服务信息以及调用方式,生成客户端Stub,在这个过程中,可以调用EJB(Enterprise JavaBean)组件层中开发的组件,如元数据录入、编辑、注册等组件,实现复杂的业务逻辑操作,基于JDBC组件实现行数据库的访问;3)编写客户端SOAP请求消息(指定调用的方法以及调用的参数),发送给服务器端;4)等待服务器端返回的SOAP回应消息,解析得到的返回值;5)通过JSP(Java Server Pages)技术动态生成页面,显示最终结果。
3.2 空间与属性数据互检索功能
空间与属性数据互检索是指元数据及其空间位置的互相检索功能,可通过元数据属性中的空间位置信息定位到该元数据对应的空间数据,也可通过在地图中进行空间查询,获取该空间区域的所有元数据信息,这样用户可方便地了解某一地区所有的数据资源。
如用户通过元数据检索获取了一条元数据记录,当点击“查看数据集”时,如果该数据集是空间数据且发布了空间数据服务,则系统会打开该空间数据服务页面;如果该数据集是属性数据,则系统打开数据集的详细属性页面。当用户进行空间数据检索时,通过在地图窗口中拉框操作或者输入行政区域名称,则系统会查询该空间区域范围内所包含的所有元数据信息(图6)。
空间数据与属性数据互检索功能的主要逻辑处理功能业务逻辑层通过EJB组件完成,然后将其封装为Web服务,封装流程同3.1节元数据服务开发流程,在服务器端增加申明空间数据检索及属性数据检索Web服务类,然后在JAX-WS中增加相应Web服务类客户端的开发。
3.3 空间数据聚合服务功能
目前大部分数据共享平台直接提供的数据以属性数据为主,空间数据的共享主要通过申请审批方式获取,数据获取手续繁琐且周期较长。环境科学数据共享平台提供集环境专题、基础地理、遥感等多种类型、多种来源的空间数据聚合服务,用户通过网络就可直接获取空间数据进行应用。
图6 基于空间范围查询元数据Fig.6 Metadata retrieval by spatial dimensions
空间数据聚合服务通过服务式 GIS(Service GIS)技术构建[30],Service GIS是一种面向SOA的GIS技术体系,以美国开放地理信息系统协会(OGC)指定的数据共享规范,将GIS功能以服务的形式发布,用统一协议的方式使客户端能够读取任意数据服务器提供的空间数据,同时支持各种标准Web服务协议(如REST服务、OGC服务、SOAP服务等)之间的再聚合等,使服务端、客户端及第三方应用能进行多层次的聚合,为客户端应用提供矢量数据服务、栅格数据服务以及地图服务(图7)。共享平台的空间数据聚合服务以几种方式提供:1)平台本身的环境专题数据直接以服务形式发布;2)调用其他网站发布的基础地理数据作为底图,加载本地环境专题数据,然后发布成服务;3)直接调用并发布其他网站的空间数据服务。
图7 空间数据服务聚合服务Fig.7 Technology of spatial data aggregation services
客户端可通过在浏览器中输入服务的地址、在GIS软件平台中直接加载Web服务,获取对空间数据的基本操作或高级分析功能。如果客户端没有GIS平台,也可通过浏览器方式直接访问服务,并通过网址加载其他的Web服务或者本地数据,进行聚合服务应用,实现多种客户端跨平台、跨网络、跨语言调用。
图8为通过空间数据聚合服务组件提供的空间数据服务,左侧为本地发布的环境专题数据服务,包括全国地貌、土壤类型等数据,中间的地图是调用ArcGISOnline网站发布的基础地理信息数据作为底图(包括基础地理数据、遥感影像等),环境专题数据可作为图层直接加载到地图中。每个空间数据服务同时提供获取该服务的链接,包括URL地址、接口等,用户可直接通过网络访问或在地图GIS平台中打开数据,与本地数据集成应用。
图8 环境空间数据聚合服务Fig.8 Application of environmental data aggregation services
3.4 网络数据抽取功能
基于中间件技术研制了网络数据抽取功能,将国家水文水资源共享平台、中国气象科学数据共享服务网等网站每日发布的数据(气象、水文等),抓取、存储并发布到环境科学数据共享平台,实现了异构网络数据的共享。
网络数据抽取中间件由服务器端组件和客户端组件构成,客户端主要功能包括建立与服务端的连接通道;按照数据访问协议,向数据抽取中间件服务端提交查询字符串,接收并解析查询结果。服务器端主要功能包括建立到数据服务器数据库的连接;监听、探测客户端的连接请求;根据通用数据访问协议,解析客户端的数据访问请求并执行SQL语句,将结果数据发送至数据请求的客户端;判断负载,实现服务端负载平衡。
通过网络数据抽取中间件在网络中查找数据,将查找的信息解析成结构化数据,同时提起其元数据信息,分别存入平台的数据库及元数据库,然后将元数据及实体数据,以服务形式发布到环境科学数据共享平台。
通过网络数据抽取服务访问国家水文水资源共享平台(http://xxfb.hydroinfo.gov.cn/),抽取其每日发布的全国重点雨情、大江大河水库实时水情等数据,并将其发布到环境信息共享平台,提供元数据及实体数据的下载(图9)。
图9 水文数据抽取及共享Fig.9 Data mining and sharing of hydrological data
3.5 异构数据资源注册功能
共享平台提供异构数据资源注册功能,通过提供通用URL资源、空间信息服务、FTP资源以及网页目录服务等多种服务注册方式[22],每种类型封装了对相应的数据规范和类型的支持,将其他网站的数据服务、空间信息服务、FTP以及目录资源等注册到共享平台,实现更高效的资源共享服务的扩展。具体技术细节参见文献[22]。共享平台基于空间信息服务方式实现了ArcGISOnline网站空间数据资源的注册及应用。
4 系统实现与部署
基于SOA架构思想,采用J2EE平台的SSH开发框架,综合应用Web服务、Service GIS、中间件等技术,建立了中国环境科学数据共享平台,基于Tomcat 6.0对平台进行部署及网络发布。该平台实现了环境专题数据,基础地理数据,遥感影像、水文、气象等各类异构环境资源的共享服务;实现了国家水文水资源科学数据共享网、中国气象科学数据共享服务网的数据抓取及共享;实现了ArcGISOnline等网站的空间数据注册及聚合服务。
5 结论
探讨了基于SOA的系统技术架构,开发了环境科学数据共享平台,建立了环境科学数据库及元数据库,综合应用SOA、Web服务、Service GIS、中间件等技术实现了元数据服务,空间与属性数据互检索服务,空间数据聚合服务,网络数据抽取服务以及异构资源注册服务等功能,集成了环境专题数据,基础地理数据,遥感影像、水文、气象、空间数据服务等各类异构环境资源,实现了各类异构环境数据资源的共享及注册服务。平台为构建我国大型综合性环境共享平台提供了可供参考的模式。该平台已为国家水体污染控制与治理科技重大专项“流域水环境风险评估与预警平台”等多个科研项目提供了数据服务支持,具有较强的实用性和可扩展性。
环境科学数据共享平台的数据资源共享模式及长效运行机制有待进一步探讨。以环境科学数据分中心的模式不断集成、扩展环境科学数据共享资源,构建资源更为丰富、多节点的环境数据共享平台;在此基础上,构建深层次的环境数据挖掘与应用服务,以进一步提升共享平台的服务价值与应用水平。
[1] 李顺,许富春,王利强,等.国家环境数据共享与服务体系研究[J].中国环境管理,2011,3(2):11-17.
[2] 卢淑萍.环境信息资源整合的初探[J].江西能源,2008(4):38-40.
[3] 卜伟,黄洪.信息共享平台在环境管理中的支撑作用[J].环境科学与管理,2008,33(8):28-29.
[4] 刘闯.美国国有科学数据共享管理机制及对我国的启示[J].中国基础科学,2003,5(1):34-39.
[5] 邢黎闻.奥地利与欧洲“共享环境信息系统(SEIS)”[J].信息化建设,2009(7):52-53.
[6] SAYOGO D S,PARDO T A.Exploring the determinants of scientific data sharing:understanding the motivation to publish research data[J].Government Information Quarterly,2013,30(Suppl 1):19-31.
[7] BERTZKY M,STOLL-KLEEMANN S.Multi-level discrepancies with sharing data on protected areas:what we have and what we need for the global village[J].Journal of Environmental Management,2009,90(1):8-24.
[8] LEINFELDER B,TAO J,COSTA D,et al.A metadata-driven approach to loading and querying heterogeneous scientific data[J].Ecological Informatics,2010,5(1):3-8.
[9] CONNER L G,AMES D P,GILL R A.HydroServer Lite as an open source solution for archiving and sharing environmental data for independent university labs[J].Ecological Informatics,2013,18(6):171-177.
[10] HAN W G,DI L P,ZHAO P S,et al.DEM explorer:an online interoperable DEM data sharing and analysis system[J]. Environmental Modelling&Software,2012,38(12):101-107.
[11] 诸云强,孙九林,廖顺宝,等.地球系统科学数据共享研究与实践[J].地球信息科学学报,2010,12(1):1-8.
[12] 赵胜钢.国家农业科学数据共享平台体系结构研究[D].北京:中国农业科学院,2009.
[13] 郭亚曦.我国气象科学数据共享系统建设与服务[J].中国科技资源导刊,2008,40(1):14-18.
[14] 国家环境保护总局信息中心.科学数据共享工程与国家环境数据中心建设[EB/OL].(2005-11-09).http://www.zhb.gov. cn/ztbd/jlh/zg/200511/t20051109_71462.htm.
[15] 万军,朱蕾,朱玉琴.环境基础数据资源共享平台研究[J].装备环境工程,2010,7(6):228-230.
[16] 杨大勇,林奎.环境信息共享研究[J].测绘科学,2007,32(5):188-189.
[17] 全鼎余,赵坤荣,杨大勇,等.环境监测信息共享与时空表达研究[J].计算机测量与控制,2011,19(3):539-542.
[18] 冯莉,刘晓玫,何报金.基于智能客户端的太湖流域数据共享系统实现[J].测绘科学,2007,32(1):93-95.
[19] 钱大君,吴健平,余柏蒗,等.上海市资源与环境数据共享平台的实现[J].计算机工程,2008,34(10):283-285.
[20] 何春银.江苏省太湖流域水环境信息共享平台集成关键技术及其应用[J].环境监测管理与技术,2009,21(6):58-61.
[21] 孙维国.基于智能客户端的岷江流域数据共享系统研究[D].黑龙江:东北林业大学,2009:1-3.
[22] 马红旺,高振记,方利,等.基于Geoportal的流域水环境信息共享平台设计与实现[J].环境工程技术学报,2012,2(5):390-395.
[23] 许亚飞,毕如田,余勤飞,等.基于WebGIS的污染场地信息共享平台的架构设计与应用[J].环境工程技术学报,2013,3(1):71-77.
[24] 孙强,李顺,陆晨,等.基于信息资源规划的流域水环境数据中心设计与实践[J].中国环境监测,2013,29(1):127-132.
[25] 诸云强,冯敏,宋佳,等.基于SOA的地球系统科学数据共享平台架构设计与实现[J].地球信息科学学报,2009,11(1):1-9.
[26] 段晓宇.基于SOA的分布式交通信息共享平台研究[D].北京:北京交通大学,2009:47-52.
[27] 周英.基于SOA技术的校务信息共享平台研究与设计[D].湖南:湖南大学,2012:39-40.
[28] LINTHICUM D S.云计算与SOA[M].马国耀,译.北京:人民邮电出版社,2011:3-5.
[29] 姜国华,李晓林,季英珍.基于SOA的框架模型研究[J].电脑与信息技术,2007,15(6):37-39.
[30] 宋关福.Service GIS引发地理信息服务共享与聚合革命[J].地理信息世界,2008(6):83-85.○
Design and Implementation of Environmental Data Sharing Platform Based on SOA
FANG Li1,WANG Wen-jie1,GAO Zhen-ji1,WANG Ming-hao1,HUA Jie1,ZENG Xiu-li1,2
1.Chinese Research Academy of Environmental Sciences,Beijing 100012,China
2.College of Architecture and Urban Planning,Hunan University of Science and Technology,Xiangtan 411201,China
An environmental data sharing platform based on service oriented architecture was designed and implemented to share heterogeneous environmental data scattered in various systems and locations characterized by heterogeneous and lack of spatial data sharing.Some key technologies such as service oriented architecture(SOA),Web Service,Service GIS,and middleware technology were integrated and applied in this platform to realize functions such as metadata service,attribute data and spatial data mutually retrieving service,spatial data aggregation service,web data mining service,and multi-service register service.The platform can share different environmental data such as environmental thematic data,fundamental geographic data,remote sensing images,hydrological and meteorological data,and spatial data services based on environmental databases and metabase.In addition,the platform based on service oriented architecture bears openness and expansibility so that various environmental data resources and spatial data services from networks can be integrated into the platform.
environmental data;data sharing platform;metadata;SOA;Service GIS;middleware
X320
A
10.3969/j.issn.1674-991X.2014.04.054
1674-991X(2014)04-0333-08
2013-11-19
国家水体污染控制与治理科技重大启动专项项目(2009ZX07528-004);中国环境科学研究院改革启动专项项目(2010GGQD04)
方利(1979—),女,副研究员,博士,主要从事GIS理论研究及技术应用、环境信息集成等方向研究工作,fangdanli@163.com
*责任作者:高振记(1971—),男,副研究员,博士,主要从事地理信息系统应用、地下水污染防治等方向研究工作,gaozj@craes.org.cn