EIP / A Loosely Coupled Integration Solution


EIP

A Loosely Coupled Integration Solution(疎結合な統合ソリューションとは)

サマリ

統合ソリューションは、チャネル、メッセージ、変換、ルーティング、システム管理、メッセージエンドポイントをもったミドルウェアによって構築しましょう!

詳細

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