WebSphere® Message Broker を使用して、データの転送にロー TCP/IP ソケットを使用するアプリケーションに接続できます。
TCP/IP ソケットにより、単純な方法でコンピューター・プログラムを一緒に接続できます。一般的にこのタイプのインターフェースは既存のスタンドアロン・アプリケーションに追加されます。 TCP/IP は、2 つのアプリケーション間でデータを転送する機構を提供します。2 つのアプリケーションは別々のコンピューター上で実行していてもかまいません。 データの転送は双方向で、TCP/IP 接続が維持されていてデータの損失がない限り、データの順序が保持されます。 直接 TCP/IP を使用する場合の大きな利点の 1 つは、構成するのが迅速で単純なので、メッセージ持続性を必要としないプロセス (モニターなど) にとって便利な機構である点です。
しかし、プログラム間で情報を転送するのに TCP/IP ソケットを使用するには、いくつかの制限があります。
これらの理由で、WebSphere MQ などの上記の制限のないトランスポート機構を使用する方が優れている場合があります。 しかし、ロー TCP/IP ソケットを使用してデータを転送するアプリケーションが既にある場合は、WebSphere Message Broker TCPIP ノードを使用してアプリケーションに接続できます。この場合 WebSphere MQ 用に使用可能にする必要はありません。これにより WebSphere Message Broker ソリューションを迅速に開発することができます。
2 つのアプリケーション間の TCP/IP 接続にはクライアント側とサーバー側があり、このことは一方のアプリケーションがサーバーの働きをし、他方のアプリケーションがクライアントの働きをすることを意味します。 クライアントおよびサーバーという用語は、接続の確立に使用する機構のみを指します。データ交換のパターンは指しません。 接続が確立されていると、クライアントとサーバーは両方とも同じ操作を実行し、両方ともデータを送受信できます。 以下の図に、クライアント・アプリケーションとサーバー・アプリケーションのロケーションを示します。
サーバーは、他のクライアント・アプリケーションからさらに接続を受け入れることができます。 これらの接続を同じプロセス中に含めたり、同じコンピューター上の別のプロセス中に含めたり、別々のコンピューター上に含めたりできます。
サーバー・アプリケーションは 1 つしか存在できませんが、そのサーバー・アプリケーションにいくつでもクライアント・プロセスを接続できます。 これらのアプリケーション (クライアントまたはサーバー) はいずれも、マルチスレッド化して、複数の接続を使用できるようにすることが可能です。
接続が確立されたときには、インバウンド・データ用とアウトバウンド・データ用の 2 つのデータ・ストリームが存在します。
接続のクライアント側とサーバー側は同一で、両方とも同じ操作を実行できます。 それらの間の唯一の違いは、クライアントの出力ストリームがサーバーの入力ストリームであり、クライアントの入力ストリームがサーバーの出力ストリームであるということです。
データの 2 つのストリームは独立しており、両方の側から同時にアクセスできます。 サーバーの前にクライアントがデータを送信する必要はありません。
上記の図で示されている例を下記の方法で単純化できます。下記の図は、クライアントとサーバーに、入力ストリームと出力ストリームのあるソケットへのアクセス権があることを示しています。