第3回 河川GIS・アプリケーション 標準インタフェース作成協議会 説明資料 資料-4 第3回 河川GIS・アプリケーション 標準インタフェース作成協議会 説明資料 2005/3/18
議事内容 第2回協議会議事内容の確認 アプリケーションプログラムの構成とインタフェースの標準化による将来像ついて ガイドライン第0.5版改訂案について ガイドライン第1.0版(案)について その他
第2回協議会での議論 アプリケーションプログラムは4層構造で考える。その場合、データベース層の上のビジネスロジック層は各社各様でよく、その上位のサービス層でインタフェースを標準化するということでよいか? アプリケーションプログラムを4層構造モデルで考えることにする。インタフェース標準は、サービス層を対象とし、ビジネスロジック層には踏み込まない あらためてアプリケーションプログラムの構成について修正をおこない、アプリケーションプログラムの考え方を整理したので、ご意見を頂きたいと思います アプリケーションプログラムの構造のうち、どこの部分をインタフェースとして共通化すべきか、ブレークダウンして示していただきたい アプリケーションプログラムの具体的なイメージを提示して、どの部分をインタフェース標準として設けるか、明確になるようにする 具体的なGISアプリケーションを例に整理しましたので、それをもとにご議論いただきたいとおもいます インタフェースを標準化することで、どのような将来像が描けるのか?このままの状態と、サービスが共通に使えるようになった状態を比較する図を作成していただきたい このままの状態と、サービスが共通に使えるようになった状態を比較する図を作成する
河川GIS・河川アプリケーション標準インタフェースの考え方
河川アプリケーション標準インタフェースの適用範囲 ガイドライン第0.5版での定義 国土交通省河川局で採用・開発するアプリケーションプログラムのうち、インターネット/イントラネット環境で動作するアプリケーションプログラムに適用する 上記のように定義した意図 インタフェースの標準化により、 すでに蓄積管理されているデータ(一次データ)や解析等の処理を要求して得られるデータ(二次データ)を取得し、自身のアプリケーションで解析を行うことができる それらのデータを自身が持っていなくても利用できるよう、ネットワーク(インターネット/イントラネット)を通じて取得できる 従って、標準化の対象となるインタフェースは、以下のデータを取得するためのインタフェースである すでに蓄積管理されているデータ(一次データ) 例)河川基盤地図、水文・水質データ、河川環境データ等 解析等の処理を要求して得られるデータ(二次データ) 例)氾濫シミュレーション、水害リスク評価等
ガイドライン第1.0版で規定する 河川アプリケーション標準インタフェースの適用範囲 アプリケーションプログラムは、基本的に以下の4層モデルで構成する アプリケーションプログラムの構成 アプリケーションプログラム 取得したデータを表示するための処理をする機能 プレゼンテーション層 ガイドラインで対象 とするインタフェース データベースで管理されているデータの検索、加工、分析の実行の依頼 サービス層 データの検索、加工、分析の実行 ビジネスロジック層 データベースで管理されているデータを取得するためのインタフェース データベースのデータを利用し加工、分析した結果を取得するためのインタフェース 河川基盤地図、水文・水質データなどを管理するための機能 データ層
河川GIS・河川アプリケーション標準インタフェースの構築イメージ 河川GIS・河川アプリケーション標準インタフェースを介して、アプリケーションAのデータを利用する プレゼンテーション層 業務 アプリケーションX サービス層 サービス層 情報提供 WebページY ビジネスロジック層 河川GIS・河川アプリケーション標準インタフェース データ層 河川GIS・河川アプリケーション標準インタフェース を実装したアプリケーションA
アプリケーションプログラムにおける現状の課題とインタフェースによる解決
既存する河川GISアプリケーションの構成 河川WebGISアプリケーション構成図(1) 既存する河川GISアプリケーションの構成 クライアント テーション層 プレゼン A事務所河川GISアプリケーション ・地図描画 ・クライアント機能 A社製GIS エンジン GISエンジン等に命令を投げるためのGUI HTTP サービス 層 ・HTTPリクエスト ・HTTPレスポンス ※密な結合 サーバ A社製GIS I/F DB I/F ロジック層 ビジネス ・データ検索 ・データ抽出 ・データ管理更新 ・その他サーバ機能 A社製GISエンジン DBエンジン 河川基盤図 基幹データベース データ層 A事務所
既存する河川GISアプリケーションの構成 河川WebGISアプリケーション構成図(2) リクエストを投げる、結果を表示するためのGUI アント クライ テーション層 プレゼン B事務所河川GISアプリケーション (HTML) ・地図描画 ・クライアント機能 HTTP リクエストをGISエンジン等に対して命令する サーバサイドプログラム サーバ サービス 層 ・GISエンジン専用API ※密な結合 A社製GIS I/F DB I/F ロジック層 ビジネス ・データ検索 ・データ抽出 ・データ管理更新 ・その他サーバ機能 A社製GISエンジン DBエンジン 河川基盤図 基幹データベース データ層 B事務所
既存する河川GISアプリケーションの構成 A事務所 B事務所 M地方整備局 サービス利用者 (リクエスタ) テーション層 プレゼン A事務所アプリケーション B事務所アプリケーション A事務所アプリケーション B事務所アプリケーション サービス 層 A社GIS I/F DB I/F B社GIS I/F DB I/F サービス提供者 (プロバイダ) ロジック層 ビジネス A社製 GISエンジン DBエンジン B社製 GISエンジン DBエンジン 各事務所GISエンジン分の追加ライセンスが必要 各事務所ごとの状況しか分からない 河川基盤図 基幹 データベース 河川基盤図 基幹 データベース データ層
既存する河川GISアプリケーションの構成 地整独自にアプリケーションを導入する場合 A事務所 B事務所 M地方整備局 サービス利用者 (リクエスタ) テーション層 プレゼン A事務所アプリケーション B事務所アプリケーション M地方整備局 アプリケーション サービス 層 A社GIS I/F DB I/F B社GIS I/F DB I/F C社GIS I/F DB I/F サービス提供者 (プロバイダ) ロジック層 ビジネス A社製 GISエンジン DBエンジン B社製 GISエンジン DBエンジン C社製 GISエンジン DBエンジン 新規アプリケーション開発費と、GISエンジンのライセンス費とデータコンバート費用が必要 河川基盤図 基幹 データベース 河川基盤図 基幹 データベース 河川基盤図 基幹 データベース データ層 データコンバート(閲覧する事務所分)
既存する河川GISアプリケーションの構成 共通インタフェースの構成 構成1 構成2 共通 I/F 共通 I/F サーバサイドプログラム サーバサイドプログラム 構成3 GIS I/F 共通 I/F GISエンジン データベース データベース
標準インタフェースによる アプリケーション間の接続イメージ サイト(アプリケーション)D サイトE 標準インタフェースを介し、解析処理機能、GIS機能、データ処理機能を使って、それぞれのデータと接続できる 情報提供 Webページ テーション層 プレゼン GIS機能 サービス利用者 (リクエスタ) 業務アプリケーション サービス 層 標準インタフェース サービス提供者 (プロバイダ) ロジック層 ビジネス 解析処理機能 GIS機能 データ 処理機能 データ データ データ データ層 各機能が同じサイトにあってもよいし、別のサイトにあってもよい アプリケーションA アプリケーションB アプリケーションC
標準インタフェースによる アプリケーション間の接続イメージ 災害時対応支援アプリケーション A事務所管内で発生している災害状況を把握するために、A事務所の地図上にリアルタイムな浸水状況を重ねあわせて確認できる。さらに、今後の予測を考えるために、氾濫解析結果を利用して、今後の被害予測をおこない、対策を検討する サービス利用者 (リクエスタ) 災害時対応支援 機能 個別に開発・管理されているアプリケーション 標準インタフェース サービス提供者 (プロバイダ) A事務所 河川GIS 機能 A事務所 氾濫解析 機能 航空写真等 管理機能 現地浸水 状況 集約機能 機器による 浸水監視 機能 河川基盤 地図データ 氾濫解析 データベース 航空写真 衛星写真 データ 現地 写真 データ 被災 状況 データ 浸水センサ A事務所河川GIS アプリケーション A事務所リアルタイム 氾濫解析アプリケーション 航空写真等管理 アプリケーション リアルタイム浸水監視 アプリケーション
ガイドライン0.5版における追加事項
ガイドライン0.5版での追加事項 「適用範囲」に、アプリケーションプログラムの考え方を追加した 「標準インタフェースの定義方法」に、標準との整合性について追加した 当初地図画像の取得には、添付ファイルとして送信することにしていたが、W3CではSOAPにおける添付ファイル方式を取り決めていないため、SOAPパラメータに画像情報を取り込む方法と、戻り値としてURLを返す方式との2通りの方式を採用した。 その他、実装実験を通じていくつかの関数について見直しを実施 GetExtent:座標系引数の追加 引数の「必須/任意」の区別:全て「必須」に変更 GetFeatureClassInfosの戻り値の修正・構造体追加 機能 内容 関数 地図画像取得 座標範囲、画像サイズ、画像フォーマット、縮尺、回転角度を指定して地図画像を取得する GetMap 地図画像URL取得 座標範囲、画像サイズ、画像フォーマット、縮尺、回転角度を指定して地図画像取得のためのURLを取得する GetMapUrl レイヤの描画設定の登録 描画スタイル、表示順序などの描画設定を登録する (GetMap、GetMapUrl) レイヤの表示状態登録 レイヤの表示/非表示の状態を登録する 強調表示地物の設定 強調表示する地物を設定する 表示時点設定 地図画像を作成する時点を設定する 索引図画像取得 座標範囲、画像サイズ、画像フォーマット、縮尺、回転角度を指定して索引図画像を取得する 地図印刷画像取得 座標範囲、用紙サイズ、画像フォーマット、縮尺、回転角度を指定して印刷用地図画像を取得する 凡例画像取得 レイヤの凡例画像を取得する GetLegendImage
ガイドライン1.0版(案)について
ガイドライン1.0版(案)で新たに追加した項目 河川GIS共通インタフェース実装仕様 河川GIS・河川アプリケーション標準インタフェースの関数仕様 河川GIS・河川アプリケーション標準インタフェースの実装仕様 河川GIS・河川アプリケーション標準インタフェース関数仕様作成に関する取り決め 河川GIS・河川アプリケーション標準インタフェース実装仕様作成に関する取り決め 河川GIS・河川アプリケーション標準インタフェースの運用に関する取り決め インタフェース公開・管理方法 インタフェース接続方法 河川GIS・河川アプリケーション標準インタフェース公開・管理仕様 アプリケーションプログラムで利用できる関数等の技術的な公開・管理仕様 アプリケーションプログラムの内容に関する公開・管理仕様
河川GIS・河川アプリケーション標準インタフェースの関数仕様 すでに河川局にあるか、開発中か、もしくは今後近々に開発予定のアプリケーションプログラムについて、1.0版で関数仕様を定義する 以下のデータを利用するアプリケーションプログラムを想定し、関数仕様の検討を行う それを、1.0版(案)として提示する予定 ■極力汎用的なインタフェース ■DBが追加された場合にも拡張が容易なインタフェース 河川GIS・河川アプリケーション標準インタフェース 河川環境 情報データ リアルタイム 氾濫解析 データ 地下水位 データ 堤防 データ 3次元地形 データ 水路網 データ ・・・
河川GIS・河川アプリケーション標準インタフェース関数仕様作成に関する取り決め アプリケーションプログラムを開発する場合、そのアプリケーションプログラムで使用する関数は、本ガイドラインの関数仕様で定める関数とする。 アプリケーションプログラムで使用する関数が、本ガイドラインの関数仕様で定める関数に該当しない場合には、当該アプリケーションプログラムの開発者は、使用する関数について関数仕様を作成する。 使用する関数一覧 各関数の説明文書 関数と引数の命名規則 関数の命名規則 識別子の名前は英語を基本とする。 動詞または動詞句とする。 識別子の最初の文字と、後に続いて連結されている各単語の最初の文字を大文字にする。 引数の命名規則 識別子の最初の文字は小文字にし、後に続いて連結されている各単語の最初の文字を大文字する。 原則として、引数の型を説明する名前ではなく、引数の意味を説明する名前を使用する。
河川GIS・河川アプリケーション標準インタフェース実装仕様作成に関する取り決め アプリケーションプログラムで使用する関数が、本ガイドラインの関数仕様で定める関数に該当しない場合には、当該アプリケーションプログラムの開発者は、関数仕様作成に関する取り決めに従い作成した関数仕様に対応する実装仕様を作成する。 この場合の実装は、HTTPによるSOAPとWSDLを利用した実装とする。 実装仕様は、以下の2種類を作成する。 実装仕様の文書形式 WSDLによる記述文書
河川GIS・河川アプリケーション標準インタフェースの運用に関する取り決め(1) インタフェース公開・管理方法 アプリケーションプログラムの開発者は、開発するアプリケーションプログラムが他のアプリケーションプログラムから接続できるよう、インタフェースを公開する。公開するインタフェースは、本ガイドラインにもとづき作成する。 アプリケーションプログラムの開発者は、開発するアプリケーションプログラムについて、アプリケーションプログラムのインタフェースに関する以下の2種類の情報を記載した文書を作成する。 アプリケーションプログラムで利用できる関数等の技術的な仕様 アプリケーションプログラムの内容 アプリケーションプログラムの目的と、機能およびデータの概要 利用にあたっての制限や条件 接続方法 利用許可・利用申請のための問合せ先 これらの文書は、アプリケーションプログラムの開発者からの要求に応じて公開できるよう、事務所・地方整備局等で管理する
河川GIS・河川アプリケーション標準インタフェースの運用に関する取り決め(2) インタフェース接続方法 他のアプリケーションプログラムと接続する場合は、以下の手順で接続する。 水情報国土データ管理センター内に設置した河川アプリケーション標準インタフェース登録機関において、利用可能なアプリケーションプログラムを検索する。 利用するアプリケーションプログラムについて、そのアプリケーションプログラムの管理者に利用の申請をおこなう。必要に応じて、利用をおこなうための各種条件の処理を行う。 利用に必要な関数仕様・実装仕様等の技術資料を入手し、アプリケーションプログラムを利用するためのインタフェースを実装する。 アプリケーションプログラムに接続し、利用する。 アプリケーションプログラム間の接続は、本ガイドラインで定めるインタフェースを介して行う。 接続に用いる通信プロトコルはHTTPとし、以下のうちいずれかの方式とする。接続するアプリケーションプログラムの実装仕様に従い、接続をおこなう。 方式1)POST/GETによる方法:WMSインタフェースで接続する場合 方式2)SOAPによる方法:WMS以外のインタフェースで接続する場合
河川GIS・河川アプリケーション標準インタフェース公開・管理仕様 アプリケーションプログラムで利用できる関数等の技術的文書 アプリケーションプログラムを開発する際に引用したガイドライン 関数仕様 関数一覧 各関数の説明文書 実装仕様 実装仕様文書形式 WSDLによる記述文書 アプリケーションプログラムの内容に関する文書 アプリケーションプログラムの目的と、機能およびデータの概要 利用にあたっての制限や条件 接続方法 利用許可・利用申請のための問合せ先
どんな情報を、どんな状態で、どんな条件でやり取りするかの意見照会 今後のスケジュール 1.0版で定める関数仕様について 1.0版全体について ~4月8日 必要な関数の要件整理 どんな情報を、どんな状態で、どんな条件でやり取りするかの意見照会 ~4月15日 1.0版全体に対する意見照会 ~4月22日 関数仕様の策定 ~4月28日 関数仕様に関する意見照会 1.0版の修正 関数仕様の修正 ~5月13日 1.0版として取りまとめ ~5月20日 1.0版意見照会 ~5月27日 1.0版修正 1.0版最終確認 ~5月31日 第4回協議会