El ejemplo Nodos SCA consta de dos flujos de mensajes que:
El ejemplo ampliado ofrece un flujo de mensajes adicional que:
El diagrama siguiente muestra las relaciones entre los flujos de mensajes en WebSphere Message Broker y el proceso de negocio en WebSphere Process Server.
Este flujo de mensajes simple consta de los nodos siguientes:
El intermediario recibe una solicitud en forma de URI procedente de un cliente de navegador utilizando el transporte HTTP.
El nodo JavaCompute:
Desde el cliente de navegador, elija el tipo de solicitud de transferencia, escriba la cantidad de dinero que desea transferir y pulse Someter.
El hecho de someter el formulario significa que envía estos valores de propiedad, utilizando HTTP, a otro flujo de mensajes que está a la escucha en el puerto HTTP.
Este flujo de mensajes consta de los nodos siguientes:
El flujo de mensajes recibe los valores de propiedad como partes del mensaje MIME.
Un nodo JavaCompute procesa estos valores de propiedad creando un mensaje de solicitud XML a partir de la cantidad y altera temporalmente el funcionamiento del entorno local SCA con el tipo de solicitud de transferencia.
El identificador de solicitud se copia en el contexto del usuario para que no se pierda cuando el mensaje de respuesta llega al nodo de respuesta asíncrona SCA. Este identificador es necesario para volver al cliente originario.
La transferencia también se puede validar en este momento. Si se especifica una cantidad no válida o si se deja en blanco, se generará una MbUserException. Si la validación falla, la excepción de usuario se propaga a través del terminal de anomalías. El mensaje de excepción se incluye en un mensaje de respuesta al cliente originario. Pulse Aceptar para volver de nuevo al formulario de transferencia bancaria de forma que se pueda especificar una cantidad correcta.
Si la validación es satisfactoria, el mensaje de solicitud de transferencia XML se propaga a un nodo SCAAsyncRequest. Este nodo envía el mensaje al servicio SCA especificado que aloja WebSphere Process Server. Este servicio SCA contiene la lógica empresarial relacionada con el proceso de cuenta de ahorro.
Después de que procesar la solicitud, se vuelve a enviar un mensaje de respuesta de transferencia XML a WebSphere Message Broker donde la procesa el correspondiente nodo SCAAsyncResponse. Si la solicitud de transferencia bancaria se ha procesado satisfactoriamente, se incluye el nuevo balance del ahorro en el mensaje de respuesta. Si la solicitud de transferencia bancaria no ha resultado satisfactoria, se utiliza el balance del ahorro anterior.
La identificador de solicitud también se recupera del entorno local y se copia a la carpeta de destino de forma que mensaje de respuesta se puede volver a enviar al cliente originario.
La cuenta de ahorro está alojada en WebSphere Process Server. Consta de:
Estos componentes están conectados en un diagrama ensamblado:
La implementación del proceso de negocio se divide en dos partes correspondientes a las dos solicitudes de operación:
Si la solicitud de mensaje XML de entrada es para realizar la transferencia a la cuenta de ahorro, se inicializan las variables del proceso de negocio a partir de este mensaje. El balance del ahorro se lee de un archivo utilizando una interfaz Java y se le ingresa la cantidad solicitada. Este nuevo balance, se vuelve a grabar en el archivo utilizando la interfaz Java, se crea una respuesta de mensaje con los valores relevantes ya rellenados a partir de las variables del proceso de negocio y se envía de nuevo al interlocutor.
Si la solicitud de mensaje XML de entrada se debe transferir a la cuenta corriente, se inicializan las variables del proceso de negocio a partir de este mensaje. El balance del ahorro se lee de un archivo utilizando una interfaz Java y se le carga la cantidad solicitada. Si el nuevo balance es superior o igual a cero, el nuevo balance se vuelve a grabar en el archivo utilizando la interfaz Java. Si el nuevo balance es inferior a cero, el balance anterior permanece en el archivo. Se crea una respuesta de mensaje con los valores relevantes rellenados a partir de las variables del proceso de negocio y se vuelve a enviar al interlocutor.