基于java的WebGIS服务器的设计
生活随笔
收集整理的這篇文章主要介紹了
基于java的WebGIS服务器的设计
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
| 1、基于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之間協調工作,里面很有文章可做的。比如群集服務(并行處理)、地理網格緩存等。 |
| 2、基于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根據客戶的要求生成圖片。 |
| 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服務器。 |
轉載于:https://www.cnblogs.com/supersyg/articles/538855.html
總結
以上是生活随笔為你收集整理的基于java的WebGIS服务器的设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】程序员健康建议
- 下一篇: 微软AJax.net源码初步分析(2)-