103

NServiceBusについての話を聞いたことがありますが、それが何であるかはよくわかりません。彼らは、「.net 向けの最も人気のあるオープン ソース サービス バス」であると主張しています。

サービス バスとは何ですか? また、いつ必要になりますか?

4

3 に答える 3

81

サービス バスは、SOA のイーサネットと考えることができます。

何よりもまず、イーサネットの IP アドレスのようなものを識別する言語を導入します。この名前は本質的に物理的なものではありません。

次に、半接続通信をサポートするためのバスの場合のキューや、比喩的なイーサネット カードなど、各ノードに物理的な関係があります。

物理的なものだけでなく、イーサネットの OSI スタックなど、通信の「プロトコル」部分があります。バスの場合、これはアプリケーション コードで使用されるクライアント ライブラリです。

最終的に、サービス バスは、分散システムを構築するための 1 つ上のレベルの抽象化を提供するものと見なすことができます。クライアントとサーバーの通信にも使用して、永続的な一方向のメッセージングを提供したり、サーバーが通知をクライアントにプッシュバックしたりすることができます。

具体的には、RabbitMQ、MSMQ、Regular SQL Tables、Amazon SQS、Azure Storage Queues、および Azure Service Bus から選択したキューイング テクノロジの使用に慣れると、NServiceBus は非常に軽量で使いやすいことがわかります。

于 2010-04-28T05:28:03.823 に答える
12

Enterprise Service Busに関するウィキペディアの記事を参照してください。

Service Bus は、優れたサービス指向アーキテクチャを実装するための終わりのない探求において、さらにもう 1 つの抽象化レイヤーとして機能します。Service Bus は、メッセージング、ルーティング、サービス調整など、優れたサービス指向アーキテクチャの背後にある重労働の一部を処理できます。

なぜそのようなものが必要なのかわからない場合は、優れたサービス指向アーキテクチャを構成するものについて読むことをお勧めします。私の目を本当に開き、Web サービスを持つことと真のサービス指向アーキテクチャを持つことの違いを証明した本は、Thomas Erl のService-Oriented Architecture: Concept, Technology, and Designでした。

于 2010-04-27T20:27:15.600 に答える
11

この用語は、ある意味でEAIの後継(流行語として)であるSOAで導入されました。

あなたがそれを必要とするとき?それは良い質問です。それは多くの複雑さを伴います。

経験則では、それが引き起こすよりも多くの問題を解決する場合があります。

異種環境があり、(異なる)アプリケーションを(異なるテクノロジーを使用して)ビジネスプロセスに合わせたい場合は、真剣に考えてください。次に、オーケストレーションコレオグラフィーにBPELを使用すると役立つ場合があります(ただし、これにより、移行によって問題が発生します)。

編集:ウィキペディアにないのは実践です:ESBは、相互運用性を意味するCorbaまたはJavaEnterpriseで使用するための特別なコネクタや古い端末アプリケーションを使用して適応できます。欠点は、SOAPに関する100を超える「標準」であり、多大な努力なしには協力しません。

2つの大手保証会社が合併してから6か月以内にITシステムを相互接続する必要がある場合は、間違いなく必要です。

于 2010-04-27T20:58:43.023 に答える