《WebGIS开发实践手册》2.2 ArcIMS服务器组件[1]
ArcIMS服務器層組件是其架構最核心的部分,它包含了空間服務器、虛擬服務器和ArcIMS服務三種對象和概念。其中,空間服務器是ArcIMS產生地圖數據的最關鍵對象,而虛擬服務器則是管理前者的一個虛擬概念,它們的最終目標就是為了新建某種類型的ArcIMS服務。
2.2.1. 空間服務器Spatial Servers
ArcIMS的空間服務器是產生地圖圖像文件和與地圖相關信息的核心對象,當它收到一個ArcXML請求時,會調用一個或多個函數來進行相應的處理。每個這樣的函數都可以被看作是空間服務器的一種組件,這樣的組件種類很多,包括以下幾種:
? Image:根據ArcIMS Author產生的地圖配置文件AXL生成地圖影像文件;
? ArcMap Image:根據用ArcMap產生的地圖配置文件MXD生成地圖影像文件;
? Feature:產生地圖要素流;
? Query:根據搜索條件尋找匹配的要素;
? Geocode:執行地址匹配運算;
? Extract:將選擇的地圖要素轉換為Shapefile文件;
? Metadata:發布和搜索地圖元數據;
? Route:必須安裝可選的RouteServer擴展才能使用,用于計算兩點或多點之間的路徑,但其數據是美國的,不適合國內使用;
? SDCGeocode:基于RouteServer數據進行地址匹配操作;
那么,一個空間服務器對象是由哪些組件組成的呢?這種組成方式分為兩種,一是除了ArcMap Image組件之外的其它所有組件組成的空間服務器;另一種則是僅由ArcMap Image組件組成的空間服務器。其關系如圖 2?2所示:
圖 2?2 空間服務器的組件
ArcIMS空間服務器在本質上是一個運行于計算機上的程序進程aimsserver.exe。在Windows平臺中,我們可以在任務管理器的進程列表中找到它。ArcIMS默認安裝時,僅有一個非ArcMap Image式空間服務器進程存在,如果在Windows、Solaris和Linux平臺上安裝ArcIMS時選擇了ArcMap Server擴展插件,則會有另外兩個ArcMap Image式空間服務器進程存在,即計算機上將同時存在三個aimsserver.exe進程。Aimsserver.exe進程也可以通過增加server,提高地圖處理和顯示能力。
盡管如此,空間服務器進程并不能被開發人員直接訪問,我們對其的管理僅局限在添加和移除操作上,而對空間服務器的大部分交互工作都是通過虛擬服務器進行的。
2.2.2. 虛擬服務器Virtual Server
假設我們有2臺電腦(即ArcIMS中的Server),每臺機器上有5個空間服務器進程,由于不能與空間服務器進程直接進行交互,我們需要找到一種更好的方式對這10個進程進行管理,這可以使用ArcIMS提出的虛擬服務器概念。
比起空間服務器這類實際存在的對象(進程),虛擬服務器是一個純粹概念上的管理工具。由于虛擬服務器的類型劃分是根據空間服務器組件的功能作為依據,因此,每一個空間服務器都可以屬于一個或多個虛擬服務器。這其中唯一的例外是ArcMap Server上的空間服務器,它是在安裝ArcIMS時就指定的。在圖 2?3中,兩個ArcIMS空間服務器都由一個名為ImageServer1的虛擬服務器進行管理。
圖 2?3 一個虛擬服務器管理兩個空間服務器
ArcIMS中有多少種類型的虛擬服務器呢?空間服務器有9類組件,因此也就有9種不同的虛擬服務器。其中公共的有ImageServer1、ImageServerArcMap1、FeatureServer1、MetadataServer1四種;而私有的則是QueryServer1、GeocodeServer1、ExtractServer1、RouteServer1和SDCGeocodeServer1五種。圖 2?4展示了nbjbt這臺計算機上存在的7種虛擬服務器,缺失的兩種是因為沒有安裝必要的ArcIMS擴展插件。
圖 2?4 ArcIMS的虛擬服務器
虛擬服務器要么是公共的,要么是私有的。當我們使用管理工具時,只有公共虛擬服務器可以暴露給用戶。我們可以選擇產生或改變服務。但私有虛擬服務器的工作隱藏于幕后,它們只是在影像或要素服務需要時才被調用的。
如圖 2?5所示,該對話框用于新建一個虛擬服務器:
圖 2?5 新建一個虛擬服務器
在新建虛擬服務器的過程中,Server Type有四種選擇,除了ImageServer-ArcMap外,其它三種虛擬服務器的Instances屬性都是2,即默認有兩個實例,而ImageServer-ArcMap只有1,即單個實例。同時,我們還可以在不同的Server上部署虛擬服務器,這個過程只需點擊“New Server…”按鈕選擇一臺Server即可,這樣就可以根據荷載的情況在多臺服務器硬件上部署虛擬服務器了。增加虛擬服務器,可以間接提升ArcIMS部分功能的處理能力。
轉載于:https://www.cnblogs.com/chiangbt/archive/2009/09/22/1571555.html
總結
以上是生活随笔為你收集整理的《WebGIS开发实践手册》2.2 ArcIMS服务器组件[1]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 创新工场董事长兼首席执行官 李开复 发
- 下一篇: 正则表达式-我在学习过程中研究过的