- 追加された行はこの色です。
- 削除された行はこの色です。
* Webサービスメトリクス [#pbbfbd0e]
** 背景 [#ka38b1a9]
近年,企業が独自に持っている技術をサービスとして公開し,企業間においてサービスの連携を行うという新たなビジネスモデルの試みがなされてきており,その手段としてWebサービスが注目されてきています.しかし,Webサービスは新しい技術でありいくつか問題があります.私達はその問題の一つである「Webサービスの品質の測定」というものに着目し研究を行うことにしました.
**アプローチ [#rea66b18]
ソフトウェア品質の測定の指標としてソフトウェアメトリクスというものがあります.そこで,私達は既存のソフトウェアメトリクス(C&Kメトリクス)がWebサービスに適用可能であるかを考察し,その考察結果を基にWebサービスの性能を測定する新たな「Webサービスメトリクス(WSメトリクス)」というものを提案します.
- [[ソフトウェアメトリクスについて>../ソフトウェアメトリクス]]
**C&KメトリクスのWebサービスへの適用可能性 [#qfef97a0]
***Webサービス(サービス指向)の構成例 [#gb84a172]
C&KメトリクスのWebサービスへの適用可能性について考察するにあたって,まずWebサービス(サービス指向)の構成のされ方の一例を下の図で示します.図においては,サービスを適用するWebサービス(以降WS)と,サービスを利用するクライアントアプリケーション(CA)とがあります.WSは従来のオブジェクト指向のように複数のクラスから構成され,外部とのインターフェースとして公開メソッドを持ちます.そして,CAはこの公開メソッドを通じてWSの提供するサービスを利用します.ここで注目するべきところはWS1とWS2はそれぞれ独立しており,従来のオブジェクト指向で設計されるクラス間での密な結合とは異なり,WS間の連携は疎結合の関係になっています.そして,疎結合の関係であるためにWS1やWS2において,何らかの事情で修正があったとしても「外部インターフェースが変化しない」限り,そのサービスを利用するCAはWS1やWS2の変更に伴う修正の労力が少なくて済む事になります.
*** Webサービスの特徴とC&Kメトリクスの適用可能性の考察 [#u718b6d8]
上記のWSの構成例をもとにオブジェクト指向とサービス指向の違いについて考察します.私達は,オブジェクト指向とサービス指向について「単位の粒度」と「結合の仕方」と「継承関係」に着目し,オブジェクト指向ソフトウェアメトリクスであるC&Kメトリクスの適用可能性について考察しました.
|''--''|''オブジェクト指向''|''サービス指向''|
|''単位の粒度''|クラス|サービス(複数のクラスの集合)|
|''結合の仕方''|一般的に密結合|疎結合|
|''継承関係''|有|無|
|''C&Kメトリクスの適用''|適している|困難(再検討が必要)|
まず,単位の粒度に関しては,オブジェクト指向ではクラスというものが単位であるのに対し,サービス指向では複数のクラスから構成されるサービスというものが単位となります.よってサービス指向はオブジェクト指向よりも粒度が大きいといえます.次に,結合の仕方について述べます.オブジェクト指向は一般的に他のクラスとの結合の仕方は密結合であり,サービス指向では疎結合となります.また,継承関係についてはオブジェクト指向ではスーパクラス・サブクラスといった継承関係がありますが,サービス指向ではサービスを提供するもの,利用するものの関係があるだけで継承関係はありません.以上,三つの観点から C&KメトリクスのWebサービスへの適用可能性について考察すると,C&Kメトリクスではクラスの特徴である継承といったやクラス間の結合が密結合であることを前提にクラスを評価しており,Webサービスへの適用は困難もしくは再検討の必要があると考えました.(ただし,サービス単体の評価においては,サービスは複数のクラスから構成されているので適用可能であると考える)
**Webサービスメトリクスの提案 [#i83f57cc]
C&KメトリクスのWebサービスへの適用可能性の考察を踏まえて,私達は新たな4つのWebサービスメトリクスを提案します.
(図中においてCAとはクライアントアプリケーション,WSはWebサービスを表す)
|RFWS(Response For a Web Service)|NOWS(Number Of Web Service)|h
|&ref(./WSM01.png,50%);|&ref(./WSM02.png,50%);|
|RFWSとはCAとWSがやり取りをするメッセージの数を計測します.図の場合では,WS1との間で4個,WS2との間で2個で,RFWSの値は合計で6となります. |NOWSはCAと関連するWSの数を計測します.図の場合では,CAと関連があるのは直接的にはWS1とWS2の二つであり,間接的にWS3が1個あります.よって,NOWSの値は3となります. |
|EMWS(Effective Methods per Web Service)|NHTWS(Number of Hop to Terminus Web Service)|h
|&ref(./WSM03.png,50%);|&ref(./WSM04.png,50%);|
|EMWSは,利用している全てのWSに関して,利用メソッド数の総和を公開メソッド数の総和で割った値を計測します.図の場合では,利用メソッド数の総和はWS1との間に2個 WS2との間に1個であり,総和としては3個となります.一方公開メソッド数の総和はWS1が10個公開メソッドを持っており,WS2は2個もっています.よって,EMWSの値は3÷12で0.25となります. |NHTWSは,CAからの最大のホップ数を計測します.ホップ数とは,図でいう矢印のようにCAからの距離を示します.図ではWS1までが1,WS2までが1,WS3までが2となり,NHTWSの値は2となります.|
**提案するWebサービスメトリクスの評価項目 [#pe36f957]
提案するWebサービスメトリクス(WSメトリクス)で評価できるWebサービスの品質について示します.以下の表において,「○」は当研究室で開発したWebサービスアプリケーションに提案するWSメトリクスメトリクスを適用し,メトリクスの値とWebサービスアプリケーションとの間に関連が見られた項目です.「△」はWSメトリクスを実際に適用して関連があるかを調べたわけではないですが,関連があるのではないかと考える項目です.
|品質項目|RFWS|NOWS|EMWS|NHTWS|h
|機能性|-|-|△|-|
|信頼性|△|△|-|△|
|効率性|○|○|-|-|
|保守性|-|○|-|-|
** 今後の予定 [#sdea37d4]
今後の予定としては,提案するWSメトリクスの評価項目においてより詳細な検証を行う事を考えており,そのためのWebサービスアプリケーションを開発を行おうと思っています.
** 発表文献 [#w8b0a403]
- 串戸 洋平, 石井 健一, 井垣 宏, 中村 匡秀, 松本 健一, ``Ws-Prove を用いたWeb サービスメトリクスの実験的評価,'' 信学技報, 情報ネットワーク研究会, Vol.IN2004-319, pp.367--372, March 2005. [[[PDF]:http://se.aist-nara.ac.jp/achieve/pdf/56.pdf]]
- 串戸 洋平, 石井 健一, 山内 寛己, 井垣 宏, 玉田 春昭, 中村 匡秀, 松本 健一, ``Webサービスアプリケーションのソフトウェアメトリクスに関する考察,'' 電子情報通信学会技術研究報告, ネットワークシステム研究会, No.NS2003-316, pp.113--118, March 2004.[[[PDF]:http://se.aist-nara.ac.jp/achieve/pdf/kushido03NS.pdf]]
[[[< 戻る]>../]]