Puede utilizar WebSphere Message Broker para conectarse con aplicaciones que utilizan sockets TCP/IP puros para la transferencia de datos.
Los sockets de TCP/IP proporcionan un forma fácil de conectar programas informáticos entre ellos, y este tipo de interfaz se añade normalmente a aplicaciones autónomas existentes. TCP/IP proporciona un mecanismo para transferir datos entre dos aplicaciones que pueden estar ejecutándose en sistemas distintos. La transferencia de los datos es bidireccional; siempre y cuando se mantenga la conexión TCP/IP y no se pierde ningún dato, se conserva la secuencia de los datos. Una ventaja considerable de utilizar directamente TCP/IP es que es rápido y sencillo de configurar, lo que lo convierte en un mecanismo útil para procesos que no requieran la persistencia de mensajes (por ejemplo, la supervisión).
No obstante, la utilización de sockets de TCP/IP para transferir información entre programas tiene algunas limitaciones:
Por estos motivos, puede ser preferible utilizar un mecanismo de transporte como WebSphere MQ, que no tenga ninguna de estas limitaciones. Sin embargo, si tiene aplicaciones existentes que utilizan sockets TCP/IP puros para transferir datos, puede utilizar los nodos TCP/IP de WebSphere Message Broker para conectarse a las aplicaciones sin tener que habilitarlas para WebSphere MQ, lo que le permite desarrollar rápidamente una solución de WebSphere Message Broker.
Una conexión TCP/IP entre dos aplicaciones tiene un extremo de cliente y un extremo de servidor, lo que significa que una aplicación actúa como servidor y la otra como cliente. Los términos cliente y servidor sólo hacen referencia al mecanismo utilizado para establecer una conexión; no se refieren al patrón de intercambio de datos. Cuando se haya establecido la conexión, el cliente y el servidor podrán realizar las mismas operaciones y enviar y recibir datos. El siguiente diagrama ilustra las ubicaciones de aplicaciones de cliente y servidor.
El servidor puede aceptar más conexiones de otras aplicaciones de cliente. Estas conexiones pueden estar en el mismo proceso, en proceso distintos del mismo sistema o en un sistema diferente:
Solamente puede haber una aplicación de servidor pero se puede conectar cualquier cantidad de procesos de cliente distintos a la aplicación de servidor. Cualquiera de estas aplicaciones (de cliente o servidor) puede tener múltiples hebras, lo que les permite utilizar múltiples conexiones.
Cuando se haya establecido la conexión, existirán dos secuencias de datos: una para los datos entrantes y la otra para los datos salientes.
Los extremos de la conexión del cliente y el servidor son idénticos y ambos pueden realizar las mismas operaciones. La única diferencia entre ellos es que la corriente de salida del cliente es la corriente de entrada del servidor, y la corriente de entrada del cliente es la corriente de salida del servidor.
Las dos corrientes de datos son independientes y se puede acceder a las mismas simultáneamente desde ambos extremos. No es necesario que el cliente envía datos antes que el servidor.
El ejemplo que se muestra en el diagrama anterior se puede simplificar de la forma siguiente, mostrando que el cliente y el servidor tienen acceso a un socket que tiene una corriente de entrada y una corriente de salida.