GIS サーバの仕組み
ArcGIS Server は、複数のコンピュータに分散させることができるいくつかのコンポーネントで構成されています。ArcGIS Server システムの各コンポーネントは、一連のサービスに割り当てられたリソースの管理、アクティブ化、アクティブ化解除、および負荷分散のプロセスにおいて定められた役割を果たします。
ArcGIS Server のコンポーネントは次のようにまとめることができます。
- GIS サーバ: サービスをホストし、実行します。GIS サーバは、1 台の SOM(Server Object Manager)コンピュータと 1 台以上の SOC(Server Object Container)コンピュータで構成されます。
- Web サーバ: GIS サーバ上で実行されているオブジェクトを使用する Web アプリケーションと Web サービスをホストします。
- クライアント: Web ブラウザを使用して、Web サーバ上で実行されている Web アプリケーションに接続することができます。デスクトップ アプリケーションは、HTTP(HyperText Transfer Protocol)を通じて Web サーバ上で実行されている ArcGIS Server Web サービスに接続するか、LAN または WAN 経由で GIS サーバに直接接続することができます。
ArcGIS Server システムには、サーバ上で公開されたサービス、Web アプリケーション、および KML ネットワーク リンクに加えて、それらを管理および整理するための ArcGIS Server Manager アプリケーションも含まれています。これらのサービスとアプリケーションのグループに Web サーバと GIS サーバを関連付けたものを「ArcGIS Server インスタンス」と呼びます。
GIS サーバ
GIS サーバは、SOM と 1 つ以上の SOC で構成されます。SOM は、SOC に分散しているサービスを管理します。アプリケーションが LAN または WAN 経由で GIS サーバに直接接続すると、SOM への接続が確立されます。SOM は空きのサービス インスタンスを見つけて、トランザクションが続く間、クライアントに割り当てます。
SOC は、SOM によって管理されるサービスをホストします。すべてのサービスがすべての SOC で実行されるため、すべての SOC がサービスを実行するために必要なリソースとデータにアクセスできることが重要となります。SOC の容量値を設定して、一度にホストできるサービス インスタンスの数を制限することができます。
それぞれの SOC コンピュータでは、複数の SOC プロセスをホストできます。それぞれの SOC プロセスは、同じサービスのサービス インスタンスを複数、内部で動作させることができます。SOM は、ArcSOCMon プロセスを使用して、SOC プロセスの起動と停止を調整します。ArcSOCMon プロセスは、SOM が不意に切断されたり失敗したりした場合に、コンテナ プロセスの状態を維持します。SOC プロセスでホストされるオブジェクトは、SOC コンピュータに ArcGIS Server インストールの一部としてインストールされる ArcObjects コンポーネントです。
SOM、ArcSOCMon、および SOC はコンピュータ上で動作するプロセスです。1 台のコンピュータで、ArcGIS Server 構成の SOM と SOC の両方の役割を果たすことができます。ArcGIS Server 構成のコンピュータはすべて、ArcSOCMon プロセスを持ちます。必要であれば、Web サーバと Web ADF(Application Developer Framework)を SOM および SOC と共存させ、ArcGIS Server を 1 台のコンピュータに導入することもできます。このような構成は、小規模な導入に加え、開発やテストの目的に役立ちます。
サーバ ディレクトリ
サーバは、サーバが作業を行うのに必要なファイルを格納するために使用される数種類のディレクトリを管理します。
- 出力ディレクトリには、サーバに必要なテンポラリ ファイルが格納されます。これらのファイルは、ユーザにマップ イメージなどの出力として返されることがあります。ジオデータ サービスなど、一部のサービスでは出力ディレクトリが必要です。他の種類のサービスでは、出力ディレクトリは必須ではありません。
- キャッシュ ディレクトリには、マップ やグローブ サービスの表示を高速化するために使用できる、レンダリング済みのタイルのキャッシュが格納されます。キャッシュの詳細については、「マップ キャッシュとは」および「グローブ キャッシュの仕組み」をご参照ください。
- ジョブ ディレクトリには、ジオプロセシング サービスに必要なファイルが格納されます。ジオプロセシング サービスでは、多くの場合、テンポラリ ファイルを書き込み、実行中のジョブに関する情報を格納するための場所が必要です。これらはジョブ ディレクトリに格納されます。
- 入力ディレクトリには、マップ サービス定義(MSD)ファイルが格納されます。このファイルは、[マップ サービス公開] ツールバーを使用して ArcMap からサービスを公開するときに作成されます。
- インデックス ディレクトリには、サーチ サービスが作成するインデックス ファイルが格納されます。あとでこのインデックスを使用して、組織内の GIS リソースを素早く検索できます。インデックスの詳細と作成方法については、「サーチ サービス」をご参照ください。
GIS サーバによって開始されるプロセス
Windows サービスの ArcGIS Server Object Manager および ArcGIS SOC Monitor は、GIS サーバを表します。ArcGIS Server Object Manager サービスは次のプロセスを開始します。これらのプロセスは、すべての GIS サービスが停止されている場合であっても、稼動している GIS サーバ上で常に実行されます。
ArcSOM.exe: 1 つのインスタンス。
- Server Object Manager プロセス: さまざまなサービスへのリクエストを仲介する役割を果たします。
ArcSOC.exe: 1 つのインスタンス。
- Server Directory Manager: ArcGIS Server ディレクトリを削除します。
Server Directory Manager プロセスは任意の SOC コンピュータ上で作成することができ、サイズ以外は他の ArcSOC.exe プロセスと区別がつきません。ディレクトリ プロセスは、一般に GIS サービスを表す ArcSOC.exe よりも小さいサイズです。
ArcGIS SOC Monitor サービスは、ArcGIS Server システムの各コンピュータに存在します。このサービスは、各コンピュータで以下のプロセスの起動を担当し、正常な GIS サーバでは常に実行されています。
ArcSOCMon.exe: コンピュータごとに 1 つのインスタンス(スタンドアロンの SOM コンピュータを含みます。ただし、スタンドアロンの Web サービス コンピュータ上にはありません)
- SOC Monitor プロセスである ArcSOCMon.exe は、ArcGIS Server ログの読み書きを処理し、SOC コンピュータ上で動作している ArcSOC.exe プロセスの状態を監視します。これは、ネットワーク障害またはハードウェア障害によって SOC コンピュータから SOM が切断された場合に、ArcGIS Server システムを迅速に復旧するのに役立ちます。SOM の接続が再び確立されると、実行されている SOC インスタンスを再起動する必要はなく、かわりに再アタッチするだけですみます。
ArcSOMP.exe および ArcSOCP.exe という名前のプロセスもコンピュータで実行されていることがあります。見慣れた名前ですが、これらのプロセスは ArcGIS Server の一部ではありません。ArcGIS Desktop によって作成されて使用されているプロセスで、他の作業を行いながらジオプロセシング ツールをバックグラウンドで実行するために使用されます。
SOC コンピュータの状態の監視
SOM と ArcSOCMon は、制御している SOC を常に監視して、それらが正しく接続されているかどうかを判断します。ArcGIS Server SOC コンピュータと SOM 間の接続がネットワーク障害や SOC の停止によって中断または切断されると、SOM コンピュータはまず SOC コンピュータへの接続の回復を試みた後、SOC コンピュータを無効なものとしてマークします。無効なコンピュータは、それらが稼動していて、サーバに再び追加できるかどうかを確認するために定期的にポーリングされます。
このポーリングは、Server.dat ファイルで <MachinePing*> タグを編集することにより、多少制御することができます。Server.dat ファイルとこれらのタグの意味については、「サーバの構成ファイル」をご参照ください。
コンピュータが無効であると判断された場合、そのコンピュータがホストしていたサービス インスタンスはすべて、ArcGIS Server 内の他の SOC コンピュータに割り当てられます。無効な SOC コンピュータが再び有効であると判断された場合は、ArcGIS Server に再び追加され、サービス インスタンスが均等にコンピュータに分散されます。
ネットワーク障害またはハードウェア障害によって SOM 自体が無効になった場合、ArcSOCMon プロセスは、SOM の再接続または再起動ができるようになるまで ArcSOC.exe プロセスを維持します。
Web サーバ
Web サーバは、Web アプリケーションと Web サービスをホストします。Web アプリケーションの例としては、マッピング アプリケーション、非接続モードの編集アプリケーション、ArcObjects を使用する Web ブラウザ用のアプリケーションが挙げられます。
Web サービスでは、たとえば、デスクトップ GIS ユーザがインターネット経由で接続して利用できるマップ サービスとジオコード サービスを公開することができます。パラメータが ArcObjects タイプではなく、特定の GIS 機能を実行する、ネイティブの Web サービスを作成することも可能です。たとえば、FindNearestHospital という名前の Web サービスを作成することができます。このサービスは、入力として XY 座標を受け取り、住所、名前、病床数などのプロパティを持つアプリケーション定義の Hospital オブジェクトを返します。
Web アプリケーションは、組織内の GIS サーバに LAN 経由で接続します。ここで、Web アプリケーションまたは Web サービスは GIS サーバのクライアントとなります。ユーザは Web アプリケーションと Web サービスにインターネットまたはイントラネット経由で接続しますが、いずれの場合も Web アプリケーションのすべてのロジックは Web サーバ上で実行され、ブラウザ クライアントに HTML が送信されます。Web アプリケーション自体は、GIS サーバ内で実行されているオブジェクトと機能(ファンクショナリティ)を利用します。これにより、LAN または WAN 経由で GIS サーバに接続するデスクトップ アプリケーションと同様に、サーバの ArcObjects を利用する Web アプリケーションを導入することができます。
ユーザがブラウザを操作すると、Web アプリケーションにリクエストが送信され、そこから SOM にリクエストが送信されます。SOM は、GIS サーバ上で実行されているサーバ オブジェクトへのプロキシを返します。Web アプリケーションはこのプロキシを使用して、Web アプリケーションのプロセスに存在するかのようにオブジェクトを操作しますが、実行はすべて GIS サーバ上で発生します。
クライアント
ArcGIS Server システムのクライアントには、次のものがあります。
Web ブラウザ
Web ブラウザとインターネット接続を使用できるユーザは、適切に設計された Web アプリケーションを使用して、サービスの GIS タスクを実行することができます。Web ADF は、JavaScript、Flex、Silverlight 用の ArcGIS API とならんで、サービスを活用する Web アプリケーションの作成ツールです。これらの Web アプリケーションを使用するユーザのコンピュータに GIS ソフトウェアや ArcObjects がインストールされている必要はありません。
ArcGIS Explorer
ArcGIS Explorer は、フリーソフトで軽量のデスクトップ アプリケーションであり、データの表示とナビゲーションを実現します。高度なナビゲーション/表示環境を実現する ArcGIS Explorer のデータとして ArcGIS Server サービスを追加することができます。ArcGIS Explorer SDK を使用して、サービスを操作するカスタム タスクを開発し、さらに高度な機能を使用することができます。
ArcGIS Desktop
ArcGIS Desktop を使用して ArcGIS Server サービスに接続できます。サービスにアクセスできるアプリケーションには、ArcMap、ArcCatalog、ArcGlobe、ArcReader があります。
ArcCatalog を使用するか、ArcMap のカタログ ウィンドウを使用して、LAN または WAN 上の GIS サーバに接続することができます。また、GIS サーバまたは特定の Web サービスの URL を指定して、インターネット経由で GIS サーバに接続することもできます。
また、GIS サーバ管理者は、ArcCatalog を使ってサービスとそれらのプロパティを管理することもできます。管理者は LAN または WAN 経由で GIS サーバに接続し、ArcCatalog を使ってサービスを追加または削除できるだけでなく、サービスの構成を設定することもできます(サービスをインターネット接続経由で管理することはできません)。また、サーバで利用可能な SOC コンピュータと、サーバが出力の書き込みに使用できるディレクトリを指定することもできます。
ArcGIS Engine アプリケーション
ArcGIS Engine アプリケーションでは、GIS サーバをさまざまな方法で利用することができます。最も簡単な方法は、マップ ドキュメントまたはグローブ ドキュメントの中のデータとしてサービスを操作することです。ArcGIS Engine 開発者は、サーバ コンピュータでのみライセンスがあるエクステンションが必要な空間解析など、高度なタスクのデータを GIS サーバに送信するアプリケーションを設計することもできます。逆に、ArcGIS Engine アプリケーションの高度なユーザ インタフェースで編集または解析するためのデータをサーバにリクエストすることもできます。
ArcGIS Server インスタンス
ArcGIS Server インスタンスは、Web サーバ、関連する GIS サーバ、そしてサービスとアプリケーションをグループ化する方法の 1 つです。デフォルトでは、ArcGIS Server は「ArcGIS」という名前のインスタンスを 1 つインストールしますが、さらにインスタンスを追加することもできます。大規模な ArcGIS Server の導入では、組織内のさまざまな部門にわたるリソースの整理に複数のインスタンスが役立つ可能性があります。「インスタンス」という用語は、個々のサービス構成について言及するとき(たとえば「サーバがマップ サービスのインスタンスを 3 つ作成した」など)にもよく使用されることに注意してください。このような種類のインスタンスを ArcGIS Server インスタンスと混同しないようにしてください。
インスタンスは、仮想ルート ディレクトリのフォルダとしてディスク上に物理的に存在します。このフォルダは、インスタンスが動作しているサービスの Manager、SOAP と REST のエンドポイントを公開する仮想ディレクトリを含むことができます。インスタンスは、KML ネットワークのようなリソースも公開できます。デフォルト インストールの場合、インスタンスに何が含まれるかは、C:\Inetpub\wwwroot\ArcGIS で確認できます。
インスタンスは Services Manager、Applications Manager、またはその両方を含むことができます(Manager 内でのサービスの管理と Web アプリケーションの作成の両方ができるようになります)。また、インストールした Web サービス コンポーネントを公開するインスタンスを作成することだけが目的である場合は、インスタンスに Manager を含めないことも可能です。
新しいインスタンスを作成するには、<ArcGIS インストール ディレクトリ>\DotNet\AddInstance.exe にある [ArcGIS Instance Administrator] ツールを使用します。このツールには、新しいインスタンスの名前、ポート番号、使用する SOM コンピュータ、および ArcGIS Web Services アカウントの名前とパスワードを指定する必要があります。
新しいインスタンスが Manager コンポーネントを含む場合、Windows の [スタート] メニューに ArcGIS Server Manager への追加リンクが表示されます。また、ArcGIS Server インターネット接続を確立するための URL は http://<サーバ名>/<インスタンス名>/services なので、Web サービスへの接続には新しいインスタンスの名前を使用します。
ネットワーク環境
ArcGIS Server は、Windows ドメイン環境および Windows ワークグループ環境で動作します。
Windows ワークグループ環境で ArcGIS Server を使用する際には、次の手順に従って、GIS サーバへの認証を正しく実行する必要があります。
- すべてのユーザがローカル ユーザでなければなりません。GIS サーバ ポスト インストールで定義されるすべてのアカウント(SOC アカウント、SOM アカウント、ArcGIS Web Services アカウント)と、agsusers または agsadmin グループに追加されるユーザは、ローカル ユーザでなければなりません。
- これらのローカル ユーザ アカウントのユーザ名とパスワードは、すべてのコンピュータで同じでなければなりません(大文字と小文字は区別されます)。
- [ローカル セキュリティ設定] をデフォルトから次のように変更する必要があります。
- [コントロール パネル] → [管理ツール] → [ローカル セキュリティ ポリシー] を選択します。
- 左側のカタログ ツリー構造で、[セキュリティの設定] → [ローカル ポリシー] → [セキュリティ オプション] の順に展開します。
- [ネットワーク アクセス: ローカル アカウントの共有とセキュリティ モデル] をダブルクリックします。.
- [クラシック - ローカル ユーザがローカル ユーザとして認証する] を選択し、[OK] をクリックします。