基于SOA架构的地质资料在线服务系统设计与实现

2019-06-21 05:59樊旭东鞠红艳刘莉茗
资源环境与工程 2019年2期
关键词:资料服务系统

樊旭东, 鞠红艳, 王 冕, 刘莉茗

(1.湖北省地质调查院,湖北 武汉 430034; 2.湖北省国土资源资料馆,湖北 武汉 430071)

地质资料是地质工作者用劳动和智慧淀积下来的宝贵社会财富,是经济建设的重要依据。地质资料服务是基于海量地质资料积累和数字化产品的科学组织与服务[1],是地质工作成果和价值的体现。在网络化、大数据、云计算的新时代背景下,新技术、新方法、新理念不断涌现,地质资料的管理以及社会化服务也将发生变化。如何利用现代计算机技术,提高资料服务现代化水平,使地质资料服务融入当今信息社会,已经成为馆藏机构、地质科技人员和社会公众比较关注的问题。

首先对地质资料的数据特点进行分析,以湖北省国土资源资料馆的信息化需求和地质资料管理技术的应用现状和发展趋势为研究背景,在对地质资料数据关键应用技术研究的基础上,通过分析SOA的实现技术和业务场景,明确系统的基本组成功能,整合组件及中间件,构建出基于SOA架构的地质资料服务接口,并对服务接口的架构及开发框架和技术进行设计,最后通过开发实例服务说明该服务接口实现了SOA的业务流程。

1 面向服务的架构SOA

面向服务的架构SOA(Service Oriented Architecture)是一种新的软件系统架构模型,将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来,利用服务接口将不同的业务功能模块进行封装与发布[2]。SOA是实现云计算开放架构的基础理念之一,是构造分布式计算程序的方法,适用于大型复杂业务系统的数据共享和交换。SOA使用开放标准和协议,不受硬件平台、操作系统和编程语言的限制,将应用程序功能作为服务发送给最终用户或者其他服务,实现系统及信息的互联互通和互操作[3]。

2 地质资料数据分析与处理

地质资料按照专业类型分为区调、海洋地质调查、矿产勘查、物化遥勘查、地质科学研究、技术方法研究、其他等7个大类,29个小类;根据内容和形式的不同,地质资料分为正文报告、附图、附表、附件、审批件、多媒体、数据库、软件、其他等9种数据类型。

由于地质资料数据结构复杂,要想实现统一存贮和数据集成比较困难。经过数据结构分析,将地质资料数据分为案卷级数据和文件级数据两大类,其中案卷级数据包括地质资料的档号、题名、形成单位和时间、工作方法、勘查矿种、工作行政区、专业类型、工作程度等信息,这些数据信息大都具有特定的格式,或经过数据转换,可以使用关系型数据库进行存贮,一般称之为结构化数据;而文件级数据包括地质资料的正文报告、各式图件、审批扫描件、各类附表等,无法通过关系型数据库进行存贮,称之为非结构化数据。

2.1 结构化数据处理

对于结构化数据,基于SQL Server建立关系型数据库,经过数据规范整理和格式转换,这类数据具有统一的编码、代码和数据类型,可以完整地存贮在数据表中,并通过关键字段建立其间的联系。

2.2 非结构化数据处理

对于非结构化的数据,首先建立各类文件级资料的元数据,元数据是文件级资料的描述类信息,内容包括:文件级资料名称、类型、数据格式、实体文件名、比例尺、密级等,然后将元数据字段内容存贮在关系数据库中,而具体的文件实体则存贮在文件服务器上。通过元数据,使结构化数据与非结构化数据之间建立关联,实现了地质资料数据快速和低成本的统一存贮和数据集成。

3 系统设计

3.1 总体设计

目前多数地质资料馆藏机构使用的地质资料服务系统开发年代较早,部分馆藏机构仍然使用ASP+ACCESS数据库的方式提供服务,功能上仅能进行简单的地质资料目录查询,无法满足社会公众对地质资料的服务需求。

基于SOA架构设计的地质资料在线服务系统框架主要由数据访问层、业务逻辑层、集成服务层和前端用户界面表现层4部分组成(图1)。通过对现有已建成地质资料数据库和文件服务器的资源共享利用,达到以业务为核心,选择适用技术服务业务的目的。基于此框架,系统可以同时在广域网和局域网环境下部署,开发的系统更加便于功能扩展和维护。

图1 SOA架构的地质资料在线服务系统框架Fig.1 On-line geological data service system framework based on SOA architecture

基于SOA架构的地质资料在线服务系统具有以下技术特点:

(1) 任意系统在Web用户界面层都可以调用集成服务层提供的功能,系统功能易于拓展,部署比较灵活。

(2) 由于SOA具有优良的扩展性以及其组件性特征,系统可以根据不同的需求,直接利用现有的资源,按照需求进行重新组合和构造。

(3) 简化了提供、寻找和使用服务的过程,使系统的升级、分布和维护有更多的优化与扩展。

(4) 通过对现有的资源共享利用,可以迅速创建新的业务流程,减少了软件和硬件开支成本,缩短应用系统开发和部署周期。

3.2 数据访问层设计

数据访问层主要用来存储持久化数据到数据库中,具体就是实现对地质资料数据库的Select,Insert,Update,Delete的操作。数据访问层通过数据访问组件对数据库进行地质资料数据的读取和写入,其职责包括选择数据源、调用存储过程、返回数据集等。在进行系统设计时,数据访问层除了访问数据库系统外,还可以访问地质资料文件服务器中的栅格图形文件、文本文档、PDF文档和XML文档等非结构化数据。

3.3 业务逻辑层设计

业务逻辑层主要针对具体的问题的操作,处理业务逻辑和存储管理数据,是数据访问层和服务层之间的桥梁。业务逻辑具体包含:验证、计算、业务规则等,对输入数据的正确性及有效性校验,负责逻辑性数据的生成、处理及转换。在系统设计中,主要需要实现的业务逻辑有:

(1) 地质资料目录查询。根据接收的档号、题名、工作程度、工作方法、空间位置等参数信息,在进行有效性验证后,调用数据访问层的接口,获取地质资料目录数据,并将数据转换成JSON或者XML格式传送给上层服务。

(2) 文件级地质资料编码。根据接收的文件级资料参数信息,调用数据访问接口,对文件服务器中的实体文件进行转换和编码,使用Base64编码传送结果数据。

(3) 资料借阅。主要提供资料预约、查询、续借的资料管理业务流程。

(4) 用户服务。提供用户登录、登出、修改密码、更新个人资料、找回密码等用户服务业务流程。

3.4 集成服务层设计

集成服务层是整个系统功能的核心,采用SOA架构、Web Services技术,并以Web服务接口的形式提供服务。在设计中,集成服务层用来简化外部操作,同时达到解耦的目的。集成服务层定义了应用的边界和客户端所能看到的可操作集,它封装了系统的业务逻辑、事务控制及操作协调,简单的理解就是服务层隐藏了业务逻辑层的细节,将业务层的服务类或非服务类封装,向客户端提供简洁的服务接口,实现远程服务开发。

3.5 用户界面表现层设计

用户界面表现层用来处理用户和系统之间的交互,是整个系统的最外层,直接和用户交互,用于显示数据和接收用户输入的数据。用户界面层基于HTML和网页浏览器的Web程序,在设计用户Web界面时,为了符合用户的操作习惯,采用WebGIS的显示界面,使用OpenLayers技术调用国家地理信息公共服务平台天地图的全球矢量地图WMTS服务作为地理底图,在Web地图上实现地质资料的位置空间展示和操作。通过WebGIS方式,提高搜索资料的命中率,加快资料的利用过程。

4 系统服务与接口设计

4.1 系统服务流程

客户端首先对用户发送的数据请求进行解析和预处理后,通过集成服务层调用相应的服务接口,向业务逻辑层发送服务请求,业务逻辑层将参数转换生成SQL语句发送至数据访问层;数据访问层调用相应的存储过程,在数据库中进行数据筛选生成数据集,业务逻辑层从返回的数据集中获取数据进行处理并重新组织,将数据以XML或者JSON格式进行封装,集成服务层对返回的数据重新解析和构建为实体对象,最后通过界面表现层向用户展示所需的数据,从而形成完整的系统服务流程。地质资料在线服务系统的核心服务流程如图2所示。

4.2 服务接口设计

系统服务设计中通过绑定具体实现服务的组件进行封装,并通过接口远程调用服务,实现了服务的透明化。服务接口能够与支持HTTP协议的主机和服务器建立通信和交互,由于任何编程语言都支持XML和JSON文本解析,从而通过服务接口实现不同应用系统间的信息交换和互操作。

系统服务提供了资料目录查询服务、资料数据编码服务、资料数据查询服务、搜索词服务、资料借阅服务以及借阅用户服务的接口。其中资料目录查询服务和文件级资料数据查询服务是系统中调用频率最多的两个服务,分别用于地质资料案卷级目录信息查询和地质资料文件数据浏览,是整个地质资料服务系统的核心服务。

图2 系统服务流程Fig.2 System service flow

(1) 资料目录查询服务接口。资料目录查询服务接口根据用户输入的参数,返回地质资料的案卷级目录信息,内容包括:档号、资料题名、编著者、专业分类、工作程度、工作方法、工作区的行政区和起止经纬度、主要次要矿产以及形成时间和单位等信息。为了提高响应时间和减少网络的传输量,返回的信息较多时会将信息进行分页传送。资料目录查询服务接口的请求参数、响应参数见表1。

(2) 文件级资料数据查询服务接口。资料数据查询服务接口主要返回地质资料文件级目录的有关信息以及文件实体内容数据。资料数据查询服务提供地质资料数据的最小单元,包括地质资料的文件实体内容,是数据服务的基本数据,在地质资料系统的开发中具有重要的作用。地质资料文件级数据包括正文报告、附图、附表、附件、审批件等,数据以Base64编码方式返回文件内容。资料数据查询服务接口的请求参数、响应参数见表2。

5 系统开发关键技术

通过分析地质资料数据特点和功能需求,结合云计算、大数据的发展应用,在系统设计与开发中使用到了一些关键性技术,这些技术成为实现系统设计的支撑体系,为系统的功能实现和稳定运行以及良好的用户体验提供了保障。

5.1 Web Services技术

系统服务接口采用了Web Services技术开发。Web Services通过HTTP协议传输数据,能够在不同系统之间进行数据交换,最适合实现SOA架构。使用Web Services技术开发的系统服务接口提供以下功能:

表1 资料目录查询服务接口参数Table 1 Parameters of service interface of data directory query

表2 资料数据查询服务接口参数Table 2 Parameters of data query service interface

(1) 支持数据交换。使用XML和JSON数据格式进行信息交换。

(2) 支持文档交换。支持大型非XML文档的交换,例如PDF文件、JPG文件和二进制文件。

(3) 支持同步和异步客户端。系统服务支持与客户端进行同步和异步通信。

5.2 OpenLayers技术

OpenLayers是一个用于开发WebGIS应用的地图引擎,可在Web客户端提供强大的地图展示功能[4-5]。借助WebGIS技术,在前端Web页面使用了最新OpenLayers框架,实现地质资料地理信息化的定位和可视化功能[6],改变传统的地质资料检索模式,将地质资料检索从文本查询转变为GIS空间查询,增强地质资料检索的便捷性和易用性,提高地质资料检索的命中率和地质资料的利用率。

5.3 栅格图形文件数据处理

地质资料中的附图、附件、审批件的文件级数据以JPG、TIFF、BMP等栅格图形格式存储在文件服务器中。为实现地质资料的在线预览,需要对栅格图形实时处理,包括改变分辨率以适合网络传输,添加馆藏机构水印实现版权保护等。

栅格图形文件数据处理流程是:首先通过Drawing.Size对象取得原始栅格图形的尺寸,并根据预设的参数使用Drawing.Graphics对象对栅格图形进行变换,然后使用DrawString和DrawImage方法在栅格图形上添加版权保护水印文字,最后将处理后的栅格图形文件进行Base64编码,从而实现地质资料中图形文件在Web客户端的预览和远程地质资料文件数据服务。

5.4 PDF文件处理与浏览

地质资料中的报告正文、附表以PDF格式保存在文件服务器中。由于PDF文件具有多页属性,开发时使用iTextSharp的pdfStamper.GetOverContent方法在PDF文件的所有页面添加了版权水印文字。为方便在Web客户端浏览PDF文档,开发了PDF Viewer组件,用户在浏览器中不需要使用Flash、Adobe PDF Reader等插件即可实现报告正文等地质资料文档的在线查看,提高了地质资料在线服务的易用性和通用性。

6 系统实现

地质资料在线服务系统包括资料查询与预约服务和资料业务数据管理两大功能模块,资料查询与预约服务实现了成果地质资料的检索、地质图件和正文报告即时浏览、资料预约借阅、续借等在线服务功能,资料业务数据管理实现了成果地质资料数据管理与系统配置、借阅用户管理和资料借阅归还等管理功能。

6.1 资料信息查询

在进行资料信息查询时,可以指定条件进行精确搜索,也可输入部分条件进行模糊搜索,搜索的结果系统会以列表和WebGIS地图两种方式进行显示(图3)。搜索结果列表展示位于窗口左侧,在WebGIS展示方式中,每个搜索结果会以图标的形式将资料的空间位置标注在地图上,点击搜索结果列表或者标注,会弹出汽泡小窗口显示该资料的简要信息和地质资料的工作区覆盖范围。

图3 地质资料查询与展示Fig.3 Inquiry and display of geological data

6.2 文件级资料在线浏览

地质资料在线服务系统用户界面采用最新的HTML5、jQuery等技术开发,用户使用主流浏览器,无需安装各类插件即可实时查询、浏览地质资料的各类正文报告文档(图4)和地质图件(图5)。

6.3 资料预约与借阅

地质资料在线服务系统借鉴了O2O(Online To Offline,线上/线下)的商业服务模式,将线下的资料借阅服务与互联网结合,让互联网成为线下服务的前台,将传统资料借阅的业务流程网络化。资料借阅用户可以不受时间和空间的限制,通过网络实现资料在线借阅流程。在方便资料借阅的同时,将资料管理人员的工作从接待资料借阅用户的服务当中解放出来,根据预约信息对待借资料提前做好复制和光盘刻录,提高工作效率(图6)。

7 结论

基于SOA架构的地质资料在线服务系统以业务为中心,通过把完成地质资料服务流程中所需的资源组织为一系列松散耦合的服务来实现,这些服务可以根据需求组合、重用,从而保护前期的信息化投资和资产积累,节省软件开发周期和维护成本。

图4 地质正文报告在线浏览Fig.4 Online browse of geological text report

地质资料信息化服务应当依据互联网技术来加强各级馆藏机构的联系,从纵向与横向两方面来开展地质资料社会化服务。基于SOA架构的地质资料在线服务系统的设计和实现,通过互联网实现湖北省国土资源资料馆与全国地质资料馆之间的数据交换与共享,为馆藏机构之间的地质资料数据融合提供有效的技术方案,更好地展现整体馆藏机构的作用,让整个地质资料社会化服务充分展现科技化、网络化的优势。地质资料在线服务系统对提高地质资料的利用率,实现从地质资料服务到地质数据服务的业务模式转变,对提升地质资料服务水平和增强地质资料数据共享性等方面都具有积极的意义。

图5 地质图件在线浏览Fig.5 Online browsing of geological maps

图6 地质资料借阅预约Fig.6 Borrowing and reservation of geological data

猜你喜欢
资料服务系统
Smartflower POP 一体式光伏系统
WJ-700无人机系统
Party Time
PAIRS & TWOS
JUST A THOUGHT
服务在身边 健康每一天
服务在身边 健康每一天
服务在身边 健康每一天
连通与提升系统的最后一块拼图 Audiolab 傲立 M-DAC mini
招行30年:从“满意服务”到“感动服务”