1. ArcGIS Server
ArcGIS Server 是一個用戶創建企業級 GIS 應用的平台,通過 ArcGIS Server 創建集中管理的,支持多用戶的,提供豐富 GIS 功能,並且滿足工業標準的 GIS 應用。ArcGIS Server提供廣泛的基於 Web 的 GIS 服務以支持分布式環境下實現地理數據管理、制圖、地理處理、空間分析、編輯和其他 GIS 功能。
ArcGIS Server 是基於 ESRI 公司 ArcObjects(AO)組件構建的 GIS 伺服器平台軟體。AO 是基於 COM 技術構建的一套 COM 組件,它提供了 GIS 數據訪問,地圖表現和空間分析等方面的 GIS 功能。通過 ArcGIS Server 所提供的功能豐富的應用程序介面能便捷的訪問 GIS 服務與 GIS 功能組件,使用戶方便在標準的.Net 或 J2EE Web 伺服器中構建網路應用程序、網路服務及企業級應用等。此外也可以利用 ArcGIS Server 伺服器端 GIS 功能提高桌面 GIS 應用中的數據處理性能。
4.2.4.1 相關概念
(1)伺服器對象(Server Object)
在 ArcGIS Server 中的空間數據都是通過伺服器對象(Server Object,SO)來負責調用,由它負責管理和提供系統中的 GIS 資源服務。它代表了一類專題 GIS 數據(Arc-GIS9.2 中伺服器 對 象 包括 MapServerObject,GlobeServerObject,GeocodeServerObject 等)。伺服器對象是粗粒度對象的 ArcObjects 組件,通過伺服器對象可以調用安裝在 GIS 伺服器上的細粒度 ArcObjects 組件。它簡化了為完成某項任務而需要的一系列操作的編程模型,使得客戶端僅需要通過一個方法的調用即可完成內部細粒度 ArcObjects 的一組操作,如地圖的顯示。並且伺服器對象提供了 SOAP 介面來處理 SOAP 請求,伺服器對象可以作為Web Service 提供給用戶消費。通過 Web Service,可以用標準的方法把伺服器對象發布在上(ESRI,ArcGIS Server Conceptions and Terminology)。
此外伺服器對象是可以進行預配置的。通過伺服器對象管理器管理工具如 ArcGISCatalog 配置每個伺服器對象的名字,類型,地圖數據,是否池化等信息。
(2)伺服器對象管理器(SOM)
SOM(Server Object Manager)是運行在 GIS Server 上的 Windows/Unix 服務,是分布於一個或多個容器伺服器中的服務對象或伺服器對象組。當應用通過 LAN 或 WAN 連接到 GISServer 時,實際是建立一個與 SOM 的連接,連接參數是運行 SOM 的伺服器名稱或 IP 地址。
(3)伺服器對象容器(SOC)
SOC(Server Object Container)是一個運行一個或多個伺服器對象的進程。SOC 進程由 SOM 啟動或中止,SOC 進程運行於 GIS Sever 的容器伺服器之上,每一個容器伺服器可以宿主多個 SOC 進程。
(4)伺服器上下文(Server Context)
一個伺服器上下文是運行一組服務對象的伺服器上的保留空間。可以將伺服器上下文想像成一個進程,由運行伺服器對象的伺服器管理。伺服器上下文提供了一種在相同空間和 「進程」中創建對象的方法,並作為一個運行的伺服器對象,在同一個伺服器上下文中工作的對象合作更好。
4.2.4.2 ArcGIS Server 主要功能
(1)提供通用的框架在企業內部建立和分發 GIS 應用;
(2)提供操作簡單、易於配置的 Web 應用;
(3)提供廣泛的基於 Web 的空間數據獲取功能;
(4)提供通用的 GIS 數據管理框架;
(5)支持在線的空間數據編輯和專業分析;
(6)支持二維與三維地圖可視化;
(7)除標准瀏覽器外,還支持 ArcGIS Desktop 和 ArcGIS Explorer 等桌面客戶端;
(8)可以集成多種 GIS 服務;
(9)支持標準的 WMS,WFS,WCS;
(10)提供配置 .NET 和 Java 軟體開發工具包;
(11)為移動客戶提供應用開發框架。
4.2.4.3 ArcGIS Server 體系結構
ArcGIS Server 是一個分布於多台機器的組件構成的分布式系統。ArcGIS Server 系統中的每一個組件都在整個系統中擔任特定的角色,如進行管理、激活、掛起以及平衡分配資源到每個給定的服務對象或服務對象組等。ArcGIS Server 系統由以下幾部分組成部分組成,其結構如圖 4.7。
(1)GIS Server—宿主各種 GIS 資源,例如 maps,globes,address locators,並將它們封裝為服務提供給客戶端應用。GIS Server 本身包括兩部分: Server Object Manager(SOM)和 Server Object Containers(SOCs)。通過命名可以看出,是一個 SOM 和一個或多個 SOC,客戶端發送請求到 SOM,SOM 將分配的資源提供給客戶端,通過 SOM 對 SOC 進行調度與管理。
(2)Web Server—Web Server 包含 Web 應用的部署和 Web 服務,它們均使用 GISServer 上的服務資源。
(3)Clients—這里所說的客戶端是多樣化的,可以是 Web 客戶端、Mobile 移動設備、通過 HTTP 連接到 ArcGIS Server Internet 服務或通過 LAN/WAN 連接到 ArcGIS Server Local Services 的 ArcGIS 桌面應用。
(4)Data Server—包含 GIS Server 上所發布服務的 GIS 資源,可以是 mxd 文檔、geo-database,toolbox 等。
(5)Manager and ArcCatalog administrators—兩者都可以用來將 GIS 資源作為服務發布,並進行管理,不同的是一個是在 Web 頁面上管理,另一個在桌面 Catalog 上,在圖上可以看出,它們所針對的層次有所不一樣。
(6)ArcGIS Desktop content authors—各種 GIS 資源需要使用各種 ArcGIS Desktop 軟體來定製,如果需要為地圖服務生成緩存,可以用 ArcCatalog 來創建 cache。