介绍两种基于JAVA的WebGIS服务器设计方案
1、基于java的WebGIS服务器设计方案一
JSF也是一种非常棒的技术,用它来做我们的WebGIS服务器也是非常理想的方案。其架构可以大致描述为这样的:JSF+GIS_Objects 在这里JSF充当了两个角色,一个是与GIS_Objects之间的交互,另外一个是浏览器端的展现。
一个JSF组件一般由四部分组成:Component、Renderer、Tag、listener
当浏览器向服务器端发出请求时,在服务器端的WebContainer会把JSP转换为一个servlet对象,在这个转换过程如果一组JSF标签, 会去找TLD文件,根据TLD文件以及JSF标签元素传进来的参数,会实例化一个tag对象,tag再根据faces-config.xml会生成Component对象和Renderer对象。
Component主要负责去调用GIS_Objects,让它生成一系列的图片Renderer绘制把Component生成出来的图片,拼接组合绘制起来。googlemap就是由一组图块拼接出来的地图。listener主要是监听浏览器端所发生的事件,以便Component根据客户的要求生成图片。
2、基于java的WebGIS服务器设计方案二
看着目前webgis日益流行,有时候我们也想自己搞一个,经过一段时间的摸索,大概搞清楚了怎么弄了 Ajax是今后webgis发展方向。我们的设计思路是这样的:我们采用ajax作为浏览器端交互技术,服务器端采用Servlet技术调用GIS Objects来生成客户端请求的图片。
大致上说是这样一个架构: Ajax+Servlet+GIS_Objects用户通过Ajax交互操作,把参数传递给服务器端的Servlet,Servlet再调用GIS_Objects生成客户想要的图片。不管该WebGIS 服务器有多么强大,最终发到浏览器端的都是一张图片而已。
Ajax技术使得浏览器端与服务器端交互的仅仅是数据而不是整个页面,这样可以大大降低网络流量。并且Ajax的XMLHttpRequest对象能很方便监测服务器端传回来的数据,对应传回来的数据通过XMLHttpRequest再配合Javascript代码有选择性地更换浏览器端的图片以及部分页面元素。
Servlet在我们这里是起到一个连接的作用,servlet接受到Ajax传过来的数据,并把这些数据做为GIS_Objects的参数,servlet先根据这些参数生成合适的GIS Objects,然后由这些GIS Objects生成合适的一组图片,然后把这组图片发给浏览器的XMLHttpRequest,XMLHttpRequest 把这组图片拼接起来。
GIS_Objects在这里说的是一组具有GIS功能的类,当然是支持Java的咯。其中Servlet怎么与GIS Objects、Ajax之间协调工作,里面很有文章可做的。比如群集服务(并行处理)、地理网格缓存等。
3、两种方案的评价
JSF+GIS_Objects在Requset/Response 过程中传递的是整个页面,而Ajax+Servlet+GIS_Objects在这个过程中传递的是数据。一个是以页面为中心,一个是以数据为中心。不言而喻,在网络流量上Ajax+Servlet+GIS_Objects占有绝对的优势。
在用户体验上Ajax+Servlet+GIS_Objects也具有极佳的用户体验。用Ajax技术能把B/S做成C/S那种效果。
JSF技术发展非常成熟,有很多现成的JSF组件可用。
JSF组件封装效果非常好,非常适合做产品,让二次开发商去开发他们自己的应用产品,而Ajax+Servlet+GIS_Objects相对来讲,组件的封装效果就没有那么好,二次开发商的日子就没有那么好过。二次开发商对webGIS服务器提供商的依赖也没有那么大,假如二次开发商买了GIS_Objects那么他们采用Ajax+servlet技术很容易开发自己的WebGIS服务器。
最新文章
- WebGIS技术剖析-主动/动态WebGIS及 [08-24]
- 图像服务和网络地图集成方案ER Map [11-25]
- Ajax机制与Ajax模型探讨及基于Ajax [11-09]
- Google Earth卫星地图URL的计算方法 [11-09]
- 基于Ajax+Servlet架构的WebGIS服务 [10-20]
- 介绍两种基于JAVA的WebGIS服务器设 [10-20]
- 深入研究:使用ArcXML扩展ArcIMS Ma [09-22]
- 如何使用ArcIMS构建Google Maps风格 [09-22]
- 经验之谈:ArcIMS中文显示乱码问题的 [09-22]
- 如何使用ArcIMS和JSP发布地图服务 [09-22]
推荐文章


热点文章
Ajax机制与Ajax模型探讨及基于Aj
基于Ajax+Servlet架构的WebGIS服
Google Earth卫星地图URL的计算方
如何使用ArcIMS构建Google Maps风
教程:基于MapServer的WebGIS开发
深入研究:使用ArcXML扩展ArcIMS
如何使用ArcIMS和JSP发布地图服务
网络GIS(WebGIS)的主要发展趋势及
介绍两种基于JAVA的WebGIS服务器
基础教程之:ArcIMS HTML Viewer的
资料:基于GeoMedia WebMap的WebG
arcims开发经验总结之arcIMS客户
Arcims开发经验总结之地图放大缩
示例如何用SVG技术实现基于网络的
辅导WebGIS客户端和服务器各自的
ArcIMS体系结构详细介绍
ArcIMS学习之 HTML Viewer定制笔
经验之谈:ArcIMS中文显示乱码问题
欲开发基于arcims的webgis需要掌
WebGIS技术剖析-主动/动态WebGIS
图像服务和网络地图集成方案ER M

