複数のアプリケーションの中間に位置して、それらの間の「配管」をする新たな独立したソフトウェアが必要なのは明らかだった。そのようなソフトウェアは、異なるプラットフォーム、異なるプログラミング言語、各種通信プロトコル、様々なハードウェアを扱える必要があった。すなわち、基盤となるインフラストラクチャーの複雑さを切り離すことで、開発者が個々のアプリケーションの機能開発に注力できるようになる。
利点.
メッセージベースの通信プロトコルの利点は、メッセージを送達する過程で保管したり、ルーティングし、変換することが可能な点にある。
格納.
多くのメッセージ指向ミドルウェアは、転送されるメッセージのバックアップを保持することで永続性を提供する。すなわち、送信側と受信側は同時にネットワークに接続されている必要はない。これは、ネットワークの品質が低いとか、ユーザーが不定期に接続してくる場合とか、接続に時間制限がある場合など、接続が断続的な場合に特に便利である。また、受信側で問題が生じてアプリケーションが停止してしまっても、送信側はそれに影響されることなく送信を続け、メッセージを格納しておいて、後で受信側アプリケーションが再開したときに処理が行われる。
ルーティング.
変換.
メッセージ指向ミドルウェアでは、受信側が受け取るメッセージは送信側が送ったメッセージそのものである必要はない。知的なシステムでは、送信側や受信側の要求に応じてメッセージの変換が可能である。ルーティングやブロードキャスト/マルチキャストと組み合わせると、あるアプリケーションがメッセージを自身の形式で送り出し、複数の受信アプリケーションがそれぞれ固有の形式に変換されたメッセージを受け取ることも可能である。最近のメッセージ指向ミドルウェアは洗練されたメッセージ変換ツールを持っており、プログラマがGUIによるドラッグ・アンド・ドロップ操作で変換規則を指定できるようになっている。
欠点.
メッセージ指向ミドルウェアの主な欠点は、アーキテクチャ上、外部コンポーネントであるメッセージ転送エージェントを必要とするという点に根ざしている。一般に、新たなコンポーネントを加えると、システムの性能が低下し、信頼性も低下する。さらに、システム全体として見たときに保守が難しくなり、コストもかかるようになる。
標準規格の欠如.