2011-07-14 5 views
3

.NETアプリケーションを、PythonやLinuxのPHPなどの言語で書かれた他のアプリケーションと統合するには、NServiceBusが適していますか?NServiceBusは、クロスプラットフォームの統合に適していますか?

もちろん、MSMQをActiveMQやRabbitMQなどのキューイングソリューションに置き換える必要があります。私はすでにこれが可能であると読んでいます。しかし、それは実際に実現可能で安定していますか?

さらに、NServiceBusは、他の言語で再実装する必要がある永続的なサブスクリプションを持つpub/subなどの基本的なシナリオに対してどれだけの魔法を実装していますか。

NServiceBusが適切でない場合は、代わりに何をお勧めしますか?

答えて

5

Alebo、私はNServiceBusが他のプラットフォームのコンポーネントを接続するのに適していると信じています。 c#-centricバスを他の技術と橋渡しする「アダプタ」を作成します。私たちはSOAP呼び出しとしてコマンドを受け取るものと、ディレクトリ内のファイルを探すものと、POP3を受け入れるものとがあります。次に、それらのメッセージを単にバスに入れます。公開されたイベントでも同じことをやります。メッセージは、どの言語でも作成して使用できるXMLファイルです。

これはうまく動作し、MSMQプロバイダーを変更する必要はありませんでした。

+0

どのようにして、JavaはMSMQと相互運用できますか?ちょっと興味があるんだけど。ありがとう –

+2

ヒュー、我々はJavaが直接MSMQと対話する必要はありません。 Webサービスを公開するC#でサービス(アダプタと呼ぶ)を作成します。そのWebサービスはXMLメッセージをリッスンし、それらをバス上に配置します。 Javaコードは、そのWebサービスを呼び出します。イベントでは、長いポーリング手法を実装するWebサービスを公開します。それは理にかなっていますか? –

+0

はい、これをクリアしていただきありがとうございます。私は経験から、javaとmsmqの統合の苦痛を知っているので、ちょっと疑問に思った。あなたのソリューションでは、Javaからmsmqへのトランザクションメッセージングを処理することができません。なぜなら、あなたはWebサービスでbasicHttpBindingsを使用する必要があるからです。または私は間違っていますか? –

関連する問題