webgis系統詳細設計與系統實現:
GIS服務器(基于.netRemoting)
在運行于不同進程中的對象之間建立通信(無論是在同一臺計算機上,還是在相距數千公里的計算機上)是常見的開發目標。通過.NET遠程處理,客戶端應用程序可以使用同一臺計算機(或其網絡中其他任何可用的計算機)上的其他進程中的對象。可以從Web應用程序、控制臺應用程序、Windows服務進行通信。因此我們將基于.netRemoting技術實現GIS服務器。
MapRender接口
我們首先設計如下的一個MapRender接口,在服務器端實現之,客戶端則通過Remoting遠程調用,使用Server端的服務。
MapService實現了MapRender接口,提供Map服務,返回生成的Map的文件名。其實現是通過bridge模式,調用_mapEngine來完成具體的操作。在構造函數(New)內,使用Factory模式初始化 _mapEngine,打開數據(如下代碼),在Dispose中關閉數據。
該框架可以算作WebGIS的一個簡單的縱剖面,由此我們可以明白WebGIS系統的架構,需要的技術,設計和設計模式的應用。