摘 要:市政管理信息具有分布式的特征,采用了基于j2ee架构的市政管理信息集成,它能提供一个多层次的分布式应用模型,能够很好的解决市政信息的集成问题,并且能实现信息的分布式管理,有利于保持市政管理各数据库的一致性、数据的动态更新和维护。
关键词:j2ee;市政管理系统;分布式管理
1 市政管理信息集成的分布式体系结构
市政各行业部门在地域上是分散的,市政管理信息绝大多数都与地理位置有着密切的关联,各种市政设施广泛分布在城市的各个位置,具有地域性强、隐蔽、复杂、动态、数据量大等特点,同时市政行业综合管理部门的数据及各行业部门所管理的专题数据在格式、详尽程度等方面均存在差异,这为保持市政管理各数据库的一致性、数据的动态更新和维护等方面带来了困难。对此采用了分布式数据库技术存储市政管理信息,由市政各个行业部门自主存储和管理该行业的专题信息,而将全局性的信息如基础地理信息、市政基础设施信息、元数据信息等统一存放在市政管理中心,同时为保持系统数据的一致性,还应保持各个数据库系统的同步更新。如图1是市政信息集成分布式体系结构图(省略了基于因特网的应用系统部分)。
按照图中的市政管理信息集成的分布式体系结构图,在各部门中存储行业专题信息,如在供水公司建立供水数据服务器,由供水公司管理,并通过供水web服务器连接至internet,其他部门均采取类似的结构。在数据同步更新方面,仅仅将市政下属各行业部门数据库发生的变化部分传送至市政管理中心的市政综合数据库服务器,这样在保证一致性的前提下又降低了网络的负担。
2 基于j2ee的分布式数据管理技术
当前的管理信息系统多采用“侧重服务器”或“侧重客户端”,这两种产品在客户端与服务器端的负载平衡问题上都具有一些缺点,不利于企业级应用。基于j2ee平台上的分布式数据管理系统,将频繁的数据库操作和复杂的gis分析由服务器端完成,与用户请求有关的控制任务交由客户端完成,这样可以较好的发挥客户端和服务器端的性能。
j2ee是sun公司提出的一种分布式企业级应用开发的技术架构,其核心是一组规范和指南,它提供多层次的分布式应用模型和一系列开发技术规范。多层次应用模型是根据功能把应用逻辑分成为多个层次,每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器中运行,j2ee各种应用程序和组件之间的通信是建立在标准协议的基础之上的,这些协议包括http、tcp/ip、ssl、rmi等,正是利用这些协议 让用户只要有浏览器就可以获得信息。j2ee有三个主要的组件模型:jsp、servlet和ejb,在系统中,这三个组件可以提供强大的动态连接机制。j2ee为支持java语言服务器部署提供平台无关的、可移植的、多用户、安全的标准企业级平台。
用户通过客户端与系统进行交互时,所有的客户端程序,包括地图的漫游、地图的编辑、属性的操作都是在浏览器中运行的 javaapplet,这些 applet 安装在 web 服务器的特定目录下,在使用时,用户在客户端访问特定的网页,客户端从web服务器上下载web层中的静态html页面、applet或由jsp、servlet生成的动态html页面。业务逻辑层的ejb从客户层接收请求和数据,并调用数据访问组件,检索数据库层中相关的数据,数据库服务器层执行sql操作,通过jdbc数据库连接池与业务逻辑层进行交互,jdbc为java应用程序提供一个统一的接口,以完成到数据库的连接。业务逻辑层将相关数据送到数据库服务器层存储,并将处理后的数据返回给客户端。与为了降低网络负载,将一部分计算交由 web 服务器来完成,servlet 接收来自客户端的 applet 的调用。web层通过调用业务逻辑层的ejb,生成动态的html传输给客户层。为了实现业务逻辑与实现逻辑的分离,对数据库的操作封装在 ejb 中,servlet 分发客户端的请求消息,实现对 ejb 的调度功能。
3 基于j2ee的市政管理信息集成
3.1 市政管理信息集成框架
市政管理信息包括地理信息、市政设施信息、市政行业专题信息等,市政管理信息系统建设的目标是在运用地理信息系统、分布式数据库等技术建立一个市政行业各部门可实现信息共享的动态平台。在了解市政管理工作特点的基础上,形成如图3所示的市政管理信息集成框架。
由图可见,该框架包括多个层次,即数据层、业务逻辑层、web服务器层和客户层。数据层主要存储城市基础地理信息、市政行业专题信息、市政设施信息以及政策法规、业务信息等,并负责数据的维护、安全和管理等;业务逻辑层由一系列的服务组成,完成与数据库的交互,一些业务逻辑等功能;web服务器层主要完成与客户层的信息交互,提供各种功能调用接口,响应来自客户层的请求,客户层是用户的操作平台,客户机上的 web 浏览器是用户与系统交互的界面。
3.2 基于j2ee的市政管理信息集成体系结构
如图4所示结构,将市政管理信息集成体系的各个应用逻辑按照不同的功能划分为三种系统组件:数据访问组件、功能组件、可视化组件。数据访问组件定义一组方法供其他组件访问存放在各个库中的数据源;可视化组件接收客户端的请求以及显示系统返回的结果;功能组件提供处理数据的各种功能,如gis组件。
按照j2ee的四层结构分别部署在数据库层、gis应用服务器、web服务器和客户端中。系统的每个层都完成特定的任务,且相互通过一定的通信协议进行交互。
系统各个层次的组成结构分别为:
(1)数据层:负责存储所有市政管理信息。采用分布式的数据库结构,建立两层的数据库服务器。由市政各个部门行业分别建设相应的专题子数据库系统,在市政管理中心建立市政综合数据库系统。按照opengis所制定的空间数据模型和空间操作规范,采用对象关系型数据库存储空间信息,其他信息采用关系型数据库存储,本层为业务逻辑层提供数据服务,如存储业务逻辑层处理的结果,返回业务逻辑层需求的数据,同时屏蔽数据源的变化,提供透明化的服务。
(2)业务逻辑层:gis应用服务器层,与底层的数据库服务器之间通过连接池进行交互。负责接收来自客户端和web服务器的请求并将处理结果返回。其基本功能由ejb实现。
(3)web层:web服务器层,实现与客户端以及业务逻辑层的双向交互,接收客户端传送的请求交给业务逻辑层进行处理,接收业务逻辑层的处理结果并传递给客户端。主要由jsp和servlet提供客户端组件,jsp和servlet接收客户端的请求并响应,将用户的输入发送到业务逻辑层的 ejb组件中进行处理。
(4)客户层:客户端应用,负责管理与用户的交互,实现gis的可视化显示,为用户提供可操作的图形界面,包括各种地图操作,如 放大、缩小、漫游、查询等。
3.3 基于j2ee的市政管理信息集成技术特点
基于j2ee平台提供的多层次分布式模型可以很好的满足市政管理信息的分布式集成需求,该体系结构具有以下技术特点:
(1)系统各层彼此独立又相互协作。各层分工明确,完成一项特定的任务,每个任务都由各个层分工协作完成。(2)系统的每层都由一些组件组成,每个组件都用于实现一个特定的任务,组件功能由ejb实现,由于java程序具有一次编写,多处使用的特性,可以根据需要将一个ejb组件多处使用。借助j2ee平台提供的一系列标准协议和java接口定义语言可以实现层之间的交互和组件的调用。
(3)基于j2ee的市政管理信息集成结构具有松耦合性,方便维护。系统各种应用程序和组件之间的通信是建立在j2ee标准协议的基础之上,各个组件的管理和实现独立,与其他组件无关,系统需求发生变化时只改变相应组件,无需变动全局。
参考文献
[1]李卫江,丁鹏飞,张超.城市区县级政务gis综合平台的构建及应用[j].测绘科学,2006,31(3):129-131.
[2]刘云生,李秋珍.基于oracle spatial的its空间数据库的实现及访问[j].计算机仿真,2005,22(5):262-272.
[3]曾文,张津德.基于gis的市政管理信息集成方案及关键技术[j].中国地质大学学报(地球科学),2006,31(5):688-691.
[4]邓雪华.基于j2ee平台的webgis的设计与实现[j].微机发展,2005,15(9):1-4.