SOAを実現させる技術

2006年7月10日(月)
高安 厚思

前回より

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


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

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

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

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

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

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

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

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

株式会社オープンストリーム テクニカルコンピテンシーユニット 主管システムズアーキテクト

横浜国立大学経営学部卒。銀行系シンクタンクでオブジェクト指向技術の研究に携わった後、大手SIerにて アーキテクチャ構築、プロセス研究に携わった。現在株式会社オープンストリームにてSOAを中心とする研究開発およびアーキテクチャ構築に従事。最近は XMLのダイナミックさに魅了されている。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています