Jack Van Hoof氏(リンク)は、Federated Service Bus基盤がどのようにモデルとなるのか規範的ガイダンス(リンク)を提示した。それにより、関係企業が求める彼らのレベルのさまざまな部門で受け入れられた。彼の意見によると、ESBという言葉にはサービスを提供する視聴者のスコープについてはあまり語られていないため、ここではさらにフェデレーションのレベルに基づいてさらにESBを分類することにする。
このパターンは、複合論理バスからなるFederated Service Bus基盤に関心をよせた4つのレベルを提案するものである。
- アプリケーションレベル - アプリケーションレベルのサービスバスは、きめの細かいアプリケーションレベルプロセスと、活動監視をサポートする。各アプリケーションはそれぞれの論理バスとならなければならない。実際には、この境界は通常JMS(java)やWCF(.net)を使用したアプリケーションサーバー内のアプリケーションネームスペースの中で実施される。
- ドメインレベル - ドメインとは、人材管理や財務、物流、販売、買収のような機能結合体である。 このレベルのサービスバスはクロスアプリケーションプロセスをサポートするものであり、異なったドメインの境界の中で活動監視をしている。ドメインはまた、一般的なサービスをドメインのアプリケーションでアクセスできるようにしている。 あらゆるドメインバスにはそれぞれのドメインが存在している。
- 法人事業レベル - 法人レベルのサービスバスは、クロスドメインプロセスと、活動監視をサポートしている。法人レベルでは、一つのコーポレートバスで企業がドメインによってにアクセスできるようにしている。
- 外部レベル - 外部レベルサービスバスは企業が海外の取引先や顧客、サプライヤと交流するのをサポートしている。
この分類化によって、これらのバスは自然と企業内でタイプごとに分類され、もし複合体が効果的なモデルではない場合、『スパゲディ』と呼ばれるよう警告している。この分類化によって、これらのバスは自然と企業内でタイプごとに分類され、もし複合体が効果的なモデルではない場合、『スパゲディ』と呼ばれるよう警告している。
このパターンによって、相互の層状構造は、自治体が望む境界やまだ管理が可能でない構造を維持できるようになった。この相互の層状構造は、階層的な親子コミュニケーションのアプローチをもたらす。子は一つの親のみを有し(唯一の比喩でいうと、家族)、親は複数の子を有する。たとえば、アプリケーションは一つのドメイン(n:1)の子であり、ドメインは複数のアプリケーション(1:n)の親となる。
これを説明することによって、彼は『スパゲティ』現象を防ぐために以下のようなルールを推奨している。
- 子供レベルプロセスはメッセージを親バスに伝達する。
- 親レベルプロセスはメッセージを子供バスに伝達する。
- 下方スキップレベルは常に親バスから子供バスにメッセージが伝達される。
- 上方スキップレベルは常に子供バスから親バスにメッセージが伝達される。
- 親レベルバスは、子供Bバスにサービスをすることもある。
彼はまた、それを実行させるのは以下の習慣に示すように簡単にはいかないということを提起している。
- 政治的配慮
ドメインモデルは、主に自主基盤を成形し、それは組織的に文化や歴史、強大な力によってもたらされる。ドメインはアプリケーションやツール、プラットフォームのようなITリソースに対して、独自の選択を行う傾向がある。
- 相互運用的配慮
Federated service bus基盤に関して、違う商品を使うことや相互運用をサポートすることは、現在のIT産業の中で主な焦点となっている。
Jack氏は、サービスバス基盤をモデリングする論理的方法を提起している。詳細は彼の原文(リンク)を参照のこと。