11

それらには多くの共通の機能があります。しかし、どのように違いがありますか?

MOM は非同期を許可しますが、SOA は許可しません。これが唯一の違いですか?

4

2 に答える 2

22

SOA (Service Oriented Architecture) は、異なるアプリケーション間でビジネス情報へのアクセスを構造化する方法を定義するアーキテクチャです。簡単に言えば、通常、1 つのアプリケーションは、そのアプリケーションが必要とする情報 (オーダーファイルなど) を処理する必要があります。別のアプリケーションは、その情報に対応する処理を実行できる可能性があるため、機能を備えています。次に、最初のアプリケーションは、サービスを提供する 2 番目のアプリケーションのサービスを消費します (JMS、HTTP/SOAP、HTTP/REST、電子メール、FTP など、基礎となるテクノロジに関係なく)。これを機能させるには、最初のアプリケーションとサービスの間のコントラクトを定義する必要があります。これにより、メッセージ フォーマット (XSD または類似のもの)、プロトコル (HTTP/SOAP? JMS?) などがクリアされます。

一方、MOM (メッセージ指向ミドルウェア) は、単なるソフトウェア/ミドルウェア プラットフォームのファミリーです。これらは実際の実装であり、SOA のような高レベルの概念ではありません。それらを使用して、SOA アーキテクチャ、イベント駆動型アーキテクチャ、またはその他のアーキテクチャを実装できます。通常、MOM は、MOM サーバーがメッセージを格納および転送する非同期メッセージングを使用して一連のアプリケーションを強化します。多くの場合、トランザクション、保証された配信、フェールオーバー、疎結合、負荷分散などの機能が MOM 実装に組み込まれています。MOM の例としては、IBM WebSphere MQ、Apache ActiveMQRabbitMQ、JBoss HornetQなどがあります。

于 2012-07-30T23:56:03.783 に答える
8

メッセージ指向ミドルウェア (MOM) は、SOA がアーキテクチャの一種であるテクノロジーの一種です。多くの人が SOA について話すとき Web サービスについて考えますが、MOM を使用してそれを実装することもできます (実際、多くの場合、それがより良いオプションです)。

于 2012-07-25T09:50:07.140 に答える