Software Engineering Institute(サイト・英語)が”サービス指向のアーキテクチャの評価”(source)という論説を発行した。
このレポートはSOAライフサイクルの初期段階においてアーキテクチャ評価の基礎として働くであろう。SOAのアーキテクチャ的アプローチとデザイン思考はそのリスクと利点を効果的に特定、また測定するために組織の品質条件に沿って評価されなければならない。
サービスを露呈するアプリケーション統合へのアプローチとしてのサービス指向アーキテクチャの出現で、組織はたくさんの挑戦をもちかけられ、またそれは結果的にビジネスにおいて多大なリスクをもたらした。
特にそのリスクの中でも重要なのはパフォーマンス、有効性、セキュリティ、修正可能性のような品質特性条件を効果的に提示するのに失敗していることである。
なぜならそのリスクとSOAの影響力はアプリケーション全体を通して分配され広がるので、ソフトウェアライフサイクルの初期段階でアーキテクチャのパフォーマンスを行うのは致命的なことなのである。このレポートにはSOAのデザイン思考の技術的な情報、またリスクをタイミング良く特定、軽減するためにアーキテクチャ評価を補助するための代償物を含んでいる。
またこのレポートはSOAの概観、キーとなるアーキテクチャアプローチと品質特質におけるその影響を概説を提供し、またアーキテクチャ評価者が品質条件を満たしているかどうかを分析するために使用するデザイン関連の質問のコレクションを確立し、簡潔なサンプル評価を提供している。
この文献はSOAの紹介文から始まる。サービス指向の規則と特徴が解説され、SOAとWeb Serviceがアーキテクチャ的なスタイル、そしていくつか可能性のある実装の一つとして定義されている。この紹介文はサービス指向アーキテクチャのドライバーに関するディスカッションと共に終わっている。
このレポートのメインの部分はアーキテクチャ的なアプローチとSOAのデザイン思考に関して述べられている。アーキテクチャ的なアプローチはコミュニケーション、統合、構成、サービスの統合に分けられる。著者によればサービスの相互作用は3つの異なるアプローチに実装することが可能である。
Stefan Tilkov氏(サイト・英語)が自身のブログ上で解説した三つのSOAスタイル(source)に準拠している特質は、RPCスタイルWebサービス、メッセージ指向のWebサービスとRESTである。
統合とサービス構成はポイントからポイントへの繋がりとコンポジットサービスから直接実装が可能である。 もう一つの案としてEnterprise Service Bus(ESB)やBPEL連携エンジンのような仲介ソフトウェアを使用することによってそれらは認識されるかもしれない。
アーキテクチャ的なアプローチに関するディスカッションは、サービスが動的にサービスレジストリを通して、もしくは静的にプロキシコードか設定ファイル内のサービスエンドポイントを定義することによって拘束されるべきかどうかという疑問を強調している。
アーキテクチャ的なデザインの決定は品質特性かもしくは非機能的条件を考慮して下さなければならない。典型的なSOAデザインの決定には下記のトピックが含まれている。
- ターゲットプラットフォーム
- 同期 vs 非同期のサービス
- サービスの粒度
- 例外処理と障害回復
- セキュリティ
- XML最適化
- レジストリ、またはサービスの使用
- レガシーシステム統合
- BPELとサービス編成
- サービスバージョニング
これらのトピックそれぞれは品質特性の視点において簡潔に解説、議論されている。サンプル評価の質問はどちらのオプションがより効率良くシステム条件を成し遂げるかという決断を下すのに助けとなる。
レポートはSOAアーキテクチャの評価サンプルと共に幕を閉じている。そのサンプルはSEIによって開発されたArchitecture Tradeoff Analysis Method (ATAM)(source)に準拠している。
SEIのArchitecture Tradeoff Analysis Method® (ATAM®)はソフトウェアアーキテクチャ評価の分野においてリードしているメソッドである。
ATAMを使用した評価は通常3、4日かかり、定評ある評価チーム、アーキテクト、アーキテクチャのいろいろなステークホルダーの代表者達が集められる。
- 具体的な品質特性条件
- 向上したアーキテクチャのドキュメンテーション
- アーキテクチャ的な決定用のドキュメント化された基礎
- ライフサイクルの初期段階において特定されたリスク
- ステークホルダー間で増加したコミュニケーション
このレポートはサービス指向という観点においてアーキテクチャ的なアプローチとデザイン決定の分かりやすい概説を提供し、またSOAの評価方法としてATAMを紹介している。