Webサービスメトリクス†背景†近年,企業が独自に持っている技術をサービスとして公開し,企業間においてサービスの連携を行うという新たなビジネスモデルの試みがなされてきており,その手段としてWebサービスが注目されてきています.しかし,Webサービスは新しい技術でありいくつか問題があります.私達はその問題の一つである「Webサービスの品質の測定」というものに着目し研究を行うことにしました. アプローチ†ソフトウェア品質の測定の指標としてソフトウェアメトリクスというものがあります.そこで,私達は既存のソフトウェアメトリクス(C&Kメトリクス)がWebサービスに適用可能であるかを考察し,その考察結果を基にWebサービスの性能を測定する新たな「Webサービスメトリクス(WSメトリクス)」というものを提案します. C&KメトリクスのWebサービスへの適用可能性†Webサービス(サービス指向)の構成例†C&KメトリクスのWebサービスへの適用可能性について考察するにあたって,まずWebサービス(サービス指向)の構成のされ方の一例を下の図で示します.図においては,サービスを適用するWebサービス(以降WS)と,サービスを利用するクライアントアプリケーション(CA)とがあります.WSは従来のオブジェクト指向のように複数のクラスから構成され,外部とのインターフェースとして公開メソッドを持ちます.そして,CAはこの公開メソッドを通じてWSの提供するサービスを利用します.ここで注目するべきところはWS1とWS2はそれぞれ独立しており,従来のオブジェクト指向で設計されるクラス間での密な結合とは異なり,WS間の連携は疎結合の関係になっています.そして,疎結合の関係であるためにWS1やWS2において,何らかの事情で修正があったとしても「外部インターフェースが変化しない」限り,そのサービスを利用するCAはWS1やWS2の変更に伴う修正の労力が少なくて済む事になります. Webサービスの特徴とC&Kメトリクスの適用可能性の考察†上記のWSの構成例をもとにオブジェクト指向とサービス指向の違いについて考察します.私達は,オブジェクト指向とサービス指向について「単位の粒度」と「結合の仕方」と「継承関係」に着目し,オブジェクト指向ソフトウェアメトリクスであるC&Kメトリクスの適用可能性について考察しました.
まず,単位の粒度に関しては,オブジェクト指向ではクラスというものが単位であるのに対し,サービス指向では複数のクラスから構成されるサービスというものが単位となります.よってサービス指向はオブジェクト指向よりも粒度が大きいといえます.次に,結合の仕方について述べます.オブジェクト指向は一般的に他のクラスとの結合の仕方は密結合であり,サービス指向では疎結合となります.また,継承関係についてはオブジェクト指向ではスーパクラス・サブクラスといった継承関係がありますが,サービス指向ではサービスを提供するもの,利用するものの関係があるだけで継承関係はありません.以上,三つの観点から C&KメトリクスのWebサービスへの適用可能性について考察すると,C&Kメトリクスではクラスの特徴である継承といったやクラス間の結合が密結合であることを前提にクラスを評価しており,Webサービスへの適用は困難もしくは再検討の必要があると考えました.(ただし,サービス単体の評価においては,サービスは複数のクラスから構成されているので適用可能であると考える) Webサービスメトリクスの提案†C&KメトリクスのWebサービスへの適用可能性の考察を踏まえて,私達は新たな4つのWebサービスメトリクスを提案します. (図中においてCAとはクライアントアプリケーション,WSはWebサービスを表す) 提案するWebサービスメトリクスの評価項目†提案するWebサービスメトリクス(WSメトリクス)で評価できるWebサービスの品質について示します.以下の表において,「○」は当研究室で開発したWebサービスアプリケーションに提案するWSメトリクスメトリクスを適用し,メトリクスの値とWebサービスアプリケーションとの間に関連が見られた項目です.「△」はWSメトリクスを実際に適用して関連があるかを調べたわけではないですが,関連があるのではないかと考える項目です.
今後の予定†今後の予定としては,提案するWSメトリクスの評価項目においてより詳細な検証を行う事を考えており,そのためのWebサービスアプリケーションを開発を行おうと思っています. 発表文献†
|