發(fā)表于 2004年10月30日 1:27 PM?,當(dāng)然現(xiàn)在感受不一樣了,但還是保持原味吧.

搬家自http://blog.csdn.net/zkjbeyond/?比較老的內(nèi)容了

幸在arcims mapxtreme兩大平臺(tái)上做過開發(fā),談?wù)剛€(gè)人感受

?? 拋開arcgis9 的 arcgis Server.先說arcIms開發(fā)。(以Image Services為例,ArcMap Image Services我估計(jì)在arcgis9中,著重在arcGIS Server體現(xiàn))

??? arcIms的核心是AcrXML,也可以說是圍繞著ArcXML進(jìn)行的開發(fā),如果熟悉了ArcXML,估計(jì)關(guān)于arcIms的開發(fā)就掌握了60%. 象htmlview,javaconnect,Activex等各種連接,只是對(duì)ArcXML的一個(gè)封裝。

? ArcIMS服務(wù)器,其實(shí)相當(dāng)于一個(gè)webservice.我們輸入一定格式的參數(shù),他處理后就返回相應(yīng)的結(jié)果。而這個(gè)格式就是ArcXML。(其實(shí) ArcXML還是ims的配置文件,由author生成。)ARCXML包括內(nèi)容豐富,還在不斷增強(qiáng)。 我們常用的請(qǐng)求為Using GET_IMAGE and IMAGE with Image Services,Using GET_FEATURES and FEATURES 分別得到圖象和屬性值。
?
???? 對(duì)于我們二次開發(fā)來(lái)說,我們只是不斷的組合請(qǐng)求的ArcXML,得到我們想要的結(jié)果。然后顯示這些結(jié)果。 我把這個(gè)開發(fā)過程分為 GIS業(yè)務(wù)應(yīng)用 和 WEB編程。 比如:北京工交網(wǎng): 其實(shí)就是組合了幾個(gè)ARCXML ,然后顯示出來(lái)。IT公司W(wǎng)EB編程肯定沒問題,所以現(xiàn)在GIS行業(yè)焦點(diǎn)在如何最大的挖掘需求,挖掘行業(yè)應(yīng)用。如何把行業(yè)需求用GIS軟件提供的功能表達(dá) 出來(lái)。(難啊!)作了兩年GIS,做的基本都是放大,縮小。業(yè)務(wù)上,在中國(guó)政府機(jī)構(gòu),公司很難提出什么應(yīng)用來(lái)。(急需一些標(biāo)準(zhǔn))。估計(jì)以后是個(gè)方向。(我 要有錢,專門做GIS應(yīng)用行業(yè)標(biāo)準(zhǔn)
?
?? 我較喜歡htmlview, 用他可以作出很漂亮的界面(有段時(shí)間我認(rèn)為做GIS和做美工性質(zhì)一樣)。很多工作在客戶端。但安全性低,都用javascript實(shí)現(xiàn)。至于 javaConnect等,更符合OOP,但是1、因?yàn)閣ebGIS系統(tǒng)有很多狀態(tài),比如地圖的比例,活動(dòng)層的選擇等要保持,要保持這些狀態(tài),必須把這些 放到緩沖中,那對(duì)于大用戶量來(lái)說,性能是個(gè)大問題。2、javaconnect和mapxtreme很類似, 改變地圖要刷新MAP對(duì)象,把MAP對(duì)象放到SESSION中。(急劇影響性能,訪問量大了) 所以狀態(tài)要保持,對(duì)web服務(wù)器也是個(gè)挑戰(zhàn)。對(duì)很酷的地圖操作也是個(gè)挑戰(zhàn)。3、個(gè)人覺得javaconnector類庫(kù)的設(shè)計(jì)好象不是面向開發(fā)人員的,完 全以地理分類的概念分組,打包。(package??Map對(duì)象應(yīng)該分成幾個(gè)對(duì)象,弄的太復(fù)雜了,對(duì)不同的請(qǐng)求,有些屬性是空的。)
現(xiàn)在我正在研究用javaconnector開發(fā)高性能ims webGIS)

在ArcGIS9 中,ESRI公司有了新的webGIS編程模型,地理分析可以在web上實(shí)現(xiàn)(當(dāng)然IMS還有),主要針對(duì)J2ee 和 .Net平臺(tái)。 新內(nèi)容有 1、由arcgis?? Server管理AO對(duì)象 2、可以遠(yuǎn)程調(diào)用這些AO對(duì)象3、有個(gè)ArcObject Develop FrameWork(ADF) 和 運(yùn)行時(shí),支持J2ee,.net平臺(tái),可以開發(fā)webgis.4、webservice,EJB支持
看了一下 文檔,焦點(diǎn)在對(duì)象的遠(yuǎn)程調(diào)用 和 對(duì)象狀態(tài)的保持 兩方面。 第一點(diǎn),性能問題,沒用過,但估計(jì)懸, 但AO對(duì)象強(qiáng)大的功能通過遠(yuǎn)程對(duì)象訪問搬到web上來(lái)了,值得期待。 第二點(diǎn):對(duì)象狀態(tài)保持, 和mapxtreme一樣,有對(duì)象池了概念。和EJB的有狀態(tài)bean 無(wú)狀態(tài)Bean類似。和有狀態(tài)Bean一樣,對(duì)象狀態(tài)保持問題好象解決的不好。但gis大多為有狀態(tài)對(duì)象。麻煩啊。狀態(tài)保持方案 好象有? shallowly stateful application 和 deeply stateful Web application。需要很大的編程技巧。 個(gè)人感覺,.net在這開發(fā)還好。J2ee的JSF不知道什么時(shí)候能成熟啊。