ArcGIS Server システムのコンポーネント
ArcGIS 製品(ArcGIS Desktop、ArcGIS Engine、ArcGIS Server)はすべて、ArcObjects から構築されています。ArcGIS Desktop を使用するだけのユーザは、おそらく ArcObjects に気付くことも、それを意識することもありません。これらのユーザは、たとえば ArcMap を実行して、マップを編集するだけです。ArcGIS Desktop をカスタマイズしたい、カスタム アプリケーションを構築したいと考えるようになるまで、ArcObjects の知識が必要になることはありません。
デスクトップ アプリケーションを実行することと GIS サーバ ベースのアプリケーションを実行することの主な違いは、ArcObjects コンポーネントがどこに存在するかです。デスクトップ アプリケーションの場合、アプリケーションに必要なオブジェクトはローカル コンピュータ上でインスタンス化され、アプリケーションによって実行されます。たとえば、ArcMap を起動してマップ ドキュメントを開くと、ArcMap アプリケーションがマップの描画、レイヤの追加、レイアウトの編集などを可能にするオブジェクトをインスタンス化します。基本的には、マップ ドキュメントに格納されたすべてのオブジェクトが、ArcMap セッションで使用するために復元されます。マップを保存すると、セッションで使用されたオブジェクトの現在の状態がマップ ドキュメントに書き込まれ、後から使用できるようになります。
デスクトップ アプリケーションとは異なり、GIS サーバ ベースのアプリケーションのクライアントは、ArcObjects にリモートでアクセスします。GIS サーバについては、ArcMap セッションが個々のユーザのオブジェクトをホストするのとほぼ同じように、すべてのクライアント アプリケーションに必要なオブジェクトをホストするコンテナとして考えることができます。ただし、GIS サーバの場合、オブジェクトはクライアント間で共有されます。このため、サーバ上で実行されている GIS リソースをクライアントが使用する方法は少し異なります。GIS サーバにアクセスするアプリケーションを作成する際には、サーバ上で実行されているオブジェクトにアクセスするための所定のコーディング ガイドラインに従う必要があります。これらのガイドラインについては、開発者ヘルプをご参照ください。
ArcGIS Desktop に精通しているとしたら、デスクトップ環境で操作する GIS リソースにも精通していることになります。たとえば、GIS データを表示したい場合は、マップとグローブを使用します。それらのアドレスから場所を検索したい場合は、住所ロケータを使用します。何らかの解析を実行したい場合は、ツールボックスのジオプロセシング ツールを使用します。これらのアイテムはそれぞれ、あるレベルの GIS 機能をカプセル化しています。基本的に、GIS 機能はそれを実装する特定の ArcObjects コンポーネントを通じて提供されます。
GIS サーバ上では、たとえばマップ ドキュメントや、グローブ ドキュメント、ツールボックスを操作する代わりに、マップ サービス、グローブ サービス、ジオプロセシング サービスを操作します。サーバ上で提供されている GIS リソースは、「サービス」と総称されています。マップ ドキュメント、グローブ ドキュメント、ツールボックスは GIS サーバ上でホストするサービスのソースなので、実際には、引き続きそれらを使用することになります。このため、GIS サーバ上のマップを共有したい場合は、マップ ドキュメントを使用してサーバ上で実行するマップ サービスを定義します。
GIS サーバの主な目的は、サービスをホストし、それらを使用する必要のあるクライアント アプリケーションに割り当てることです。さらに、GIS サーバはサービスを管理するためのツールも提供します。たとえば、ArcGIS Server Manager アプリケーションを使用して、サービスを追加または削除することができます。
サーバ環境で実行されている ArcObjects を効果的に利用するアプリケーションを構築できるようにするために、GIS サーバ システムがどのように構成されているかを理解すると効果的です。このトピックでは、GIS サーバを構成するコンポーネントを紹介します。
次の図は、ArcGIS Server システム アーキテクチャを示しています。
ArcGIS Server システムは、次のコンポーネントで構成されています。
- GIS サーバ - マップ、グローブ、ジオプロセシングなどの GIS リソースをホストし、これらのリソースをサービスとしてクライアント アプリケーションに提供します。
GIS サーバ自体は、サーバ オブジェクト マネージャ(SOM)とサーバ オブジェクト コンテナ(SOC)の 2 つの部分で構成されています。名前が示すように、SOM はサーバ上で実行されているサービスを管理します。クライアント アプリケーションが特定のサービスの使用をリクエストしたときに、実際にクライアントにサービスを割り当てるのは SOM です。
SOM は 1 つ以上の SOC に接続します。SOC コンピュータは、SOM が管理するサービスをホストします。システムによっては、SOM と SOC を別々のコンピュータで実行する場合や、さらに複数の SOC コンピュータで実行する場合があります。上の図では、SOM コンピュータが 2 つの SOC コンピュータに接続しています。
- Webサーバ - Web サーバは、GIS サーバ上で実行されているリソースを使用する Web アプリケーションと Web サービスをホストします。
- クライアント - クライアントは、ArcGIS Server インターネット サービスまたは ArcGIS Server ローカル サービスに接続する、Web アプリケーション、モバイル アプリケーション、デスクトップ アプリケーションです。
- データ サーバ - データ サーバは、GIS サーバ上でサービスとして公開されている GIS リソースを保持します。これらのリソースには、マップ ドキュメント、住所ロケータ、グローブ ドキュメント、ジオデータベース、ツールボックスが含まれます。
- ArcGIS Server Manager および ArcCatalog を使用する管理者 - ArcGIS Server 管理者は、ArcGIS Server Manager または ArcCatalog のどちらかを使用して、GIS リソースをサービスとして公開します。
ArcGIS Server Manager は、GIS リソースのサービスとしての公開、GIS サーバの管理、サーバ上に Web アプリケーションの作成をサポートする Web アプリケーションです。
ArcCatalog には、サーバの一般的な用途あるいはサーバのプロパティやサービスの管理に使用する GIS サーバへの接続を追加するための [GIS Servers] ノードがあります。
- ArcGIS Desktop コンテンツ作成者 - サーバに公開するマップ、ジオプロセシング ツール、グローブなどの GIS リソースを作成するには、ArcMap、ArcCatalog、ArcGlobe などの ArcGIS Desktop アプリケーションを使用する必要があります。さらに、キャッシュされたマップ サービスを作成する場合は、キャッシュの作成に ArcCatalog を使用する必要もあります。