论文部分内容阅读
本论文在阐述WebGIS的基本原理,比较几种构建WebGIS系统模式的基础上,认为基于Java的各项技术建立WebGIS分布式应用体系是网络时代的理想开发方式。传统的基于ASP和组件技术的WebGIS,采用的是“胖服务器端,瘦客户端”模式,服务器负担重,系统运行效率慢,性能低,当多个用户同时发起请求时,服务器易发生死机现象;而应用Java技术能够很好的改善这一不足之处。研究的主要内容包括:目前WebGIS实现途径的工作原理及各自的优缺点;Java技术的特性利发展,基于Java的几种网络应用模式和几个重要的应用编程接口;提出一个利用Java相关技术进行服务器端读取、解析、实时传输数据和客户端地图显示、浏览、查询、分析等功能开发相结合的混合模式WebGIS构建方案,并通过理论阐述和编程实践对提出的方案进行可行性论证。
着重了解国内WebGIS系统技术的发展动态、所建体系的现有与潜在的可能用户对象的需求,在此基础上提出了基于Java技术的四层Client/Server体系结构,该体系结构分为客户端、Web服务器端、数据管理库端和元数据库端:Web服务器端采用Java Servlet和JSP技术,其主要功能是把用户所请求的地理空间数据传输到客户端;而客户端则采用JavaApplet技术为用户提供地图的基本操作(地图的移动、放大、缩小、漫游、地图对象点选、区域选择、分层及全景图等)、实现空间数据显示(处理区域显示的所有变化,包括地图的显示和刷新等)、查询、统计分析功能(查找空间对象的属性数据、查找满足条件的空间对象、属性数据统计等)等功能;数据管理库端使用SOLServer数据库存储GML文件的管理信息,利用JDBC技术实现数据库的读取;元数据库端存放GML文件。
本系统的实现主要归纳为三部分:
1.Web服务器端实现。
Web服务器采用JSP技术搭建站点,提供对数据的访问,实现前台所采用的应用服务模型,并且通过Servlet实现服务器后台扩展。Web服务器首先在JSP中使用JDBC技术访问数据管理库,得到所有GML文件的管理信息,显示在当前Web站点中;Servlet直接从元数据库端利用SAX方式读取、解析客户端所选GML文件并将其空间、属性信息存为网络实体对象,和客户端的Applet进行数据通信。
2.客户端实现。
客户端采用Java Applet技术,从服务器端得到实体对象并取得该实体对象中的地理空间、属性信息,实现数据的显示、浏览和查询、分析等功能。
3.服务器端与客户端的数据通信。
提出并设计了一种多客户端Applet与服务器端Servlet通信的实体实时传输系统模式,用于构建满足复杂查询和交互性要求的图形用户界面系统,并且保证数据以恒定的流量传输。服务器端与客户端的通讯实质就是嵌入在Web页面中的Applet程序与驻留在服务器中的Servlet程序之间的通讯。当用户在客户端进行交互操作时,客户端即向服务器端发起请求,通过Java URL类建立Applet与Servlet的连接,利用Java的多线程性质,使用Java对象流技术实现网络实体在服务器端和客户端的实时传输。
基于Java技术的WebGIS充分利用Java在网络应用程序开发方面的优势,客户端操作速度快,充分考虑了客户机、服务器的计算能力和网络通信量,合理分配服务器端和客户端的负载,充分地使用客户机和服务器的计算功能,有效地平衡了客户机与服务器的负载,极大地提高系统运行的效率,提高互操作性和系统性能。该系统仍具有以下不足之处:使用已有的GIS操作分析资源的能力弱,处理较大的GIS分析任务的能力有限,无法与CGI模式相比:GIS数据的保存、分析结果的存储和网络资源的使用能力受到限制。但从实现WebGIS功能和实用性来看,Java的跨平台性,Applet的自动下载,Servlet的多线程处理机制以及支持多层应用结构等特点,为设计和开发人员提供了更广阔的实现空间。