一种基于SOA的税收征管WebGIS的构建与集成研究
2012-11-08黄风华欧阳林艳福州大学阳光学院福建福州350015
黄风华,欧阳林艳 (福州大学阳光学院,福建 福州 350015)
一种基于SOA的税收征管WebGIS的构建与集成研究
黄风华,欧阳林艳 (福州大学阳光学院,福建 福州 350015)
在Web2.0环境下,提出一种基于SOA(面向服务架构)的税收征管WebGIS的构建与集成方案。通过GIS企业级中间件(EJB3.0)与基于OGC(开放地理信息联盟)规范的GIServices(GIS Web服务)的相互集成,增强现有分散管理的异构税收征管GIS平台在分布式环境下的运算能力和互操作性,促进了税收空间数据的共享和标准化,提高了税收征管空间分析的整体效率。
SOA;税收征管;异构GIS;空间互操作
随着海峡西岸经济区建设进程的不断推进,加快建设城市级空间地理基础数据库,建设基于统一的地理坐标和空间地理信息服务平台已被列为“数字福建”工程十二五规划的重要任务之一。税收征管GIS可以直观、形象和动态地反映区域税收和经济发展的空间分布、变化趋势及其两者间的内在联系,满足税收区域化管理需求,税收征管GIS的空间分析与专题分析的成果可以被管理者和决策者直接使用。近年来我国税收信息化取得了巨大进展,税收数据的积累日益丰富,区域性税务GIS建设初见成效,福建省内税收征管GIS系统建设也取得了明显进展,但其应用范围一般仅限于部门内部局域网或部分主机,且各系统所采用的GIS平台差异较大,空间数据缺乏统一标准,数据共享能力差,税务部门间各自为政,重复投资现象严重,缺乏统一规划,覆盖全省的税收WebGIS平台还未形成。针对上述问题,笔者尝试在SOA架构下采用GIS企业级中间件(EJB3.0)与GIServices来集成与构建税收征管WebGIS,增强现有分散管理的异构税收征管GIS平台在分布式环境下的运算能力和互操作性,促进税收空间数据的共享和标准化,提高税收征管空间分析与决策的整体效率。
1 系统研究关键技术
1.1SOA概述
SOA是一个基于特定标准的组织和设计方法,SOA在传统的业务层和技术层之间增加了一个服务层,通过连接能完成特定服务的独立功能实体来实现软件系统架构[1]。它是一种粗粒度、松耦合的软件架构,其服务之间通过简单、精确定义的接口进行通讯,不涉及底层编程接口和通讯模型[2]。SOA以标准化的业务服务的方式来提高研发效率,能较好地解决不同服务之间的对象封送、跨异构调用等问题,使得基于SOA的管理软件更易于与其他应用软件相集成[3]。SOA的实现方式可以是Web服务,也可以是标准化的中间件技术(如Corba、EJB等)。在基于J2EE的SOA架构中,EJB可以与WebService或Struts框架等集成,形成更加稳定和强大的SOA应用模型。EJB可以与税收GIS中相关API结合,生成企业级的税收征管专用中间件,并在SOA架构内进行发布,达到与Web服务类似的效果。Webservice和EJB都是应用程序远程调用方案的一种,但两者本质是不同的:Webservice是业界的一个规范,主要用于解决异构的问题,是基于不同平台或编程语言的异构系统间进行通信的标准,而EJB属于J2EE规范中的一部分,只能用于JAVA平台;EJB底层用RMI-IIOP协议进行通信,易被防火墙阻止。
1.2GIServices与GML
Web服务是SOA的重要实现手段之一,GIServices即地理信息服务,是Web服务在GIS中的应用。GIServices一般部署在服务供应商所提供的GIS网络公共平台上,服务提供者必须首先向UDDI注册该服务,并通过由服务描述语言(WSDL)定义的GIServices接口与外界实现交互。应用程序开发者可以通过WSDL查询可用的GIS服务接口信息,并通过相关接口调用GIS服务,把GIS功能集成进自已的Web应用程序而不需要构建本地的功能模块。GIServices各组成部分之间通常采用SOAP或REST协议进行有效通信。GIServices可以有效地促进空问数据共享,增强不同GIS平台之间以及GIS系统与其他系统之间的互操作能力,实现跨GIS技术、跨系统平台的空间数据和系统方法的共享和集成[4]。
地理标识语言(Geography Markup Language,GML)是由OGC于1999年提出的一种包括地理要素的空间与非空间特性信息的建模、传输和存储的XML规范[5]。GML是一个开放、非强制性的标准,它提供了一套基本的几何对象标识和公共的数据模型,并采用自建和共享应用Schema的机制。所有兼容GML的系统,可使用GML提供的几何地物标识来表示地物的几何特征,并通过限制、扩展等机制来创建自己的应用Schema[6]。
2 基于SOA的税收征管WebGIS框架设计
WebGIS采用当前较为成熟的J2EE 4层架构,即数据层、应用服务层、Web服务层和客户层,各层间的相互联系如图1所示。
图1 系统框架结构图
2.1数据层
为了充分利用现有的各种数据资源,数据层的数据来源主包括4部分,即现有的Oracle空间数据库、税收业务关系数据库、Mid/Mif或shapefile格式电子地图以及通过WMS、GML或WFS等方式引进的外部共享空间数据,各种数据相互结合,共同构成WebGIS的数据源。
2.2应用服务层
应用服务层主要包括3大部分:企业级GIS空间操作中间件(EJB3.0)、税收行业业务处理模块(javabeans)和空间数据转换服务中间件(EJB3.0)。
1)企业级GIS空间操作中间件 主要包括2部分,即GIS逻辑处理组件(会话beans)和空间数据访问组件(实体beans),前者主要功能是提供地图编辑(图元增删改查)、专题分析和空间分析功能和远程访问接口,后者则主要通过OCI接口访问Oracle 空间数据库并与相关的空间表绑定,以便于向前者提供数据支持。
2)税收业务处理模块 税收业务处理模块是一个javabeans,主要用于提供税收业务相关的专业统计与分析函数与接口。
3)空间数据转换服务中间件 空间数据转换服务中间件也是一个EJB中间件,主要负责GML格式与非GML格式空间数据的相互转换。EJB容器采用WebLogic9.0,应用服务层3大部分之间可以通过Home接口相互调用,并通过符合J2EE1.5标准的JNDI规范为客户层提供统一地址标识服务。应用服务层除了具有提供业务与逻辑接口的功能外,还具有负载平衡、数据缓冲等功能,以保证系统更加安全高效地运行。
2.3Web服务层
Web服务层的主要包括Web服务器与地图服务器,Web服务器主要负责与客户端交互,接收客户端的请求。当请求类型为非空间请求时,直接将请求发送给应用服务器处理,同时将应用服务器处理的结果反馈给用户;如果接收到的请求是空间请求,则须先将空间请求转发由地图服务器解析,然后再提交给应用服务器处理,并将处理结果反馈给客户端。地图服务器(包括GIServices服务器)采用ArcServer9.2,它既可以解析普通的空间数据,也可以识别GML格式的空间数据,并支持基于GML的GIServices,ArcServer9.2可以直接以GML2.0的格式发布地图数据。
2.4客户层
客户层主要用来与用户进行交互,通过浏览器显示GIF/JPEG、VML或SVG格式的栅格或矢量地图。当GML作为客户端和服务器端之间的数据传输格式时,如果用户请求GML数据,则服务器直接把GML数据传送给客户;如果用户需要显示地图,则服务器先将GML转换成SVG或VML矢量格式后再发往客户端显示。采用GML作为传输格式可以在一定程度上降低网络数据流量,并为与其它系统间的数据共享与互操作提供条件[6]。采用SVG作为客户端地图格式可以有效地支持几何图形对象的绘制、地图图形的显示、矢量图形的基本操作,不过SVG文件的显示需要在浏览器中安装相应的插件(如SVGViewer3.0等)。STAXGIS提供了2种不同类型的客户端,即供税务部门内部管理员使用的胖客户端和供普通用户使用的瘦客户端。采用普通或移动Web浏览器作为客户端,并通过SVG格式显示结果,此类型属于瘦客户端模式,使用方便、实用性强。胖客户端采用Applet插件的形式实现,客户端运行时Applet必须从服务器端下载到客户端,在客户端进行地图的操作与渲染,Applet主要处理非GML格式的空间数据。普通地图查询和编辑操作可由Applet直接在客户端完成,而对于税收征管高级专题分析功能,Applet可以由EJB远程接口从应用层调用空间数据处理服务来完成。管理客户端需要频繁进行空间元素的编辑操作,同时对数据的安全性要求较高。Applet虽具有数据下载较慢的缺点,但是其性能较稳定、技术成熟,适用于复杂的空间数据编辑与分析操作。
3 WebGIS的功能与实现
3.1WebGIS主要功能
WebGIS的主要功能有以下3部分:①普通功能,包括网上报税、纳税信息查询、欠税与信用查询、税源空间定位、税收地图浏览等。②高级功能,包括税源空间管理、征收信息导入与导出、税率与税种设置、税收专题分析与决策支持等。③维护功能,包括用户信息管理、空间数据库更新、系统间互操作接口设置以及系统维护等日常事务。WebGIS的用户主要有普通用户、税务管理员和系统管理员。普通用户主要适用于个体纳税人和企业纳税人,其通过瘦客户端模式获得服务,具有使用普通功能的权限;税务管理员用户主用适用于税收征管员以及相关分管领导,其通过胖客户端模式获得服务,具有使用普通功能和高级功能的权限;系统管理员只适用于内部少数技术维护人员,其具有使用维护功能的权限。
3.2WebGIS的实现
1)WebGIS中GIServices的实现 GIServices服务器采用ArcServer9.2,为了减少防火墙对ArcServer所提供的远程服务的拦截,并向广大外网用户提供统一的查询定位、专题分析、数据转换等相关服务,GIServices服务器必须在公共UDDI进行注册,公共UDDI将采用WSDL对外发布GIServices接口参数与规范信息。客户端的web浏览器和移动Wap浏览器通过UDDI查找以WSDL描述的的各种相关服务,并根据相关服务接口规范和SOAP协议来发送请求。Web服务器接收来自客户端的SOAP请求,并把这些请求转发给GIServices服务器来解析,GIServices服务器根据SOAP请求调用相关GIS功能模块执行相应的操作,并生成和返回相应的SOAP应答,Web服务器接收SOAP应答并将其返回至客户端。空间数据源是由数据层直接调用或经过应用层转换过的空间数据,它是以GML格式传输与存储的,可以由应用层或数据层的数据库进行管理。
2)EJB中间件的实现 GIS应用服务器的是一个典型的EJB中间件,采用WebLogic9.0作为容器,其主要包括GIS逻辑处理组件(会话beans)和空间数据访问组件(实体beans)2个部分。以下仅以图元查询定位为例说明GIS应用服务器中间件的实现。GIS应用服务器采用Remote接口对外提供服务,Remote接口的定义的主要代码如下:
public interface SearchMap extends javax.ejb.EJBObject{
public FeatureSet SearchMap (FeatureLayer lyr, double zoomvalue, int x0, int y0, Columns cls, String fieldname, Attribute attr,int searchtype) throws RemoteException;
……//其他方法
}
GIS应用服务器中间件可以通过Home接口调用会话SearchMapBean类和TaxinfoBean类(实体bean)来实现相关功能,Home接口定义的主要代码如下:
public interface SearchMapHome extends javax.ejb.EJBHome{
public SearchMap create() throws CreateException, RemoteException;
}
TaxinfoBean是一个基于持久化类的实体bean,其主要作用是与空间数据库的相关信息进行绑定,为其他类提供数据支持。
图元查询定位功能可以通过专门的SearchMapBean类(会话bean)的来具体实现,在实现过程中,可以在SearchMapBean类中调用实体bean。
4 结 语
针对当前异构税收征管GIS在空间数据共享与互操作中存在的难题,提出了一种基于SOA的税收征管GIS构建与集成方案。在Web2.0环境下,采用J2EE架构实现和部署WebGIS,通过GIS企业级中间件、GIServices相互集成以及不种格式空间数据的相互转换,增强现有分散管理的异构税收征管GIS平台在分布式环境下的运算能力和互操作性,促进税收空间数据的共享和标准化,提高税收征管空间分析的整体效率。采用该方案对现有各异构GIS进行改造与统合,可使其具备兼容性好、跨平台、成本低、可适用于不同用户群体、业务处理和空间分析决策能力强等优点,可以较好地满足日益繁重的税收征管工作的需要,具有良好的应用前景。
[1]叶钰,应时,李伟斋,等.面向服务体系结构及其系统构建研究[J].计算机应用研究,2005,22(2):32-34.
[2]Kwon O B.Meta web service:building web-based open decision support system based on webservices[J].Expert Systems with Applications,2003,24(4):375-389.
[3]严海颖,朱征宇.XML在WebGIS系统中的应用[J].计算机应用,2003,23(3):136-138.
[4]常小慧,李宏伟,黄海文,等. 基于GML/SVG的WebGIS体系结构设计与实现[J].地球信息科学, 2006,18(4):35-41.
[5]游旭初,杨国强.基于GML的异构WebGIS空间信息共享研究[J].计算机与现代化,2007(9):37-39.
[6]杨昆,许泉立.SvG在WebGIS中的应用研究[J].测绘与空间地理信息,2005,28(3):1-3.
[编辑] 李启栋
10.3969/j.issn.1673-1409.2012.01.034
TP319
A
1673-1409(2012)01-N106-04