11 空間Webサービスの概要

この章では、Oracle Spatial and GraphでサポートされるWebサービスについて説明します。

Webサービスを使用すると、Oracle Spatial and Graphアプリケーションの開発者は、アプリケーション・ユーザーに対してフィーチャ・データおよびメタデータをWeb経由で提供できます。

注意:

Spatial and GraphのWeb Feature Service (WFS)のサポートまたはCatalog Services for the Web (CSW)のサポートを使用している場合、および1つ以上のSYS.XMLTABLEINDEXの索引を使用して索引付けされた以前のリリースのデータがある場合は、アップグレード前に関連付けられた索引を削除し、アップグレードに索引を再作成する必要があります。

詳細は、「アップグレード前およびアップグレード後に行う索引のメンテナンス(WFSおよびCSW)」を参照してください。

トピック:

11.1 空間Webサービスの種類

Oracle Spatial and Graphでは、次の種類のWebサービスが提供されます。

  • ジオコーディング: ユーザーは、住所を空間位置(経度と緯度の座標)に関連付けることができます。ジオコーディングのサポートについては、「住所データのジオコーディング」を参照してください。

  • イエロー・ページ: ユーザーは位置との関係に基づいて、名前別またはカテゴリ別にビジネス情報を検索できます。イエロー・ページのサポートについては、「ビジネス・ディレクトリ(イエロー・ページ)のサポート」を参照してください。

  • ルーティング: 1つまたは複数のルートについて道路情報や案内を提供します。ルーティングのサポートについては、「ルーティング・エンジン」を参照してください。

  • OpenLS: ジオコーディング、マッピング、ルーティングおよびイエロー・ページに対するOpen Location Services Initiative(OpenLS)仕様に基づいて、位置情報をベースにしたサービスを提供します。OpenLSのサポートについては、「OpenLSのサポート」を参照してください。

  • Web Feature Services(WFS): ユーザーは、位置または非空間属性との関係に基づいて、フィーチャ(道路、川など)を検索できます。WFSのサポートについては、「Web Feature Service (WFS)のサポート」を参照してください。

  • Catalog Services for the Web (CSW): カタログ・サービスに対するOpen GIS Consortium仕様のOracle Spatial and Graphの実装を記述します。この仕様によると、カタログ・サービスは、データ、サービスおよび関連する情報オブジェクトについての記述情報(メタデータ)の集合をパブリッシュおよび検索する機能をサポートしています。CSWのサポートについては、「Catalog Services for the Web(CSW)のサポート」を参照してください。

  • Web Coverage Service (WCS): クライアント側レンダリング、科学的モデルへの入力および他のクライアントに有用な形式のカバレージ・データへのアクセスを提供します。WCSのサポートについては、「Web Coverage Service (WCS)のサポート」を参照してください。

    WCSの概要については、https://en.wikipedia.org/wiki/Web_Coverage_Serviceを参照してください。WCSと関連するWebサービスとの簡単な比較については、http://gis.stackexchange.com/questions/80948/what-are-the-differences-between-wms-wfs-wcs-wpsを参照してください。

11.2 空間Webサービスのユーザーの種類

「ユーザー」という語の意味が一般的なビジネス上の意味だとすると、空間Webサービス・アプリケーションの実装には次の種類のユーザーが関与します。

  • Webサービスのインフラストラクチャを設定する管理者。管理者は、データベース・ユーザーの作成、新規および既存のデータベース・ユーザーに対する権限とアクセス権の付与、複数のデータベース・ユーザーに影響するその他の操作などを行います。

    • Web Feature Serviceの場合、管理者はWFS管理コンソールを使用してフィーチャ表の登録、フィーチャ・タイプのパブリッシュを行います。

    • Catalog Service for the Webサービスの場合、管理者はCSW管理コンソールを使用してレコード・タイプをパブリッシュします。

    • Web Coverage Serviceの場合、管理者はWCS管理コンソールを使用してカバレージをパブリッシュします。

    たとえば、管理者は、インフラストラクチャを設定して、道路や川などの空間フィーチャにアクセスできるようにします。

  • 空間データおよびメタデータを作成および管理するアプリケーション開発者。開発者は、空間データ表を作成し、空間索引を作成して、行をUSER_SDO_GEOM_METADATAビューに挿入し、空間のファンクションおよびプロシージャを使用してアプリケーション・ロジックを実装します。

    たとえば、アプリケーション開発者は、道路や川の表を作成し、アプリケーション・ロジックを実装することで、エンド・ユーザーが空間問合せ条件に基づいて道路や川を検索できるようにします。

  • エンド・ユーザーは、KVP、POSTまたはSOAPプロトコルを使用したHTTPリクエストを介してサービスにアクセスします。

    たとえば、エンド・ユーザーは、特定の川から1マイル以内にあるすべての道路、またはその川を横断するすべての道路などの検索を行います。

管理者の立場から見ると、アプリケーション開発者もエンド・ユーザーもすべてユーザーです。これは、それぞれのニーズに合わせてデータベース・ユーザーを作成する必要があるためです。アプリケーション開発者は、空間表を作成および管理し、Oracle Spatial and Graphのファンクションおよびプロシージャを使用するための十分な権限を持つユーザーとして、データベースに接続します。エンド・ユーザーは、通常、データへの読取り専用アクセスや制限付きの書込みアクセスなど、制限されたアクセス権限を持つデータベース・ユーザーを使用したOGC操作を介してデータベースにアクセスします。

Spatial and GraphのWebサービスに関する章は、エンド・ユーザー向けではなく、管理者およびアプリケーション開発者を対象としています。

11.3 空間Webサービスのデプロイと構成

このトピックでは、空間Webサービス、特にWFS、WCSおよびCSWのデプロイおよび構成で行う処理について説明します。

これらのサービスはJava Webアプリケーションとして実装され、WebLogic 12.1.3以上にデプロイして実行できます。必要なJavaのバージョンはJDK 1.8以上です。sdows.ear.zipファイルにパッケージされています。

  • WFS、CSWおよびCSWは、sdows.ear.zipファイルにパッケージされています。

  • ジオコーダ・サービスは、geocoder.ear.zipファイルにパッケージされています。

  • ルーティング・エンジンは、routeserver.ear.zipファイルにパッケージされています。

このトピック内の一般的な手順に加えて、使用する各空間Webサービスに関する章を参照し、その他のデプロイおよび構成のタスクを確認してください。

Oracle Spatial and Graph Webサービスのデプロイに伴う主なタスクは次のとおりです。

  1. WebLogic Server(バージョン12.1.3以上)の準備

  2. WebLogic Serverでのドメインの作成

  3. sdows.ear.zipファイルの解凍(WFS、WCS、CSW)

  4. WebLogic Serverでの空間Webサービスのデプロイおよびweb.xmlファイルの編集

  5. WebサービスWebプロジェクトがアクティブなステータスであることの確認

  6. 各空間Webサービスの構成

WebLogic Server(バージョン12.1.3以上)の準備

Webサービス・エンジンをデプロイする前に、WebLogic Serverで管理対象サーバーを作成することをお薦めします。

Webサービス・エンジンを管理対象サーバーに正常にデプロイするには、WebLogicドメインが作成されている必要があります。

WebLogic Serverでのドメインの作成

WebサービスのドメインがWebLogic Serverに存在することを確認する必要があります。空間ドメインを作成するには、次の手順に従います。

  1. WebLogic Serverコンソールにログインします。

  2. 「新しいWebLogicドメインの作成」を選択し、「次へ」をクリックします。

  3. 「ドメイン・ソース: 自動的に構成されたドメインの生成」を選択し、「次」をクリックします。

  4. 管理者のユーザー名とパスワードを構成し、「次」をクリックします。

  5. サーバーの起動モード「開発」または「本番」を選択します。

  6. 「JDK」に、使用可能なJDKのいずれかを選択します。

  7. 環境のカスタマイズサービスの設定で、デフォルト値を受け入れるか、カスタマイズを指定します。

  8. WebLogicドメインの作成ページで「作成」「次」の順にクリックします。

  9. ドメインの作成中画面で、「完了」をクリックします。

ドメインの作成および構成の詳細は、WebLogic Serverのドキュメントを参照してください。

sdows.ear.zipファイルの解凍(WFS、WCS、CSW)

ユーザーがSpatial and GraphのWFS、WCSおよびCSWサービスを使用できるようにするには、$ORACLE_HOME/md/jlibにあるsdows.ear.zipファイルが適切なディレクトリに解凍されていることをDBAロールを持つ管理者がデプロイ前に確認する必要があります。結果のパスはsdows.earディレクトリで終了します。このディレクトリはsdowsの展開したディレクトリと呼ばれることがあります。

WebLogic Serverでの空間Webサービスのデプロイおよびweb.xmlファイルの編集

空間Webサービスは展開したディレクトリとしてデプロイされる必要があります。ログ・ファイルがこのディレクトリ内に生成されるためです。

WFSサービスのみの下位互換として(WCS 2.0.1およびCSW 2.0.2はリリース12.2で新たに追加されたサービスであるため)、SpatialWS-SpatialWS-context-root(または他の希望するルート名)を使用する場合、web.xmlファイルで<env-entry-name>oracle/spatial/ws/publish_url_as/contextPath</env-entry-name>要素の<env-entry-value>要素に希望する値を指定します。この場合、デフォルトのoraclespatial以外のルートを反映して他のファイル(application.xml、context.xml、weblogic.xml、wfs.wsdlおよびcsw202.wsdl)も変更する必要があります。

同様に、WFS、WCSまたはCSWのサーブレット・パスを変更する必要がある場合、web.xmlファイルですべての関連する<env-entry-name>および<env-entry-type>要素に希望する値を指定する必要があります。次に例を示します。

<env-entry-name>oracle/spatial/ws/publish_url_as/servletPath/wfs</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>

<env-entry-name>oracle/spatial/ws/publish_url_as/servletPath/csw</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>

<env-entry-name>oracle/spatial/ws/publish_url_as/servletPath/wcs</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>

クライアントからのリクエストの仲介としてプロキシ・サーバーを使用する場合、web.xmlファイルで次のenv-entry要素を編集する必要があります。

  • oracle/spatial/ws/publish_url_as/host

  • oracle/spatial/ws/publish_url_as/port

  • oracle/spatial/ws/publish_url_as/protocol

  • oracle/spatial/ws/publish_url_as/contextPath

  • oracle/spatial/ws/publish_url_as/servletPath/ws

  • oracle/spatial/ws/publish_url_as/servletPath/wfs

  • oracle/spatial/ws/publish_url_as/servletPath/csw

  • oracle/spatial/ws/publish_url_as/servletPath/wcs

  • oracle/spatial/ws/publish_url_as/xmlservletPath/ws

  • oracle/spatial/ws/publish_url_as/xmlservletPath/wfs

  • oracle/spatial/ws/publish_url_as/xmlservletPath/csw

  • oracle/spatial/ws/publish_url_as/xmlservletPath/wcs

空間WebサービスをWebLogic Serverにデプロイするには、次の手順に従います。

  1. WLSコンソールにログインします

  2. 「デプロイメント」「インストール」の順にクリックします。

  3. 「パス」がアプリケーション・デプロイメント(展開したアーカイブ)ディレクトリに設定されていることを確認します。

  4. 「sdows.ear」(ディレクトリ)を選択し、「次」をクリックします。

  5. 「このデプロイメントをアプリケーションとしてインストールする」ターゲット・スタイルを選択し、「次へ」をクリックします。

  6. WFSエンジンのデプロイ先となるサーバーのリストで、作成した管理対象サーバーの名前を選択し、「デプロイメントを次の場所からアクセス可能にする」を選択して、展開したアーカイブ(アプリケーション・デプロイメント)ディレクトリを入力し、「次」をクリックします。

  7. デプロイメント名がsdowsであることを確認し、「終了」をクリックします。

WebサービスWebプロジェクトがアクティブなステータスであることの確認

空間Webサービスに必要な手順を完了したら、「デプロイメント」ページでアプリケーションがActive状態であることを確認します。

Prepared状態の場合、「起動」をクリックしてアプリケーションを起動します。

各空間Webサービスの構成

次のステップは、使用する各空間Webサービス(WFS、WCS、CSWなど)をそれぞれ構成することです。ご使用の環境でサポートするWebサービスに応じて、特定のタスクを実行する必要があります。権限を作成し、データベース・ユーザーに付与する必要がある場合があります。WebLogic Serverで、特別なデータ(ジオコーディング用など)のダウンロードおよびロード、構成ファイルの変更、またはデータ・ソースの作成が必要な場合もあります。

関連する各空間Webサービスの章で、そのサービスに固有の手順を確認してください。

11.4 空間Webサービスの管理コンソール

Oracle Spatial and Graphには、空間Webサービスの管理コンソールが用意されています。管理コンソールはいくつかのコンポーネントで構成されており、WFS、WCSおよびCSW Webサービス・エンジンを構成したり、各サービスをテストしたり、エラー・ログを表示して診断したりできます。これは、sdows.ear.zipファイル内に含まれています。

管理コンソールにアクセスするには、次の形式のURLに移動します。

http://<system-name>:<port>/oraclespatial/
  • 「構成ファイル」タブでは、サービスのGetCapabilitiesレスポンスに示されるロギング・レベルなどのサービス・パラメータやサービス・プロバイダ情報を変更できます。

  • WFS、WCSおよびCSWの「テスト」タブでは、様々な操作の簡単なリクエストを作成できます。これを編集してパラメータを追加または変更し、HTTP POST/XMLリクエストとして送信できます。レスポンスも表示されます。

  • WFS、WCSおよびCSWの「ログ」タブでは、各サービスのログ・ファイルの内容を表示できます。各「ログ」タブではzipファイルに圧縮したログをダウンロードし、後でこの情報を使用して問題を診断することもできます。

コンソールのページとWFS、WCSおよびCSWの詳細は、それらのサービスの章を参照してください。