Compartir a través de


Entrega confiable integral del adaptador de InterAct

Al enviar mensajes o archivos a un destinatario, se recomienda asegurarse de que el mensaje o archivo se entregue, y que las transacciones empresariales contenidas en estos no se ejecuten más veces de lo previsto.

Cuando ambas entidades que se comunican entre sí pueden usar un almacenamiento persistente (por ejemplo, proporcionado por un middleware orientado a mensajes persistente y una aplicación de interfaz que lo usa), es fácil implementar una entrega confiable si la forma de comunicar el estado percibido del mensaje está estandarizada.

En la ilustración siguiente se muestra un ejemplo de la estructura de E2EControl.

Control de un extremo a otro

El elemento del ejemplo que se muestra en la figura se envía dentro de SwInt:Request y se entrega sin cambios dentro de SwInt:RequestHandle a la aplicación receptora. La línea 02 permite asignar un identificador único a la solicitud. Este identificador único se repite en cada retransmisión posterior de la misma solicitud.

La forma en que se construye este identificador se deja al implementador, pero normalmente se basa en una llamada del sistema como uuidgen() o puede ser el resultado de calcular un SHA-1 en la solicitud que se va a enviar (con un prefijo Sw:MsgId y, a continuación, reemplazarlo por la cadena SHA-1 codificada en base64). El requisito principal es que es único globalmente (con una probabilidad muy alta).

Sw:CreationTime es la hora de creación de la solicitud original. Es un parámetro opcional, pero resulta útil limitar las búsquedas eventuales de intentos de comunicación anteriores de este mensaje.

El elemento Sw:PDIndication está presente para indicar que se trata de un segundo o más intento de transmitir el mensaje. La aplicación receptora que conoce E2EControl puede usar sw:MsgId para buscar si el mensaje se ha recibido o no. Sw:EmissionList opcional contiene la hora de los intentos anteriores. Esta vez es la hora local del remitente (en la hora universal) que obtuvo el remitente cuando se usa la función Sw:GetDateTime. De nuevo, esto podría ser útil para limitar las búsquedas.

Consulte también

Arquitectura del adaptador de InterAct
Componentes del adaptador de InterAct
Mensajes del adaptador de InterAct para el intercambio empresarial
Aplicación de cliente del adaptador de InterAct
Aplicación de servidor del adaptador de InterAct
Almacenamiento y reenvío del adaptador de InterAct
Arquitectura de seguridad del adaptador de InterAct
Supervisión de estado del adaptador de InterAct
No rechazo del adaptador de InterAct