OWL-Sを用いたWebアプリケーションの検査と生成 情報理工学研究科 計算工学専攻 海津智宏
目次 背景と目的 既存技術 セマンティックT-Webシステム 関連研究との比較 まとめと今後の課題
背景と目的 WebアプリケーションからのWebサービスの利用が重要性を増している しかし、現状ではWebアプリケーション開発者がUIのみに専念できるほど手軽ではない そこで、Webサービスにメタデータを付加し,メタデータに基づいて設計の検査とWebサービスの合成を行う手法を提案する
目次 背景と目的 既存技術 T-Webシステム OWL-S セマンティックT-Webシステム 関連研究との比較 まとめと今後の課題
T-Webシステム Webアプリケーションのモデル記述から、プログラムレスでWebアプリケーションを生成するシステム
OWL-S セマンティックWeb関連規格のひとつ Webサービスに以下のメタデータを付加する Service Profile(サービスの概要) Process Model(動作の詳細) Service Grounding(WSDLとのマッピング)
OWL-S Process Model Webサービスに対し、以下の情報を付加する hasInput : 入力 hasOutput : 出力 hasPrecondition : 実行の前提条件 hasResult : 結果 hasEffect : 実行後に成り立つ条件 inCondition : 効果発生の前提条件 withOutput : 出力値の条件
目次 背景と目的 既存技術 セマンティックT-Webシステム 構成 機能 実装 関連研究との比較 まとめと今後の課題
セマンティックT-Webシステム (ST-Web) Webサービスを利用したWebアプリケーションを開発 Web遷移図を用いてWebアプリケーションのふるまいを記述 OWL-S を用いて開発を支援 パラメータの指定の自動化 事前条件の自動的な検査
ST-Web全体の構成 Webサービス提供者 OWL-S Webサービス エディタ機能 検査機能 生成機能 Webアプリケーション 開発者 Web遷移図モデル ST-Web ユーザー
ST-WebでのWeb遷移図 Webサービス利用に特化したWeb遷移図を用いる Webサービスノード Webページノード (静的・動的ページ) login logout リンク 開始点 HTMLのハイパーリンク フォーム送信時のデータフロー Web遷移図外からの遷移を表す
パラメータの自動的な受け渡し OWL-S内で同じリソースにマッピングされたパラメータの自動的な受け渡しを行う。 例えば、ログインWebサービスで受け取ったセッションIDをそれ以降のWebサービス呼び出しの際に利用する 従来は必要であった変数の管理が軽減される。
Web遷移図の検査 Webアプリケーション実行時のセッション状態を計算し、事前条件やパラメータの情報と比較 リンクごとに通過時の状態を計算 開始点からリンクをたどり、それぞれのリンクにおける状態を計算する
エラー検出 Webサービスノードの事前条件が満たされない Webページノードで出力すべきデータが揃っていない 実行時にエラーが発生することが予想できる 警告を表示し、事前条件を満たすようにする Webページノードで出力すべきデータが揃っていない 警告を表示し、必要なデータを取得できるようにする
エラー検出の例 login Login(x,false) unknown Login(x,true) unknown logout Login(x,false) エラー! getMessages
実装 ST-Webシステムを実装 ST-Webを用いてWebアプリケーションを開発 ユーザー認証のある掲示板 ショッピングカート
実装 – 掲示板 (1)
実装 – 掲示板 (2) ログインせずに到達可能な位置に logout、getMessages、addMessageを 配置すると警告が表示される
実装 – ショッピングカート (1)
実装 – ショッピングカート (2)
目次 背景と目的 既存技術 セマンティックT-Webシステム 関連研究との比較 まとめと今後の課題
関連研究との比較 (1) Webサービス合成の検査はLTLを用いたモデル検査が行われることが多い。 OWL-Sコンポジットプロセスの検査 BPELの検査 検査対象は主に合成Webサービスであり、Webアプリケーションのように途中でユーザーとの対話がある場合については考えられてこなかった。
関連研究との比較 (2) ST-Web モデル検査 検査対象 Web遷移図 合成Webサービス Webアプリケーション ○ × 検査仕様 OWL-S LTL 検査仕様の自動生成 検査仕様の追加・変更
まとめと今後の課題 提案手法によりWebアプリケーション開発の効率を高め、初期段階で問題点を検出することが可能となった。 今後の課題 XMLの入力やマッピングを可能にする 複数の状態の重ねあわせを考える 動的な検査を可能にする LTL式など、任意の検査項目を追加可能にする