リソースをサービスとして公開するための準備
サービスを公開する前に、サービスが参照する GIS リソースを作成する必要があります。サービスとして公開できる GIS リソースの全リストについては、「公開できるサービスの種類」をご参照ください。ほとんどの GIS リソースは、ArcGIS Desktop を使って作成する必要があります。
GIS リソースを作成したら、それらをローカル ファイル システムに保存します。リソースをサービスとして公開するまで、クライアント アプリケーションからそれを参照することはできません。
多くの場合、サービスで使用するリソースの作成は、通常のリソースの作成と変わりありません。ArcMap などの適切なアプリケーションを使用して、リソースのデータを選択し、適切なプロパティを設定します。ただし、リソースがサービスとして公開されることがわかっている場合は、以下の追加のガイドラインに従います。
すべての SOC コンピュータからアクセスできる方法でデータを格納する
ArcGIS Server システムのそれぞれの SOC コンピュータが、GIS リソースとその GIS リソースに含まれているすべてのデータにアクセスできる必要があります。たとえば、マップ ドキュメントをサービスとして公開する場合は、マップ ドキュメントとそのレイヤのすべてのデータが、すべての SOC コンピュータに対してアクセス可能である必要があります。
たとえば、C:\data または /opt/local/data on Linux/Solaris というローカル パスにデータを保存して、そこからサービスを作成した場合、そのデータを C:\data または /opt/local/data on Linux/Solaris にコピーしない限り、他の SOC コンピュータがサービスを操作することは不可能です。データの完全なコピーを各 SOC コンピュータの同じパスに置くことはパフォーマンス上は効果的ですが、大規模なデータセットや頻繁に変化するデータセットでは現実的なソリューションではありません。ArcSDE を使用して共通のリポジトリでデータを参照できる場合は、大規模なファイルベースのデータセットが複製される問題を解決できます。
データをすべての SOC コンピュータから利用できるようにするもう 1 つの方法は、オペレーティング システムのツールを使用して、データが置かれているディレクトリを共有することです。共有ディレクトリは一般に UNC(Universal Naming Convention)パスまたは NFS でマウントしたフォルダ(Lunux/Solaris の場合)で参照されます。これには、サーバの名前(\\myServer\data または /net/myserver/opt/local/data など)が含まれます。UNC パスまたは NFS パスを使ってデータを参照すると、すべての SOC コンピュータが正しいコンピュータを参照するようになります。
GIS リソースを共有ディレクトリに格納する場合は、リソースに含まれるすべてのデータ ソース パスにも UNC パス、NFS パス、または相対パスを使用する必要があることに注意してください。たとえば、マップ ドキュメントに 3 つのフィーチャクラスからのレイヤが含まれている場合、それらのフィーチャクラスへのパスは UNC パス、NFS パス、または相対パスである必要があります。
SOC アカウントにデータへの権限を割り当てる
コンピュータにログインする際には、ログインに使用するアカウント名により、コンピュータ上の自分のファイルとフォルダのすべてにアクセスできるようになります。このファイルとフォルダには、他のユーザは許可を与えられない限りアクセスできません。同じことが GIS データにも当てはまります。GIS サーバ(より具体的には SOC コンピュータ)がユーザのデータにアクセスするためには、GIS サーバのポスト インストールで指定した SOC ユーザ アカウントに権限を割り当てる必要があります(Linux/Solaris では、SOC アカウントは GIS サーバのインストール所有者アカウントと同じです)。大規模な組織では、ほとんどの場合、GIS データはローカル コンピュータに保存されず、共有ネットワーク ドライブかジオデータベースに保存されます。この場合も、SOC アカウントにデータ アクセスを割り当てるときの原則は同じです。
ファイルベースのデータへのアクセスを設定する
データがシェープファイルやカバレッジといったファイルベースのデータである場合は、オペレーティング システムを操作して、データが含まれているフォルダへのアクセスを設定する必要があります。SOC アカウントには、少なくともデータの読み取りアクセスが必要であり、データが編集される場合は書き込みアクセスも必要です。次に、シナリオをいくつか示します。
- データが SOC コンピュータ(SOC コンピュータが複数ある場合はそのいずれか)と同じコンピュータに存在する場合は、SOC アカウント(Linux/Solaris の場合はインストール所有者アカウント)に、データが含まれているフォルダへの読み取りアクセス(および必要に応じて書き込みアクセス)の権限を割り当てます。
- データが SOC コンピュータに存在せず、かつポスト インストールでローカル アカウントを指定した場合は、まず、データをホストしているコンピュータ上に SOC アカウントと同じローカル アカウント(同じユーザ名とパスワード)を作成する必要があります。次に、そのローカル アカウントに、データが含まれているフォルダへの読み取りアクセス(および必要に応じて書き込みアクセス)の権限を割り当てます。データが含まれているコンピュータと SOC コンピュータのローカル アカウントが一致するという条件が満たされれば、SOC コンピュータはデータにアクセスすることができます。
- データが SOC コンピュータに存在しない場合は、次の操作を行います。
Linux または Solaris の場合
- データ ファイルにアクセスする権限を SOC アカウントに割り当てます。
- データ フォルダにアクセスする権限を SOC アカウントに割り当てます。このフォルダに至るまでのすべてのディレクトリに対して権限を割り当てる必要があります。上の例では、次のフォルダすべてに権限を割り当てる必要があります。
- /opt
- /opt/local/
- /opt/local/data
Windows の場合
ポスト インストールでローカル アカウントを指定した場合は、まず、データをホストしているコンピュータ上に SOC アカウントと同じローカル アカウント(同じユーザ名とパスワード)を作成する必要があります。次に、そのローカル アカウントに、データが含まれているフォルダへの読み取りアクセス(および必要に応じて書き込みアクセス)の権限を割り当てます。データが含まれているコンピュータと SOC コンピュータのローカル アカウントが一致するという条件が満たされれば、SOC コンピュータはデータにアクセスすることができます。
ドメイン アカウントを指定した場合、ドメイン アカウントはすでに存在しています。そのドメイン アカウントに、データが含まれているフォルダへの読み取りアクセスの権限を割り当てます。
オペレーティング システムのセキュリティ メカニズムと階層に注意する必要があります。たとえば、Windows XP の共有ディレクトリで作業を行っている場合は、SOC アカウントにフォルダを共有する権限を割り当ててから、そのフォルダへの NTFS(ファイル)権限を割り当てる必要があります。オペレーティング システムは、この 2 種類の権限(共有とファイル)のうち、制限の厳しいほうを優先するので、両方を割り当てなければリソースにアクセスできません。
ジオデータベースのデータへのアクセスを設定する
ジオデータベースのデータを参照するサービスを作成する際には、サーバにジオデータベースにアクセスするための適切な権限が設定されている必要があります。サーバに必要な権限の種類は、使用するジオデータベースの種類と(ArcSDE の場合は)接続に使用する認証方式によって異なります。
サービスがファイル ジオデータベースまたはパーソナル ジオデータベース内のデータにアクセスする場合は、オペレーティング システムを使用して、ジオデータベースが含まれているフォルダへの読み取りアクセスの権限を SOC アカウントに割り当てる必要があります。
パーソナル ジオデータベースは、Linux/Solaris 上の ArcGIS Server ではサポートされているデータ ソースではありません。
ArcSDE ジオデータベースに権限を割り当てる方法は、GIS リソースが ArcSDE に接続するためにデータベース認証を使用するかオペレーティング システム(OS)認証を使用するかによって異なります。どちらのタイプの認証が使用されているかを確認するにはどうすればよいでしょうか。ジオデータベースが SQL Server Express に格納されている場合は、オペレーティング システム認証が使用されます。ジオデータベースがエンタープライズ RDBMS(Oracle、SQL Server、DB2)に格納されている場合は、ArcCatalog の [接続プロパティ] を使用して、データベース認証とオペレーティング システム認証のどちらを使用するのかを確認できます。
Windows で ODBC 接続を使用する結合は、Linux/Solaris 上の ArcGIS Server ではサポートされていません
データベース認証の使用
データベース認証を使用する際には、ArcCatalog で 空間データベース接続プロパティをオンにして、ユーザ名とパスワードを保存するオプションが有効になっていることを確認する必要があります。その接続を使用するマップまたはグローブ ドキュメントを作成する場合は、名前とパスワードがマップまたはグローブ ドキュメントに保存されるため、サービスはデータを正しく取得することができます。
ツールボックス、ロケータ、ラスタ データセットなどをサービスとしてジオデータベースから直接公開する場合は、すべての SOC コンピュータがアクセスできる場所にデータベース接続ファイルをコピーします。
OS 認証の使用
OS 認証を通じて ArcSDE データにアクセスする場合は、SOC アカウントをジオデータベースに追加し、アクセスする必要があるリソースへの権限を割り当てる必要があります。サービスを実行すると、サービスは DBMS に SOC アカウントとしてログインします。SOC アカウントを追加して権限を割り当てる方法は、使用する ArcSDE ジオデータベースの種類に応じて異なります。
-
ArcSDE ジオデータベースを Enterprise レベルで使用する場合、SOC アカウントをデータベースの有効なユーザとして追加する方法は、使用する DBMS によって異なります。オペレーティング システム アカウントにアクセスを許可する方法については、DBMS のドキュメントをご参照ください。SOC アカウントを追加したら、公開するリソースへの SELECT 権限をそれに割り当てる必要があります。データを編集する場合は、通常、さらに権限を追加する必要があります。
すべての SOC コンピュータがアクセスできる場所にデータベース接続ファイルをコピーすることが重要です。
ArcSDE for SQL Server Express ジオデータベースを使用する場合は(Linux/Solaris 上の ArcGIS Server ではサポートされていません)、SOC アカウントに必要な権限を割り当てるために、ArcCatalog で次の手順を実行する必要があります。
- カタログ ツリーで [データベース サーバ] をダブルクリックします。
- ジオデータベースが含まれているデータベース サーバを右クリックし、[権限] を選択します。
- [ユーザの追加] をクリックし、SOC アカウントを追加します。[OK] をクリックします。
- 同じデータベース サーバをダブルクリックします。
- ジオデータベースを右クリックし、[管理] をクリックしてから、[権限] をクリックします。
- SOC アカウントをクリックしてハイライト表示し、適切なレベルの権限を選択します。データの表示には少なくとも読み取りの権限が必要であり、編集には書き込みの権限が必要です。SOC アカウントに必要な権限を決定するための情報が必要な場合は、ArcGIS Desktop ヘルプで「データベース サーバ権限の概要」をご参照ください。
Oracle への接続に関する注意
ArcSDE を使用して Oracle データベースに接続するマップ サービスがある場合は、Oracle クライアント ソフトウェアが各 SOC コンピュータにインストールされている必要があります。さらに、マップ サービスが Oracle 9 以降に直接接続する場合は、各 SOC コンピュータで SOC アカウントに <Oracle インストール先>\products\<バージョン>\client フォルダへの読み取りの権限を割り当てる必要があります。
作成するリソースに固有のベスト プラクティスに従う
ほとんどの種類のリソースには、サービスとして公開するためのリソースを準備するときに従うことが推奨されるベスト プラクティスがあります。たとえば、マップ キャッシュを作成する、縮尺範囲を指定したレンダリングを使用する、またはラベル配置の優先順位を単純化すると、マップ サービスの高速化に役立ちます。このヘルプ システムには、作成できるサービスの種類ごとにトピックが含まれています。その他のベスト プラクティスについては、これらのトピックをご参照ください。