チュートリアル: WPS サービスの公開
このトピックの内容
OGC (Open Geospatial Consortium) の WPS (Web Processing Service) 仕様は、Web 上で地理空間処理を提供および実行するための国際仕様です。WPS ケーパビリティを有効にしてジオプロセシング サービスを公開すると、データは WPS をサポートする任意のクライアントからアクセスできるようになります。WPS を扱うのが初めてで、このチュートリアルに取り組む前に WPS について詳しく知りたい場合は、「WPS サービス」をご参照ください。
このチュートリアルでは、WPS クライアントからアクセス可能なジオプロセシング サービスを、ArcGIS Server に公開する手順について説明します。これを行うには、ArcGIS for Desktop でツールを準備し、ツールを実行して正常な実行結果を取得した後、WPS ケーパビリティを有効にしてジオプロセシング結果を公開する必要があります。
チュートリアルを始める前に
現在 ArcGIS Server をインストールしただけの状態であれば、ArcMap でサーバーに接続してサービスを公開する前に、いくつかの準備作業が必要です。
- ArcGIS Server サイトを構成する方法については、このヘルプ システムの「インストール後の作業」セクションをご参照ください。
- GIS リソースで参照されているデータをサーバーで利用できるようにする方法については、「データを ArcGIS Server でアクセス可能にする」をご参照ください。
ArcGIS for Desktop でのジオプロセシング ツールの準備
ジオプロセシング サービスには 1 つ以上のタスクが含まれます。実際には、タスクはジオプロセシング ツールと同じで、パラメーターを受け取って結果を返します。タスクは、サーバーで処理されて結果を返すルーチンを表すための ArcGIS Server で使用される用語です。たとえば、土地利用と標高のデータに基づいて、集水域を定義するジオプロセシング ツールを作成したとします。このツールを WPS ケーパビリティを有効にして公開することで、WPS に準拠した Web 上のアプリケーションでタスクとして利用することができます。
ジオプロセシング ツールを作成する際の注意事項については、「ModelBuilder によるジオプロセシング タスクのオーサリング」をご参照ください。ジオプロセシング ツールの準備ができたら、次のセクションに進みます。
ツールの実行
公開の前にツールを実行し、ジオプロセシングの正常な実行結果を [結果] ウィンドウに取得する必要があります。これを行うには、次の手順に従います。
- カタログ ツリーで、ジオプロセシング ツールをダブルクリックします。
- 適切な変数を入力して、[OK] をクリックします。
ツールの実行が成功したら、[結果] ウィンドウが表示されます。
結果の公開
[結果] ウィンドウに正常なジオプロセシング結果が表示されたら、ジオプロセシング ツールをジオプロセシング サービスとして公開できます。この処理の間に、WPS ケーパビリティを有効にして、ジオプロセシング サービス (および、それに伴うタスク) を OGC WPS に準拠させます。
- ジオプロセシングの結果を右クリックし、[共有] > [ジオプロセシング サービス] の順に選択します。
- [サービスとして共有] ウィンドウで、[サービスを公開] を選択します。[次へ] をクリックします。
- [サービスを公開] ダイアログ ボックスで、[ArcGIS Server に接続] をクリックして、サーバーへの新しい接続を作成します。
- [ArcGIS Server サーバーの追加] ウィンドウで、[GIS サービスを公開する] を選択します。[次へ] をクリックします。
- [サーバーの URL] に、接続する ArcGIS Server サイトの URL を入力します。URL の例は http://gisserver.domain.com:6080/arcgis です。
- [サーバー タイプ] ドロップダウン リストから、[ArcGIS Server] を選択します。
- 公開プロセス中に、サービス定義ファイルが作成され、ローカルのディスクに一時的に保存されます。公開プロセスが完了すると、サービス定義がサーバーにアップロードされ、ローカル ファイルは削除されます。このチュートリアルでは、デフォルトのステージング フォルダーを使用して操作を続けます。
- サーバー管理者がサイトのセキュリティを有効にしている場合は、[ユーザー名] と [パスワード] に値を入力します。[完了] をクリックします。
- 必要に応じて、[サービスを公開] ウィンドウでサービスの新しい名前を入力します。120 文字を超える名前や、英数字とアンダースコア (_) 以外の文字が含まれた名前を使用することはできません。[次へ] をクリックします。
- デフォルトでは、ArcGIS Server のルート フォルダー (root) にサービスが公開されます。サービスはルート フォルダー以下のサブディレクトリに整理することができます。サービスを公開するフォルダーを選択するか、サービスを格納する新しいフォルダーを作成します。[続行] をクリックします。
- サービス エディターが表示されます。[サービス エディター] を使用して、ジオプロセシング サービスでユーザーが実行できる操作を選択し、サーバーがジオプロセシング サービスを公開する方法を調整します。[ケーパビリティ] タブをクリックします。
- デフォルトでは、ジオプロセシングが有効になっています。[WPS] を選択します。
- [サービス エディター] の左側のウィンドウで、[WPS] をクリックします。このパネルを使用して、WPS サービスのプロパティを構成する方法を選択します。WPS サービスのプロパティを設定することで、クライアントがサービス公開者の意図を理解しやすくなります。
- [URL] フィールドには、クライアントが WPS サービスへのアクセスに使用する URL が表示されます。URL の形式は、http://gisserver.domain.com:6080/arcgis/services/folder/service/GPServer/WPSServer です。
注意:
WPS サービスの URL をコピーして保存します。この URL は、このチュートリアルの別の手順で必要になります。
- システムが生成したケーパビリティ ファイルを使用して WPS サービスを構成する場合は、デフォルトの [以下にサービス プロパティを入力] オプションを使用します。[Name]、[Tile]、および [OnlineResource] フィールドは自動的に設定され、変更する必要はありません。必要に応じて、リストにあるフィールドを使用してその他のプロパティを設定します。詳細については、「利用可能な WPS サービス プロパティ」をご参照ください。
- WPS サービスを構成して外部のケーパビリティ ファイルを使用する場合は、[外部のケーパビリティ ファイルを使用] を選択します。このオプションを使用する場合は、WPS ケーパビリティ ファイルをあらかじめ作成しておく必要があります。
- [名前空間] と [接頭辞] は、WPS プロセスを区別するための一意のプロパティです。これらは自動的に設定され、変更する必要はありません。
ヒント:
[サービス エディター] を使用してジオプロセシング サービスのプロパティを設定する方法については、「ジオプロセシング サービスの設定」をご参照ください。サービスの最適な実装方法については、「サービスのチューニングと構成」をご参照ください。
- [URL] フィールドには、クライアントが WPS サービスへのアクセスに使用する URL が表示されます。URL の形式は、http://gisserver.domain.com:6080/arcgis/services/folder/service/GPServer/WPSServer です。
- [統計情報の更新] をクリックします。結果を WPS サービスとしてサーバーに公開できるかどうかが検証されます。
ヒント:
WPS サービスを構成するときに表示領域を広くするには、[サービス エディター] の上部にある [折りたたみ] ボタンをクリックします。
- [準備] ウィンドウでエラー を修正します。エラーの修正は、結果を WPS サービスとして公開する前に行う必要があります。さらに必要であれば、警告メッセージと情報メッセージに従って問題を修正し、サービスのパフォーマンスと外観を改善します。これらの問題の解決の詳細については、「GIS リソースの分析」をご参照ください。
注意:
サーバーが確実にデータを認識して使用できるように、フォルダーとジオデータベースを ArcGIS Server サイトに登録することができます。以下の手順を続ける場合、未登録のフォルダーまたはジオデータベースからツールが参照するデータはすべて、公開時にサーバーにコピーされます。これは、サーバーがサービスで使用されているすべてのデータにアクセスできることを保証するための予防的な処置です。フォルダーまたはジオデータベースを ArcGIS Server サイトに登録する手順については、「ArcGIS for Desktop を使用したデータの ArcGIS Server への登録」をご参照ください。
- 必要に応じて、[サービス エディター] で [プレビュー] をクリックします。Web で表示したときに、ツール ダイアログ ボックスがどのように表示されるかを確認できます。
- ジオプロセシング モデル内のエラーを修正したら、[公開] をクリックします。
WPS サービスの使用
公開した WPS サービスは、WPS 1.0.0 に対応している任意のクライアントで使用できます。WPS サービスの最も単純なクライアントの 1 つは Web ブラウザーです。HTTP 経由で情報をリクエストすることができ、レスポンスや例外はブラウザーを通じて返されます。
Web ブラウザーから WPS サービスにアクセスするには、以下の手順に従います。
- Web ブラウザーを開きます。
- 以下のセクションに示すように、GetCapabilities および DescribeProcess リクエストを実行します。
GetCapabilities
このリクエストは、サービスを通して利用できるすべてのメタデータとプロセスを GML 形式で返します。GetCapabilities 操作を使用するには、WPS サービスの URL をコピーしてアドレス バーに貼り付け、URL の末尾に「?SERVICE=WPS&VERSION=1.0.0&REQUEST=GetCapabilities」を追加します。
URL の例: http://gisserver.domain.com:6080/arcgis/services/my_wps/GPServer/WPSServer?SERVICE=WPS&VERSION=1.0.0&REQUEST=GetCapabilities
DescribeProcess
DescribeProcess リクエストのレスポンスには、特定のプロセスの詳細情報が含まれます。基本的には、プロセスの一意の識別子と、プロセスに対する必須またはオプションの入力/出力パラメーターの識別子、タイプ、およびスキーマを表します。この情報は、WPS クライアントが以降の Execute リクエストを発行して、実際の地理空間処理を実行するために必要です。DescribeProcess 操作を使用するには、WPS サービスの URL をコピーしてアドレス バーに貼り付け、URL の末尾に「?SERVICE=WPS&VERSION=1.0.0&REQUEST=DescribeProcess」を追加します。
URL の例: http://gisserver.domain.com:6080/arcgis/services/my_wps/GPServer/WPSServer?SERVICE=WPS&VERSION=1.0.0&REQUEST=DescribeProcess&Identifier=output_feature_layer
WPS サービス プロセスの実行
Web 上で地理空間処理を実行するには、WPS クライアントから WPS サービスに Execute リクエストを送信します。通常、Execute リクエストは WPS プロセスの各入力/出力パラメーターの値または参照を含み、プロセスの結果を WPS サービスに返す方法も指定します。Execute リクエストのレスポンスには空間処理の結果が埋め込まれ、最新の空間処理ジョブの結果を返すように構成できます。
一般的に、Execute 操作は WPS クライアントで HTTP POST リクエストを通して呼び出されます。以下に、Execute リクエストの例を示します。
<wps:Execute xmlns:wps="http://www.opengis.net/wps/1.0.0" service="WPS" version="1.0.0" language="en-US">
<ows:Identifier xmlns:ows="http://www.opengis.net/ows/1.1">SampleProcessId</ows:Identifier>
<wps:DataInputs>
<wps:Input>
<ows:Identifier xmlns:ows="http://www.opengis.net/ows/1.1">Input_String</ows:Identifier>
<wps:Data>
<wps:LiteralData dataType="xs:string">abcdefg</wps:LiteralData>
</wps:Data>
</wps:Input>
</wps:DataInputs>
<wps:ResponseForm>
<wps:ResponseDocument storeExecuteResponse="true" lineage="true" status="false">
<wps:Output schema="http://www.w3.org/TR/xmlschema-2/#string" asReference="false">
<ows:Identifier xmlns:ows="http://www.opengis.net/ows/1.1">Output_String</ows:Identifier>
</wps:Output>
</wps:ResponseDocument>
</wps:ResponseForm>
</wps:Execute>
WPS リクエスト操作とそのパラメーターについては、OGC WPS 1.0.0 仕様をご参照ください。Esri の「Standards and Interoperability」の Web ページでも、ArcGIS での OGC サービスのサポートについて説明しています。