私はアーキテクチャパターン、エンタープライズサービスバス(ESB)を正確に調べています。この記事を読んだとき エンタープライズ統合 、そしてほとんどまたはまったく経験がないので、BizTalkがESBなのか、それとも単なるEAI(ハブ/スポークまたはバス)なのか疑問に思います。
私はこれを見つけました NServiceBusとBiztalk 、BizTalkを中央のメッセージブローカーとして説明しています。
他のESBフレームワーク(NServiceBusおよびRhino Service Bus)を考慮に入れます。これらのフレームワークには、メッセージを処理するための中心的なポイントがありません。
BiztalkはESBではなくEAIですか?
どうもありがとう
BizTalkは、ESB機能を備えているとしてMicrosoftによってパントされています BTS ESBツールキット を参照してください
ただし、「ESB」という用語は非常に 広いフィールド をカバーしており、ESBの正確な定義については多くの主観があります。私見では、ESBとして包括的であるというBizTalkの主張には弱点があります(2010年を超える用語の定義)。
FWIW私たちはBTSが以下に適していることを発見しました:
更新、さらにいくつかの比較経験
BizTalkは、メッセージングおよびワークフローのオーケストレーションプラットフォームであり、ESBの動作と機能を構築できます。これを簡単にし、BizTalkでのESB実装を標準化するために、MicrosoftはBizTalk ESB Toolkit(一連のガイドライン、パターン、およびコード)をリリースしました。
EAIとBPMの概念はしばらく前から存在しているため、BizTalkを利用してこれらの問題の解決策を作成している企業はたくさんあります。 BizTalkサーバーで完全なESBをホストする企業ははるかに少なく、WCF/WF/NServiceBus、そしてもちろんAzure ServiceBusの登場で採用は確実に遅くなっています。
したがって、要約すると、BizTalkはEAIまたはESBのどちらでもありませんが、問題に適用された多くの開発者が両方を実行できます。
「EAIまたはESB "」によってBizTalkがHub&Spokeまたはバスアーキテクチャのどちらに準拠しているかを知りたいと思います。
アーキテクチャパターンの観点から、統合ソリューションは大まかに2つのパターンのいずれかに分類されます-
ハブアンドスポーク:これには、中央のメッセージブローカーがさまざまな受信者にメッセージを送信する一方で、すべての送信者がメッセージをこのブローカーにのみ送信することが含まれます。したがって、送信者も受信者もお互いを認識する必要はありません。これは通常、多くの人がEAIと呼んでいるものです(ただし、BUSパターンに従うEAIソリューションを実装することは絶対に可能です)。このパターンに従ったソリューションは、開発と管理が簡単です。すべてのルーティングロジックは、ハブ内の1か所で一元管理されます。しかし、ご想像のとおり、これには明白な欠点があります。単一障害点です。ハブがクラッシュすると、すべてが停止します。また、このモデルはあまり拡張性がありません。
[〜#〜] bus [〜#〜]:このパターンに基づいて開発されたエンタープライズ統合ソリューションは、一般にESBと呼ばれます。ここにはインテリジェントな中央機関はありません。すべての送信者は、バス上でメッセージを公開します。受信者は、どのメッセージが受信者向けであるかを判断し、それらをバスから離すのに十分なインテリジェントである必要があります。したがって、送信者と受信者はバスを認識するだけで済みます。ただし、ここではルーティングロジックがレシーバー全体に分散しているため、単一障害点はありません。また、このモデルは非常にスケーラブルです。ただし、このようなソリューションは非常に複雑で、管理が困難です。
BizTalkはどちらのパターンに従うのかという質問に答えると、これら両方のパターンのハイブリッドです。
ハブのような外観は、一元化されたメッセージングエンジンと一元化されたMessageBoxデータベースで非常に明白です。これにより、ハブアプローチに典型的な管理の単純さと容易さが得られます。
ただし、BizTalkアーキテクチャを見ると、ホストとそのホストインスタンスを複数のサーバーに分散させることができます。 MessageBox、Tracking、EntSSOなどのさまざまなBizTalkデータベースをさまざまなサーバーに構成することもできます。これにより、BizTalkソリューションは、通常のハブ実装よりもスケーラブルでフォールトトレラントになります。これは通常、バスアプローチに起因する動作です。
これがあなたの質問に答えることを願っています。
BizTalkは確かにESBです。 EAIは、より緩い概念です。BizTalkは、EAIをサポートするために確実に展開でき、さらに多くのことを実行できます。
BizTalkはESB以上のものですが、確かに法案に適合します。 このリンク 少し古いですが、あなたの正確な質問に答えます。
編集:ここに より最近のMSリンク 実装の詳細に入ります。
私はここで言われていることのほとんどに同意します。 EBSツールキットを使用しても、BizTalkを包括的なEBSソリューションとして売り込むのは簡単ではありません。
ここで行われたいくつかのポイントに対処するには...
•BTSは、同期プロセスよりも非同期プロセスに適しています。レイテンシは、システムの負荷、スロットル状態などによって異なります。
デフォルトが変更されていないBizTalkホストは、低遅延には理想的ではありません。ただし、これらのホストは調整することを目的としています。すぐに使用できる構成は、スループットが必要な状況には適していません。 BizTalkが敬遠されている組織に足を踏み入れた私の経験では、その真ん中には常に調整されていない単一のホストセットアップがあります。これは、インデックスのないdbmsでテーブルを作成し、パフォーマンスの問題を取得し、dbms自体がダメだと言うことにいくぶん似ています。
•サービスとスキーマのバージョン管理の容易さに関しては、BTSは面倒です(新しい展開が必要です)
他の開発プラットフォームと同様に、展開戦略が必要です。スキーマの名前空間にバージョンがある場合は、何も再デプロイする必要はありません。新しいバージョンは、何も削除せずに展開される可能性があります。
サービスエンドポイントに関する限り、BizTalkはIISを使用せずにWebサービスをホストできます(BizTalkはIISと同じように)HTTP.SYSを使用してホストできます) 。BizTalkでインプロセスサービスをホストするには、BizTalkで何も停止せずに実行できるバインディングをインポートするだけです。これらのエンドポイントでは、バージョン管理も実装できます(http:.../things/v1、http: .../thing/v2など)。
とにかく〜5年が経過しましたあなたは今までに結論に達したと確信しています:)
「ESBツールキット」のないBiztalkサーバーはESBではありません。次の理由により:
あなたの質問に関しては、はいBizTalkServerはEAI製品です
絶対に! BiztalkはEISのバックグラウンドに由来します。これは、ハイブリッド技術プラットフォームにまたがるサービス指向アーキテクチャのインフラストラクチャバックプレーンとしてのESBにとって完全に理にかなっています。
以前の会社では、機能性と低コストの理由から、IBMESB製品よりもBiztalkを選択しました。
それはマイクロソフトなので、あなたはあなたが支払うものを手に入れますが、それでも調べる価値があります。
BizTalkは、EAIとESBの両方として使用できます。
ESBの場合、BizTalkサーバーアーキテクチャは公開サブスクライブされており、メッセージングバックボーンバスとして機能するメッセージボックスに単一のメッセージを公開できます。そのメッセージは、そのメッセージにサブスクライブしている1つ以上の宛先システムで受信できます。もちろん、マッパーツールやパイプラインコンポーネントの使用など、BizTalkサーバーを使用して取得できる機能は他にもあります。
BizTalkは、EAIとして使用するために、ビジネスロジックを管理するオーケストレーション、システムに接続するためのLOB(基幹業務)アダプター、マッパーツール、ルールエンジン、およびさまざまなものを統合するために必要な多くのものを提供します。社内外のシステム。
BizTalkは、biztalkアプリケーションの設計方法に応じて、ESBとEAIの両方を実行できます。