Ejecutar el ejemplo de Nodos de cliente TCPIP
Después de importar y desplegar el ejemplo, puede ejecutarlo siguiendo las instrucciones de las secciones Ejecutar el ejemplo asíncrono
y Ejecutar el ejemplo asíncrono.
Para obtener información acerca de las opciones de control de corrientes disponibles en el separador Avanzado consulte Opciones avanzadas.
Para obtener una visión general de cómo funcionan y están configurados los nodos, consulte Visión general de TCP/IP en la documentación de WebSphere Message Broker.
Este ejemplo también se puede ampliar para comunicarse con un servidor TCP/IP separado; consulte Ampliación del ejemplo de Nodos de cliente TCPIP.
Si encuentra cualquier tipo de problema al ejecutar el ejemplo, consulte Resolución de problemas cuando se ejecutan ejemplos en la documentación de WebSphere Message Broker.
Este ejemplo utiliza los flujos de mensajes TCPIPAsyncIn, TCPIPAsyncOut y TCPIPServerSimulation.
Para ejecutar el ejemplo:
- En la vista Desarrollo de intermediario, expanda el proyecto TCPIPClientNodesSampleFlowProject.
- Expanda el directorio Pruebas de flujo y
efectúe una doble pulsación en TCPIPAsyncTest.mbtest para abrir
el mensaje en el Cliente de prueba.
Pulse Colocar en cola.
- Pulse Enviar mensaje en el panel
Propiedades detalladas.
Se producen los sucesos siguientes:
- Se coloca un mensaje de solicitud de WebSphere MQ en la cola TCPIP_ASYNC_IN.
Esta solicitud la lee el flujo de mensajes TCPIPAsyncOut.
- El nodo JavaCompute comprueba si el nombre de host del servidor y número de puerto se especifica en el cuerpo del mensaje. Estos campos todavía no se han establecido y el nodo JavaCompute no tiene ningún efecto.
Para ver un ejemplo de cómo se utiliza este nodo JavaCompute, consulte Ampliación del ejemplo de nodos cliente TCPIP.
- El mensaje se envía utilizando el nodo TCPIPClientOutput en el puerto 7777.
En el separador Petición de este nodo, la propiedad Ubicación de ID de respuesta asociado a esta conexión TCP/IP está establecida en WebSphere MQ ReplyToQ.
- El nodo TCPIPServerInput del flujo TCPIPServerSimulation está escuchando en el puerto 7777 y acepta la conexión del nodo TCPIPClientOutput.
- El flujo TCPIPServerSimulation rectifica el mensaje añadiendo
<ServerUpdate>OK</ServerUpdate> y vuelve a enviar el mensaje al puerto 7777.
- El nodo TCPIPClientInput del flujo de mensajes TCPIPAsyncIn recibe los datos.
El nodo TCPIPClientInput restaura la propiedad WebSphere MQ ReplyToQ desde el ID de respuesta asociado a la conexión.
- El mensaje se vuelve a propagar a través de un nodo MQReply.
- Pulse Extraer de la cola.
- Pulse Obtener mensaje en el panel Propiedades detalladas.
- Compruebe que el mensaje actualizado se ha devuelto correctamente a través de WebSphere MQ:
- Vea el mensaje de respuesta en el panel Propiedades detalladas,
utilizando la vista Estructura XML.
- Compare este mensaje de respuesta con el mensaje enviado anteriormente a través del suceso Colocar en cola.
El elemento <ServerUpdate>OK</ServerUpdate> se ha añadido a la sección Cabecera del cuerpo del mensaje.
Si todos los pasos anteriores se han realizado correctamente, el ejemplo se ha completado.
Mire en los nodos de los tres flujos de mensajes para ver hasta qué punto se han obtenido los resultados.
Este ejemplo utiliza los flujos de mensajes TCPIPSync y TCPIPServerSimulation.
Para ejecutar el ejemplo:
- Las partes asíncrona y síncrona de este ejemplo utilizan el mismo número de puerto, por lo tanto, debe asegurarse de que se despliegan los flujos correctos para el ejemplo síncrono:
- En el kit de herramientas de WebSphere Message Broker, seleccione la vista Intermediarios.
- Pulse con el botón derecho del ratón TCPIPClientNodesSampleExecutionGroup
y pulse Suprimir > Todos los flujos y recursos.
- Seleccione y abra TCPIPClientNodesSampleArchive.bar.
En el separador Preparar, deseleccione los flujos de mensajes
TCPIPAsyncIn y TCPIPAsyncOut, y seleccione el flujo de mensajes TCPIPSync.
Asegúrese de que los flujos TCPIPServerSimulation y TCPIPClientNodesSampleJavaProject estén todavía seleccionados.
- Pulse Construir y guardar... y guarde el archivo BAR.
- Arrastre el archivo BAR a TCPIPClientNodesSampleExecutionGroup.
- Compruebe que se hayan desplegado los objetos siguientes:
- Flujo de mensajes TCPIPSync
- Flujo de mensajes TCPIPServerSimulation
- TCPIPClientNodesSampleJavaProject
- En la vista Desarrollo de intermediario, expanda el proyecto TCPIPClientNodesSampleFlowProject.
- Expanda el directorio Pruebas de flujo y efectúe una
doble pulsación en TCPIPSyncTest.mbtest para abrir el mensaje
en el Cliente de prueba.
Pulse Colocar en cola.
- Pulse Enviar mensaje en el panel
Propiedades detalladas.
Se producen los sucesos siguientes:
- Se coloca un mensaje de solicitud de WebSphere MQ en la cola TCPIP_SYNC_IN.
Esta solicitud la lee el flujo de mensajes TCPIPSync.
- El mensaje se envía utilizando el nodo TCPIPClientOutput en el puerto 7777.
A diferencia del modelo asíncrono, ReplyToQ no se ha de guardar de forma explícita ya que permanece sin modificaciones en el árbol de mensajes durante este flujo de mensajes.
- El nodo TCPIPClientReceive espera una respuesta del servidor.
- El nodo TCPIPServerInput del flujo TCPIPServerSimulation está escuchando en el puerto 7777 y acepta la conexión del nodo TCPIPClientOutput.
- El flujo TCPIPServerSimulation modifica el mensaje añadiendo
<ServerUpdate>OK</ServerUpdate> y envía el mensaje de nuevo al puerto 7777.
- El nodo TCPIPClientReceive del flujo de mensajes TCPIPSync recibe los datos.
En el separador Resultado de este nodo, el mensaje de respuesta se incluye de forma explícita como un elemento de respuesta dentro del mensaje original.
- El mensaje se vuelve a propagar a través de un nodo MQReply.
- Pulse Extraer de la cola.
- Pulse Obtener mensaje en el panel Propiedades detalladas.
- Compruebe que el mensaje actualizado se ha devuelto correctamente a través de WebSphere MQ:
- Vea el mensaje de respuesta en el panel Propiedades detalladas,
utilizando el visor Estructura XML.
- Compare este mensaje con el mensaje enviado anteriormente a través del suceso Colocar en cola.
El mensaje de respuesta completo se puede ver como un elemento <Respuesta> incluido dentro del mensaje después de los elementos originales Cabecera, SaleList y Trailer.
Expanda este mensaje de respuesta. El elemento <ServerUpdate>OK</ServerUpdate> se ha añadido a la sección Cabecera del cuerpo del mensaje.
Si todos los pasos anteriores se han realizado correctamente, el ejemplo se ha completado.
Mire en los nodos de los dos de mensajes para ver hasta qué punto se han obtenido los resultados.
Todos los nodos TCPIP contienen opciones de control de corrientes en sus separadores
Avanzado.
Los detalles siguientes son una visión general de cómo se establecen las propiedades de control de las corrientes de datos dentro del ejemplo Nodos de cliente TCPIP:
Flujo de mensajes TCPIPAsyncOut
- Nodo TCPIPClientOutput
- La propiedad Modificación de la corriente de datos de entrada no se modifica.
- La propiedad Modificación de la corriente de datos de salida se reserva para los nodos que siguen a este nodo en el flujo de mensajes.
Ninguna otra instancia del flujo puede utilizar esta corriente de datos específica hasta que se libere la corriente de datos.
Flujo de mensajes TCPIPAsyncIn
- Nodos TCPIPClientInput
- La propiedad Modificación de la corriente de datos de entrada no se modifica.
- La propiedad Modificación de la corriente de datos de salida se libera.
Esta corriente de datos se ha finalizado. Por lo tanto, se vuelve a liberar en la agrupación.
Flujo de mensajes TCPIPSync
- Nodo TCPIPClientOutput
- La propiedad Modificación de la corriente de datos de entrada no se modifica.
- La propiedad Modificación de la corriente de datos de salida se reserva para los nodos que siguen a este nodo en el flujo de mensajes y se libera al final del flujo.
Las funciones del flujo de mensajes TCPIPSync actúan de modo diferente que el flujo de mensajes TCPIPAsyncOut, en que el flujo de mensajes TCPIPSync lleva a cabo todos los procesos (entrada y salida) en un solo flujo, en lugar de en subflujos separados para la entrada y la salida.
Como resultado, puede configurar de forma explícita cuándo desea que se libere la conexión de salida.
- Nodo TCPIPClientReceive
- La propiedad Modificación de la corriente de datos de entrada no se modifica.
- La propiedad Modificación de la corriente de datos de salida no se modifica.
Esta corriente de datos se configura en el nodo TCPIPClientOutput; no es necesario que libere de forma explícita la corriente de datos en el nodo
TCPIPClientReceive.
Flujo de mensajes TCPIPServerSimulation
- Nodo TCPIPServerInput
- Se reserva la propiedad Modificación de la corriente de datos de entrada y se libera al final del flujo.
No se permite que los clientes nuevos se conecten a esta corriente de datos específica hasta que finalice el proceso.
- La propiedad Modificación de la corriente de datos de salida no se modifica.
- Nodos TCPIPServerOutput
- La propiedad Modificación de la corriente de datos de entrada no se modifica.
La modificación de esta propiedad no es necesaria porque la forma en que se gestiona esta corriente de datos ya se ha configurado en el nodo
TCPIPServerInput.
- La propiedad Modificación de la corriente de datos de salida no se modifica.
Volver a la página inicial del ejemplo