EIP
A Loosely Coupled Integration Solution(疎結合な統合ソリューションとは) †
サマリ †
統合ソリューションは、チャネル、メッセージ、変換、ルーティング、システム管理、メッセージエンドポイントをもったミドルウェアによって構築しましょう!
詳細 †
- 統合ソリューションとして2つのシステムを繋ぐには、多くの課題を解く必要がある。そこで登場するのが、ミドルウェア=アプリケーション同士を繋ぐ糊。
- ネットワークをまたいで、アプリケーション間でデータを通信するために必要なもの。
- チャネル(channel)
- 通信経路。TCP/IPコネクション、共有ファイル、共有データベース、フロッピーディスク(スニーカーネット)、等
- メッセージ(message)
- 連携するアプリケーションで意味の合意されたデータの断片。データは小さなものから巨大なものまで
- 統合ソリューションにおいて、連携に関わるアプリケーション側を変更することは難しい。内部データ形式の違いはミドルウェア側で吸収してあげる必要がある。
- 変換(translation)
- データ形式を変換する機能
- 統合するシステム数が2つより多くなったとき、データの宛先を個々のシステムに管理させると、組み合わせが増えてきたときに複雑になりすぎて破綻する。宛先の管理はミドルウェアがやった方がいい。
- ルーティング(routing)
- メッセージブローカのようなメッセージを適切な場所へ送る機能
- 複数アプリケーションに対してデータ形式、チャネル、ルーティング、変換をやっていると、統合ソリューションも複雑になる。それ自体が複数のOS、物理的地理に分散していることもある。したがって、それ自体を管理するサブシステムが必要。
- システム管理(systems management)
- データフロー監視、アプリケーションの死活監視、障害監視の機能
- 統合ソリューションはほとんど完成だが、パッケージやレガシーアプリケーションのように簡単に統合に組み込めないものはどうするか。
- メッセージエンドポイント(message endpoint)
- 独自のカスタムコードまたは統合ソフトウェアベンダが提供する出来合いのChannel Adapterを使って、無理やり統合ソリューションに参加させる。