ArcIMS整個(gè)體系由多個(gè)組件(Component)聚合而成,包括Web服務(wù)器、ArcIMS應(yīng)用服務(wù)器、連接器、Web應(yīng)用開(kāi)發(fā)框架(ADF)和ArcIMS空間服務(wù)器等。這些組件的協(xié)作,使得它們能夠管理ArcIMS服務(wù)和處理來(lái)自客戶(hù)端的請(qǐng)求并返回響應(yīng)數(shù)據(jù);同時(shí),由于考慮到了負(fù)載平衡、冗余和滿(mǎn)足不同尺度的訪(fǎng)問(wèn)要求,它們也能部署在一臺(tái)或多臺(tái)硬件服務(wù)器上。
ArcIMS是標(biāo)準(zhǔn)的B/S三層架構(gòu),由客戶(hù)端、中間層和服務(wù)器層組成,其結(jié)構(gòu)如圖 2?1所示:
圖 2?1 ArcIMS的組成組件
ArcIMS架構(gòu)的第一層是客戶(hù)端和瀏覽器層,它們分為胖客戶(hù)端和瘦客戶(hù)端兩種,通過(guò)HTTP協(xié)議與Web服務(wù)器建立通訊聯(lián)系。胖客戶(hù)端包括ArcMap、Java版的ArcExplorer和ArcPad等移動(dòng)設(shè)備等,它們擁有較強(qiáng)的數(shù)據(jù)查看和編輯功能,但一般在開(kāi)發(fā)和安裝上都較為龐大和復(fù)雜;瘦客戶(hù)端是指基于Web瀏覽器開(kāi)發(fā)的地圖瀏覽器,這些客戶(hù)端可以通過(guò)JavaScript、ActiveX、Java Applet或JSF等技術(shù)進(jìn)行開(kāi)發(fā)。
架構(gòu)第二層是中間層,包括Web服務(wù)器、ArcIMS連接器(Connector)和Web ADF三種組件。Web服務(wù)器用于處理來(lái)自客戶(hù)端的HTTP請(qǐng)求,將請(qǐng)求轉(zhuǎn)發(fā)送到ArcIMS應(yīng)用服務(wù)器并負(fù)責(zé)將響應(yīng)返回到發(fā)出請(qǐng)求的客戶(hù)端;ArcIMS連接器和Web ADF提供了一個(gè)在Web服務(wù)器、第三方應(yīng)用服務(wù)器和ArcIMS應(yīng)用服務(wù)器之間的通訊管道;
架構(gòu)第三層是ArcIMS的服務(wù)器,這是整個(gè)架構(gòu)中最關(guān)鍵的部分,它包含ArcIMS應(yīng)用服務(wù)器和ArcIMS空間服務(wù)器兩部分。ArcIMS應(yīng)用服務(wù)器負(fù)責(zé)將來(lái)自Web服務(wù)器的請(qǐng)求分配到合適的ArcIMS空間服務(wù)器上;而ArcIMS空間服務(wù)器則處理請(qǐng)求,將地圖和地理數(shù)據(jù)綁定以適當(dāng)格式(ArcXML或二進(jìn)制流)返回給客戶(hù)端供后者解析。
因此,當(dāng)一個(gè)ArcIMS請(qǐng)求從客戶(hù)端發(fā)出的時(shí)候,首先會(huì)被Web服務(wù)器收到,然后通過(guò)Web ADF或某種連接器發(fā)送給ArcIMS應(yīng)用服務(wù)器,后者則將請(qǐng)求再發(fā)送給某個(gè)ArcIMS空間服務(wù)器進(jìn)行處理,而ArcIMS空間服務(wù)器生成響應(yīng)的信息,按照反方向原路傳回給客戶(hù)端。
對(duì)于需要發(fā)布地圖數(shù)據(jù)的用戶(hù)而言,需要做的是使用ArcIMS提供的地圖制作工具或其它工具設(shè)計(jì)一幅AXL或MXD格式的地圖文件;對(duì)GIS服務(wù)器管理人員而言,最關(guān)心的是如何如何保持服務(wù)器的荷載平衡、建立服務(wù)和地圖客戶(hù)端應(yīng)用程序的快速生成;對(duì)于本書(shū)的讀者,即想要學(xué)習(xí)ArcIMS客戶(hù)端自定義開(kāi)發(fā)的群體而言,最重要的莫過(guò)于了解ArcIMS的通訊交互方式和語(yǔ)言。
如對(duì)本文有疑問(wèn),請(qǐng)?zhí)峤坏浇涣髡搲瑥V大熱心網(wǎng)友會(huì)為你解答??! 點(diǎn)擊進(jìn)入論壇