SOAを実現させる技術
2006年7月10日(月)
前回より
前回ではSOAが何であるかを説明し、その中で疎結合が重要であると説明した。さらに疎結合のレベルを3つにわけて(図1)、SOAの指針を示した。
このレベル3こそが、SOAが求める疎結合のレベルとなる。そして今回はSOAを実現させるための技術を解説する。
疎結合のレベルを高めるための指針
まず疎結合のレベルをあげるためには、次のようなことを考える必要がある。
- RPC指向よりもメッセージ指向に
- インターフェースの堅牢性と情報構造の柔軟性を保つ
- 同期よりも非同期
- ヘテロジニアス環境で実現する
- 結合要素間のプロトコルは変更可能にせよ
表1の指針は筆者が考えたものだが、実は別の人も同様のことを考えている。
密結合 | 疎結合 | |
---|---|---|
対話形式 | 同期 | 非同期 |
メッセージング形式 | RPC | ドキュメント |
メッセージパス | ハードコードされる | ルーティングされる |
技術の混合 | 同種のみ | 異種も可能 |
データ型 | 依存 | 非依存 |
構文定義 | 規約による合意 | 公開されたスキーマによる |
バインディング | 固定で、遅延なし | 遅延 |
セマンティックの適応性 | 再コーディングによる | 変換を介する |
ソフトウェアの目的 | 再利用、効率 | 広い適応可能性 |
結果 | 予測可能 | 予測不能 |
表2と比べてみても、筆者の考えた指針は的外れではないであろう。
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。