WFSでは、リレーショナルおよびドキュメントベースのフィーチャ・タイプがサポートされます。
リレーショナル・フィーチャ・タイプでは、データベース表のコンテンツがフィーチャ・インスタンスとして公開されます。リレーショナル・フィーチャ・タイプは、Oracle Spatial and Graphを使用して地理空間データを管理し、Oracle Databaseを使用して他の業務データを管理する場合に適しています。Spatial and Graph WFSの実装によって、特に、Webサービスを使用して実装されたサービス指向アーキテクチャ(SOA)システムにおいて、データへのアクセス方法が提供されます。
リレーショナル・フィーチャ・タイプの管理には、PL/SQL Application Program Interface (API)を使用します。PL/SQLパッケージのSDO_WFS_LOCKおよびSDO_WFS_PROCESS(「SDO_WFS_LOCKパッケージ(WFS)」および「SDO_WFS_PROCESSパッケージ(WFSの処理)」をそれぞれ参照)は、リレーショナル・フィーチャ・タイプを管理できます。
ドキュメントベース・フィーチャ・タイプでは、XMLスキーマベースのXMLコンテンツがフィーチャ・インスタンスとして公開されます。ドキュメントベース・フィーチャ・タイプは、メイン・データ・ソースとしてXMLを使用する場合や、そのようなデータでOracle Spatial and Graphを使用しない場合に適しています。このようなデータの場合、Spatial and Graph WFSの実装によって、ジオメトリのコンポーネントが抽出され、SDO_GEOMETRY型を使用して格納されます。残りのXMLコンポーネントはOracle XDBに格納され、これらのコンポーネントに対して適切なXMLIndex索引が作成されます。
ドキュメントベース・フィーチャ・タイプの管理には、Java API(「WFSの管理用のJava API」を参照)を使用します。
これらのAPIを使用すると、次のような操作を実行できます。
フィーチャ・タイプのパブリッシュ
フィーチャ・タイプの削除(パブリッシュの解除)
WFSメタデータおよびフィーチャ・タイプに対する権限の付与および取消し
リレーショナル・フィーチャ・タイプの場合:フィーチャ表のロックの有効化およびロックの無効化(ドキュメントベース・フィーチャ・タイプではデフォルトでロックが有効化される)
機能のドキュメントは、機能のインスタンスを記述したドキュメントです。このドキュメントには、フィーチャ・タイプ(道路、河川など)およびサポートされる操作(挿入、削除など)のタイプが指定されます。
機能のドキュメントは、GetCapabilitiesリクエストに対するレスポンスとしてWFSサーバーで生成されます。WFSサーバーでは機能テンプレートを使用します。フィーチャ・タイプおよび操作に関する情報がこのテンプレートに追加されて、機能のドキュメントが作成されます。
クライアントがHTTP GETメソッドを使用してこの機能のドキュメントにアクセスするには、次のようにSOAPインタフェースまたはXMLインタフェースのいずれかを使用します。
SOAPインタフェースの場合は、oracle.spatial.ws.servlet.WFSServlet
を使用します。このサーブレットには、次の書式のアドレスでアクセスできます。
http://machine-name:port/SpatialWS-SpatialWS-context-root/wfsservlet?request=GetCapabilities&service=WFS&version=1.0.0
XMLインタフェースの場合は、oracle.spatial.ws.servlet.WFSXMLServlet
を使用します。このサーブレットには、次の書式のアドレスでアクセスできます。
http://machine-name:port/SpatialWS-SpatialWS-context-root/xmlwfsservlet?request=GetCapabilities&service=WFS&version=1.0.0
次に、前述の書式について説明します。
machine-nameは、アプリケーション・サーバーまたはOC4Jサーバーが実行されているシステムの名前です。
portは、アプリケーション・サーバーまたはOC4Jサーバーが実行されているポートの番号です。
SpatialWS-SpatialWS-context-rootは、Spatial and GraphのWebサービス・アプリケーションがマウントされるデフォルトのrootです。
wfsservletは、oracle.spatial.ws.servlet.WFSServlet
に対するservlet-mapping url-pattern
です。web.xml
ファイルにデフォルトで指定されます。
xmlwfsservletは、oracle.spatial.ws.servlet.WFSXMLServlet
に対するservlet-mapping url-pattern
です。web.xml
ファイルにデフォルトで指定されます。