ArcGIS Server 開發(fā)系列(一)--編程框架總覽
作者:Flyingis
本文嚴(yán)禁擅自轉(zhuǎn)載或用于商業(yè)目的,如有需要請事先聯(lián)系作者:dev.vip#gmail.com
ArcGIS Server是一個發(fā)布企業(yè)級GIS應(yīng)用程序的綜合平臺,如果想對ArcGIS Server基礎(chǔ)有更多的了解,可以先看看《ArcGIS Server 體系結(jié)構(gòu)》、ESRI(中國)BBS論壇和ESRI網(wǎng)站。這里及接下來的一系列文章將主要介紹ArcGIS Server開發(fā)相關(guān)的內(nèi)容(如不加說明,后文中Server專指ArcGIS Server),由淺入深,充分利用Server的資源來構(gòu)建我們的企業(yè)級應(yīng)用,同時也可以了解Server的優(yōu)勢及不足,在實(shí)際應(yīng)用中揚(yáng)長避短。
進(jìn)行Server開發(fā)之前,我們首先需要了解Server開發(fā)的整體架構(gòu)。下圖(截取自官方文檔)可以看到,Server提供了一系列的應(yīng)用開發(fā)途徑,從 1到4難度逐步增加,當(dāng)然功能和可定制性也越來越強(qiáng),我們可以充分利用Server提供的這些資源來構(gòu)建我們的應(yīng)用。
Web應(yīng)用開發(fā)
Server為Web應(yīng)用開發(fā)提供了一系列的開發(fā)方式,在visual studio 2005中可以直接使用Web Mapping Application template建立應(yīng)用,它包含了Web ADF框架,是學(xué)習(xí)Server開發(fā)的入口。對照上面的示意圖,可以這樣來理解,如果想使用各種Web控件加上少量代碼來構(gòu)建Web應(yīng)用,可以直接使用第一種途徑,這樣的應(yīng)用比較死板,讓人感覺有點(diǎn)想搭積木,程序員可能沒有任何成就感,好處是開發(fā)迅速,適合入門學(xué)習(xí)或做個簡單的Server演示。如果想在 Common API基礎(chǔ)上,使用各種通用的functionality,通過各種data source類型來定制Web ADF,可以使用第二種開發(fā)途徑。如果想使用Common API,并且需要通過Common API調(diào)用specific API來定制Web ADF,可以通過第三種途徑來開發(fā)。Web應(yīng)用不能使用第四種途徑。
Web Service開發(fā)
Web Service是什么不用再介紹,ArcGIS提供了兩種類型的Web Service創(chuàng)建方法:GIS Web Service和Application Web Service。
GIS Web Service提供了一種將ArcGIS Server Object(Local data source)發(fā)布為ArcGIS Server Web Service(Internet data source)的ESRI標(biāo)準(zhǔn),GIS Web Service不用于開發(fā),通常它們是用來發(fā)布信息和提供資源,ArcMap就可以直接使用GIS Web Service的資源而不用進(jìn)行任何開發(fā),另外Web ADF控件和Common API也可以使用GIS Web Service資源。因?yàn)镚IS Web Service基于標(biāo)準(zhǔn)web service,它可以作為傳統(tǒng)web service來使用,ArcGIS Server提供了SOAP API進(jìn)行相關(guān)的開發(fā),以后的學(xué)習(xí)中會使用到。
Application Web Service是基于標(biāo)準(zhǔn)web service建立的應(yīng)用,使用一種ESRI的data source進(jìn)行開發(fā)。因?yàn)閣eb service沒有用戶接口,上圖中途徑一不適合這樣的應(yīng)用,途徑四是最適合的,因?yàn)閣eb service可充分利用ESRI提供的各種data source specific API的所有functionality。
桌面客戶端應(yīng)用開發(fā)
ESRI在桌面客戶端應(yīng)用中提供了兩種實(shí)現(xiàn)GIS功能和服務(wù)的方法:ArcGIS Engine和data source specific developer APIs,上圖中只有第四種途徑可用于桌面客戶端應(yīng)用。
ArcEngine不論是和本地GIS資源交互,還是使用遠(yuǎn)程數(shù)據(jù)資源,都擁有豐富的控件和眾多API,但它在使用和分發(fā)之前必須進(jìn)行授權(quán)注冊,而任何data source specific developer APIs都可以在桌面客戶端應(yīng)用中編程使用。
移動應(yīng)用開發(fā)
移動應(yīng)用和Web應(yīng)用、web services比較類似,但它們是為某一個特定的客戶端環(huán)境而設(shè)計,如PocketPC。Mobile ADF是為移動應(yīng)用定制的開發(fā)框架,通常使用途徑四來進(jìn)行開發(fā),這樣可以充分利用ArcGIS Server Web services和SOAP API提供的功能。
posted on 2007-08-09 15:54 Flyingis 閱讀(6549) 評論(2) 編輯 收藏 所屬分類: ArcGIS Server