11 空間Webサービスの概要
この章では、Oracle Spatialでサポートされる空間Webサービスについて説明します。
ノート:
Oracle Cloud MarketplaceからOracle Spatial Webサービスをデプロイできます。このパッケージ・アプリケーションを使用すると、Oracle Cloud Infrastructure (OCI)上のApache Tomcat Webサーバー・インスタンスにデプロイされたOracle Spatial Webサービス(Web Feature Service (WFS)、Web Coverage Services (WCS)、Catalog Services for the Web (CSW)およびGeoRaster REST APIなど)をインストールできます。ただし、ジオコーディング、イエロー・ページ、ルーティングおよびOpenLSサービスは、サーバーレス・デプロイメントと専用デプロイメントの両方のOracle Autonomous Databaseでサポートされていないことに注意してください。Webサービスを使用すると、Oracle Spatialアプリケーションの開発者は、Webを介してフィーチャ・データおよびメタデータをアプリケーション・ユーザーに提供できます。
ノート:
SpatialのWFSサポートまたはCSWサポートを使用している場合、および1つ以上のSYS.XMLTABLEINDEX索引を使用して索引付けされた以前のリリースのデータがある場合は、アップグレード前に関連する索引を削除し、アップグレード後に索引を再作成する必要があります。
詳細は、「アップグレード前およびアップグレード後に行う索引のメンテナンス(WFSおよびCSW)」を参照してください。
- 空間Webサービスの種類
Oracle Spatialで提供される様々な種類のWebサービスについて学習します。 - 空間Webサービスのユーザーの種類
空間Webサービスの構成に関与する様々なユーザーについて学習します。 - 空間Webサービスのデプロイと構成
このトピックでは、空間Webサービス、特にWFS、WCS、CSWおよびGeoRaster REST APIのデプロイおよび構成で行う処理について説明します。
親トピック: 空間Webサービス
11.1 空間Webサービスの種類
Oracle Spatialで提供される様々な種類のWebサービスについて学習します。
- ジオコーディング: ユーザーは、住所を空間位置(経度と緯度の座標)に関連付けることができます。ジオコーディングのサポートの詳細は、「住所データのジオコーディング」を参照してください。
- イエロー・ページ: ユーザーは位置との関係に基づいて、名前別またはカテゴリ別にビジネス情報を検索できます。イエロー・ページのサポートの詳細は、「ビジネス・ディレクトリ(イエロー・ページ)のサポート」を参照してください。
- ルーティング: 1つまたは複数のルートについて道路情報や案内を提供します。ルーティング・サポートの詳細は、「ルーティング・エンジン」を参照してください。
- OpenLS: ジオコーディング、マッピング、ルーティングおよびイエロー・ページに対するOpen Location Services Initiative (OpenLS)仕様に基づいて、位置情報をベースにしたサービスを提供します。OpenLSのサポートの詳細は、「OpenLSのサポート」を参照してください。
- Web Feature Services(WFS): ユーザーは、位置または非空間属性との関係に基づいて、フィーチャ(道路、川など)を検索できます。WFSバージョン1.1.0および1.0.0のサポートの詳細は、「Web Feature Service(WFS)のサポート」を参照してください。
- Web Coverage Service (WCS): 科学的モデルへの入力としてのクライアント側レンダリング、および他のクライアントに有用な形式のカバレッジ・データへのアクセスを提供します。
- WCSバージョン2.0.1のサポートの詳細は、「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を参照してください。
- Catalog Services for the Web (CSW): OpenGISコンソーシアム仕様のカタログ・サービスであるOracle Spatial実装を記述します。この仕様によると、カタログ・サービスは、データ、サービスおよび関連する情報オブジェクトについての記述情報(メタデータ)の集合をパブリッシュおよび検索する機能をサポートしています。CSWバージョン2.0.2のサポートの詳細は、「Catalog Services for the Web(CSW)のサポート」を参照してください。
- Web Map Service (WMS): 空間データのレンダリングをサポートします。具体的には、WMS 1.1.1および1.3.0実装仕様がマップ視覚化コンポーネントに実装されています。詳細は、『Oracle Spatialマップ・ビジュアライゼーション開発者ガイド』のマップ視覚化コンポーネントでのOGC WMSサポートを参照してください。
- GeoRaster REST API: REST HTTP/SリクエストとJSONレスポンスを介した、Oracle Databaseに格納されているGeoRasterデータへのアクセスおよび管理をサポートします。詳細は、『Oracle Spatial GeoRaster開発者ガイド』のGeoRaster REST APIを参照してください。
親トピック: 空間Webサービスの概要
11.2 空間Webサービスのユーザーの種類
空間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のファンクションおよびプロシージャを使用するための十分な権限を持つユーザーとして、データベースに接続します。エンド・ユーザーは、HTTPリクエストを介してデータベースにアクセスします。
SpatialのWebサービスに関する章は、エンド・ユーザー向けではなく、管理者およびアプリケーション開発者を対象としています。
親トピック: 空間Webサービスの概要
11.3 空間Webサービスのデプロイと構成
このトピックでは、空間Webサービス、特にWFS、WCS、CSWおよびGeoRaster REST APIのデプロイと構成に適用される処理について説明します。
これらのサービスはJava Webアプリケーションとして実装され、WebLogic 12.1.3以上にデプロイして実行できます。必要なJavaのバージョンはJDK 8以上です。
ノート:
Oracle Databaseリリース23cでは、データベースのOJVMがJDK11をサポートしているため、Oracle Spatial Java APIはJDK 11を使用してコンパイルされます。ただし、APIは下位互換性のために引き続きJDK8でサポートされます。APIを使用する場合は、関連するすべてのJARファイルが、使用されているJDKバージョン(JDK 8またはJDK 11)と一致していることを確認してください。様々なJDKバージョンでサポートされているJDBCドライバの詳細は、Oracle JDBCドライバのRDBMSおよびJDKバージョンの互換性を参照してください。- WFS、WCSおよびCSWは、
sdows.ear
ファイルにパッケージされています。 - GeoRaster REST APIは、
sdows.ear
ファイルにパッケージされています。 - ジオコーダ・サービスは、
geocoder.ear.zip
ファイルにパッケージされています。 - ルーティング・エンジンは、
routeserver.ear.zip
ファイルにパッケージされています。
これらのファイルは、Oracleインストールの$ORACLE_HOME/md/jlib
ディレクトリにあります。このトピック内の一般的な手順に加えて、使用する各空間Webサービスに関する個別の章を参照し、その他のデプロイおよび構成のタスクを確認してください。
任意のOracle Spatial Webサービスをデプロイするには、特定の順序で次のステップを実行します。
- WebLogic Serverの準備
空間Webサービスは、JDK 8またはJDK 11をサポートする任意のOracle WebLogic Serverバージョンにデプロイできます。 - WebLogic Serverへの空間Webサービスのデプロイ
この項では、sdows.ear
ファイルに含まれるサービス(WFS、WCS、CSW、GeoRaster REST APIなど)をデプロイする方法について説明します。 - 各空間Webサービスの構成
使用する各空間Webサービスは個別に構成する必要があります。
親トピック: 空間Webサービスの概要
11.3.1 WebLogic Serverの準備
空間Webサービスは、JDK 8またはJDK 11をサポートする任意のOracle WebLogic Serverバージョンにデプロイできます。
ただし、Oracle WebLogic Serverバージョン14.1.1.0.0を使用することをお薦めします。
WebLogic環境を準備するには、次のステップを実行します。
親トピック: 空間Webサービスのデプロイと構成
11.3.2 WebLogic Serverへの空間Webサービスのデプロイ
この項では、sdows.ear
ファイルに含まれるサービス(WFS、WCS、CSW、GeoRaster REST APIなど)をデプロイする方法について説明します。
その他のWebサービスについては、それぞれの章の手順に従ってください。
また、WCSまたはGeoRaster REST APIを構成する場合は、sdows.ear
ファイルのデプロイ前にGDALを設定する必要があることに注意してください。WFSまたはCSWにのみ関心がある場合は、「GDALの設定」の項をスキップできます。
WebLogic Serverにsdows.ear
ファイルをデプロイするには、次のステップを実行します。
- 構成ファイルおよびログ・ファイルを格納するフォルダを作成します。
- 前のステップで作成したフォルダを指す環境変数
SDOWS_HOME
を作成します。 <WLS_HOME>/wlserver/common/deployable-libraries/jax-rs-2.0.war
をライブラリとしてOracle WebLogic Serverにデプロイします。詳細は、エンタープライズ・アプリケーションのインストールを参照してください。- オプションで、WCSまたはGeoRaster REST APIをデプロイする場合にのみ、GDALを設定します(「GDALの設定」を参照)。
- WebLogicデータ・ソースを追加します(「WebLogicデータ・ソースの追加」を参照)。
- オプションで、GeoRaster REST APIをデプロイする場合は、必要な環境変数とOracle Walletを設定します。
sdows.ear
をアプリケーションとしてデプロイします(エンタープライズ・アプリケーションのインストールを参照)。
空間Webサービスに必要なステップを完了したら、「デプロイ」ページでアプリケーションがActive
状態であることを確認します。Prepared
状態の場合、「起動」をクリックしてアプリケーションを起動します。手順は、デプロイされたエンタープライズ・アプリケーションの起動と停止を参照してください。
- GDALの設定
Oracleインストールには、GDAL (GeoSpatial Data Abstraction Library)が含まれています。 - WebLogicデータ・ソースの追加
JDBCデータ・ソースをWebLogicドメインに追加して、WebLogic Serverでデータベース接続を構成できます。 - GeoRaster REST APIの設定
GeoRaster REST APIの設定について学習します。
親トピック: 空間Webサービスのデプロイと構成
11.3.2.1 GDALの設定
Oracleインストールには、GDAL (GeoSpatial Data Abstraction Library)が含まれています。
$ORACLE_HOME/md/gdal
には2つのGDAL zipファイルがあり、1つはLinux 64オペレーティング・システム用、もう1つはWindows 64オペレーティング・システム用です。
GDAL zipファイル内のREADME.txt
ファイルには、GDALを設定する手順が含まれています。
GDALが設定されている端末からサーバーを起動するか、WebLogicドメインのbin
フォルダにあるWebLogic ServerのsetDomainEnv
スクリプトからgdal_setup
スクリプトを起動して、実行中のOracle WebLogic ServerでGDALが使用可能であることを確認します。
11.3.2.2 WebLogicデータ・ソースの追加
JDBCデータ・ソースをWebLogicドメインに追加して、WebLogic Serverでデータベース接続を構成できます。
JDBC汎用データ・ソースの作成の手順に従って、汎用データ・ソースを作成できます。
ただし、データ・ソースの構成時に値を選択する際には、次の点を考慮する必要があります。
- JDBCデータ・ソース名には、文字A-Z、a-z、0-9のみを含める必要があります。この値は、サービスURLの一部になります。
- JNDI名の形式は
JDBC/<name>
である必要があります。<name>はJDBCデータ・ソース名と同じです。
11.3.3 各空間Webサービスの構成
使用する各空間Webサービスは個別に構成する必要があります。
ご使用の環境でサポートするWebサービスに応じて、特定のタスクを実行する必要があります。権限を作成し、データベース・ユーザーに付与する必要がある場合があります。WebLogic Serverで、特別なデータ(ジオコーディング用など)のダウンロードおよびロード、構成ファイルの変更、またはデータ・ソースの作成が必要な場合もあります。
- 空間Webサービスの管理コンソール
Oracle Spatialは、WFS、WCSおよびCSW Webサービス・エンジンを構成するのに役立つWebアプリケーションを提供します。
親トピック: 空間Webサービスのデプロイと構成
11.3.3.1 空間Webサービスの管理コンソール
Oracle Spatialは、WFS、WCSおよびCSW Webサービス・エンジンを構成するのに役立つWebアプリケーションを提供します。
次の図は、Oracle Spatial Webサービス管理コンソールのユーザー・インタフェースを示しています。
管理コンソールのユーザー・インタフェースは次のページで構成されています。
- フィーチャのパブリッシュ: 各サービスについて含まれるデータを追加および削除します。
- テスト: 各サービスのリクエストおよびレスポンスをテストします。
- ログ: 診断用のログ・ファイルのコンテンツを表示およびダウンロードします。
- サービス構成: 各サービスを構成します。
ブラウザで管理コンソールを起動するには、次のURLを使用します。
http://<system-name>:<port>/oraclespatial/
前の図に示すように、アプリケーションにログインするには、認証用に「ユーザー名」および「パスワード」資格証明を指定するか、ゲストとしてサービスをテスト・リンクをクリックしてテスト・ページを開くことができます。テスト・ページでは、使用可能なすべてのサービス操作リクエストを表示して、OGCリクエストを作成できます。テスト・ページを除く他のすべてのページで認証が必要であることに注意してください。
ページの右上にあるユーザー・メニューを使用して、「ログイン」または「ログアウト」を実行できます。すべてのユーザーは、管理コンソールがデプロイされているOracle WebLogic Serverで構成されます。
「サービス」メニューは、ページの左上にあります。
「サービス」メニュー・オプションは次のとおりです。
- Web Feature Service
- Web Coverage Service
- Catalog Service for the Web
いずれかのサービス・オプションをクリックすると、選択したサービスで使用可能なすべてのタブがメイン・ページに表示されます。
選択したサービスのページの右上にある「データソース」ドロップダウンから、構成済データ・ソースを選択します。選択したデータ・ソースはいつでも変更できます。WebLogic Serverで複数のデータ・ソースを構成して、異なるスキーマまたはデータベースのデータにアクセスできます。
「サービス構成」タブでは、GetCapabilities
レスポンスに示されるロギング・レベルなどのサービス・パラメータやサービス・プロバイダ情報を変更できます。
「テスト」タブでは、様々な操作に対して単純なリクエストを作成できます。パラメータを編集、追加または変更し、HTTP POST/XMLリクエストとして送信できます。レスポンスも表示されます。
「ログ」タブには、問題を診断するためのログ・ファイルの内容が表示されます。zipファイルに圧縮されたログをダウンロードし、後で問題の診断に使用できます。
関連項目:
親トピック: 各空間Webサービスの構成