WebGIS項目的開發主要是B/S架構。最流行的是客戶端javascript,服務器端java。 另外還有flex客戶端。
客戶端主要完成用戶交互、向服務器端發送請求並傳參以及組織顯示服務器端返回的結果等。 服務器端則完成數據庫增刪查改、業務功能等。
服務器端最底層是數據層,完成對數據的增刪查改。常用的數據庫有oracle、mysql等。最基本的方法是, java語言使用jdbc,組織相應的sql語句實現數據庫操作。 更便捷的方法是使用第三方框架,如hibernate。 hibernate實現了數據庫表與java類對象的映射orm,利用hql語句方便的進行數據庫操作。
數據層上面是邏輯事務層。邏輯事務層對應着各個功能模塊,功能模塊實現特定的功能,功能模塊的底層一般包含對數據庫DAO類的調用。這一層中包含接受客戶端請求的特殊類,如servlet類、action類等。 可用的框架有spring、structs2等。
客戶端是由界面和腳本(響應函數)構成的。 html+javascript的組合: 界面是由div等標籤+css樣式組合渲染而成;腳本則完成界面初始化、單擊、跳轉等事件的響應。
客戶端最重要的一個工作就是向服務器端發送請求並獲取響應結果。 這裏不得不提到AJAX。 不同的js框架都提供了自己的AJAX實現。 dojo提供了xhrPost、xhrGet等實現提交請求、傳遞參數、獲取響應結果並進行相應的處理。
客戶端也可以通過調用webservice的方式來獲取需要的結果。