メタデータを用いた合成意図に基づく協調プロトコル合成に関する研究

 
髙橋 竜一
早稲田大学メディアネットワークセンター 助教


[背景]複数のWebサービスを連携させたアプリケーション開発(サービス合成)
[問題]データのやりとりの規定(協調プロトコル)の大規模・複雑化
[貢献]関心事毎の協調プロトコルを組み合わせる手法の実現

近年,さまざまな企業や個人などがWebサービスという形で自分たちが持つシステムの機能を公開することが行われている.公開されたWebサービスはインターネット越しに利用できるようになる.これらはWebサービス単体の利用だけでなく,他のWebサービスや自身が開発するシステムと容易に連携させることができるため,高品質なアプリケーションを,既存の資源を再利用する形で容易に開発することができるようになる.このように複数のWebサービスを連携させてアプリケーションを開発する手法をサービス合成と呼ぶ.

サービス合成のようにネットワーク上に分散している部品(Webサービス)同士を連携させるには,各部品間でどんな手順でデータを受け渡して処理を進めていくかを規定することが非常に重要になる.このデータの受け渡しは部品間のメッセージ交換で行い,メッセージ交換の手順を定義したものを協調プロトコルと呼ぶ.協調プロトコルの不備はアプリケーションの重大な欠陥につながるため,非常に重要な要素である.

重要な要素である協調プロトコルは,実運用を想定した場合,非常に設計が複雑になる傾向がある.例えば,コンテンツ購入システムを構築する場合,コンテンツデータを送受信するというメインの処理の他に,「利用者を特定するためのユーザ認証処理」や「利用状況を管理するためのログ記録処理」,「コンテンツ提供に対する課金処理」といった様々な要素を考える必要があり,それらの要素を協調プロトコル上に反映しなければならない.したがって,自然と協調プロトコルが大規模・複雑化してしまい,協調プロトコルを設計するための労力は増大する.
 
そこで最初から一つの大きな協調プロトコルを設計するのではなく,関心事毎に小規模な協調プロトコルを用意し,それらを適切に組み合わせる(合成する)ことでアプリケーション全体の協調プロトコルを得る.この際,組み合わせ方法は,協調プロトコル設計者がもつ要求をメタデータベースの合成制約の形で記述し,その制約を満たす合成方法を探索する.この制約は例えば,「認証処理は個人情報を送信する前に実行したい」という開発者の要求と同程度の抽象度を持って指定することができるため,開発者が持っている要求をそのまま記述するだけで目的の協調プロトコルを得ることができる.

この手法によって,関心事毎に協調プロトコルを分割して定義することができるため,複数の関心事をまとめて考慮し協調プロトコルを設計するよりも思考を容易にし,協調プロトコル設計の労力を削減することができる.また,関心事毎に分割された協調プロトコルは再利用することが容易なため,過去に設計された協調プロトコルを再利用することができれば,さらに協調プロトコル設計のための労力を削減することができるようになる.また,本手法はサービス合成だけでなく,分散する複数の部品同士を協調させることが必要なシステムにおける協調プロトコル設計全般において利用することができる.
 
 

 (2012年8月31日受付)
 
取得年月日:2012年2月
学位種別 :博士(工学)
大  学 :早稲田大学

推薦文:(ソフトウェア工学研究会)


サービス指向コンピューティングにおける複数のWebサービスの連携手順の定義を協調プロトコルと呼ぶが,従来は合成方法を熟知する必要があり問題があった.本手法ではメタデータを活用し,合成意図をそのまま表現して合成する手法を提案している.優れたアイデアであり研究会推薦博士論文にふさわしいと判断する.
 

著者からの一言


4年をかけての学位取得となりましたが,さまざまな先生方からの熱心な指導と家族のサポートに非常に助けられ達成することができました.学位取得はゴールなどではなく,やっと一研究者としてのスタートラインに立つことができたことを自覚し,より一層の努力をしていきたいと思います.