El diagrama de conjunto de cuentas de ahorro se modifica para incluir un enlace de importación adicional, CurrentAccountRequest, que se utiliza para realizar una llamada al flujo de mensajes de intermediario que aloja la cuenta corriente.
El proceso empresarial también se corrige para que refleje esta cuenta corriente y se inicia una transferencia solamente si hay suficientes fondos disponibles.
Estas son las principales diferencias entre esta aplicación ampliada y la simple:
La cuenta corriente se aloja en WebSphere Message Broker como un flujo de mensajes que comprende los dos subflujos y los nodos siguientes:
El nodo SCAInput del flujo de mensajes recibe el mensaje que contiene la operación que se debe llevar a cabo, por ejemplo, abono o cargo, y la cantidad que se ha de transferir. Dependiendo de si la cantidad debe ser abonada o cargada, el mensaje se propaga, utilizando el terminal dinámico adecuado, al subflujo CurrentAccountDebit o CurrentAccountCredit.
Ambos subflujos contienen nodos JavaCompute:
Si la solicitud de mensaje de entrada es una instrucción para cargar en la cuenta corriente, la cantidad de la transferencia se sustrae del balance de la cuenta corriente. Si el resultado es inferior a cero, el balance anterior se propaga utilizando el entorno local y se crea un mensaje de respuestas, que indica que no se ha autorizado la transacción. Si el resultado es mayor o igual que cero, el balance nuevo se propaga utilizando el entorno local y se crear un mensaje de respuestas que autoriza la transacción.
Si la solicitud de mensaje de entrada es una instrucción para realizar un abono en la cuenta corriente, la cantidad de la transferencia se añadirá al balance de la cuenta corriente. El balance nuevo se propaga utilizando el entorno local y se crea un mensaje de respuesta que autoriza la transacción.
El mensaje de respuesta se vuelve a enviar al interlocutor, WebSphere Process Server, en el nodo SCA Reply.