アプリケーション連携とは、複数のアプリケーションやサービスが有機的に連携することで大きなビジネス プロセス (業務処理) を実現することを目的としています。
フィオラノでは、このアプリケーションの連携に、BPEL に代表されるプロセス記述による方法を採らず、メッセージングによるイベント駆動によるコレオグラフィ連携を採用しています。
|
バス形式とコレオグラフィ採用の理由
フィオラノが BPEL によるハブ & スポーク形態を避け、イベント駆動によるコレオグラフィを採用して理由については、次の弊社ブログ記事をご参照ください。
|
Fiorano ESB は、2つの主要なアーキテクチャ デザインに基づいています。
- マイクロ サービス アーキテクチャ
- ピア ツー ピア 分散アーキテクチャ
下図は、このコンセプトを図式化したものです。
|
図 1 - Fiorano ESB のアーキテクチャ デザイン
|
Fiorano ESB のデザイン ゴールは、以下に挙げる 3つの重要なポイントを実現することです。
- ネットワーク的にも地理的にも分散された拠点 (企業内の部門や取引先企業) を一本の ESBでカバー
- ビジネス プロセスは中央のプロセス エンジン上ではなく、各拠点をまたがる一本の ESB 上で実行
- ビジネス プロセスを記述言語によって定義するのではなく、
実際に実行可能なソフトウェア コンポーネントを繋ぎ合わせることで構築する
Fiorano ESB は、地理的にもネットワーク的にも分散された各拠点をまたがった1本のバスとして機能します。
中央サーバーの上でプロトコルやデータ スキーマの変換を行うプロセス エンジンとは異なり、ハブ&スポークの欠点を解消するという ESB 本来の目的に合致している形式です。
ビジネス データはサービスからサービスへ ESB のメッセージング機能を利用して送られます。
これを実現するために、Peer server (ピア サーバー) と呼ぶ小さなソフトウェア サーバーを配置し、
Peer サーバー 間でビジネス データの送受信が行えるようにしました。
Peer サーバーは、
- サービス間のデータ交換
- Peer server 間のデータ交換
を、中央のアプリケーション サーバーやブローカーなどを必要とせずに行います。
ピア サーバー間通信は SSL によってファイヤーウォールを越えることを可能としています。
これにより、企業内の支社や配送センター、クラウド、工場、さらには取引先などのパートナー企業などをまたがった、一本のバスを形成できます。
|
|
Fiorano ESB における連携フローは、下図に示すように、マイクロサービスによるコレオグラフィが仮想的な一本のバス上で実行されます。
|
図 2 - Fiorano ESB の連携フロー
|
Fiorano ESB では、あらゆる連携シナリオをサポートできるよう、数多くの種類のマイクロサービスをプリビルトして製品にバンドル (同梱) しています。
これらのプリビルト マイクロサービスはm、次の 2種類に大別できます。
- アダプター マイクロサービス
外部のサービスが保有するビジネス ロジックを呼び出しあるいは駆動するコンポーネント
- メディエーション マイクロサービス
データ変換/マッピング、ルーティングなどのメディエーションを実行するコンポーネント
ユーザー独自のマイクロサービスを構築するための IDE (開発環境) も用意されおります。
|
図 3 - マイクロサービスのタイプ
|
Fiorano ESB 上に構築された BPM フローは、単体のサービスとして他システムから呼び出すことができます。
複数のアプリケーションを連携した Fiorao ESB の BPM フローは、いわゆるコンポジット アプリケーションとして、単体のサービス (アプリケーション) として扱うことができます。
|
|
|