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 システムは、次のコンポーネントで構成されています。


7/10/2012