柔軟性の高いシステムを目指すSOA/ESB 2

SOAを実現させる技術

前回より   前回ではSOAが何であるかを説明し、その中で疎結合が重要であると説明した。さらに疎結合のレベルを3つにわけて(図1)、SOAの指針を示した。図1:疎結合の分類(再掲)(画像をクリックすると別ウィンドウに拡大図を表示します)   このレベル3こそが、SOAが求める疎結合のレベルとなる。

高安 厚思

2006年7月10日 20:00

前回より

   前回ではSOAが何であるかを説明し、その中で疎結合が重要であると説明した。さらに疎結合のレベルを3つにわけて(図1)、SOAの指針を示した。


疎結合の分類(再掲)
図1:疎結合の分類(再掲)
(画像をクリックすると別ウィンドウに拡大図を表示します)

   このレベル3こそが、SOAが求める疎結合のレベルとなる。そして今回はSOAを実現させるための技術を解説する。

疎結合のレベルを高めるための指針

   まず疎結合のレベルをあげるためには、次のようなことを考える必要がある。

  • RPC指向よりもメッセージ指向に
  • インターフェースの堅牢性と情報構造の柔軟性を保つ
  • 同期よりも非同期
  • ヘテロジニアス環境で実現する
  • 結合要素間のプロトコルは変更可能にせよ
表1:疎結合のレベルをあげるためには

   表1の指針は筆者が考えたものだが、実は別の人も同様のことを考えている。

  密結合 疎結合
対話形式 同期 非同期
メッセージング形式 RPC ドキュメント
メッセージパス ハードコードされる ルーティングされる
技術の混合 同種のみ 異種も可能
データ型 依存 非依存
構文定義 規約による合意 公開されたスキーマによる
バインディング 固定で、遅延なし 遅延
セマンティックの適応性 再コーディングによる 変換を介する
ソフトウェアの目的 再利用、効率 広い適応可能性
結果 予測可能 予測不能
表2:密結合 vs 疎結合
出典:疎結合 -Web Serviceの残された課題(新紀元社刊)

   表2と比べてみても、筆者の考えた指針は的外れではないであろう。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る