Transacciones - Procesos sincrónicos y asincrónicos


La mayoría de las transacciones atómicas ejecutan operaciones sincrónicas, o sea, la operación comienza y se queda esperando respuesta la cual se recibe en un breve espacio de tiempo.

Una característica idónea para un sistema de procesamiento es que la información procesada o respuesta esté disponible en el menor tiempo posible. De ahí que en el diseño transaccional del sistema se intenten llamar a procesos de forma sincrónica tanto como sea posible.

Podemos decir que ejecución de operaciones de forma sincrónica o asincrónica está basada fundamentalmente en el tiempo de respuesta y la forma en que se espera la respuesta.

Cuando el tiempo de respuesta es muy pequeño o mucho menor que el tiempo de duración total de la transacción, tiene sentido esperar por la respuesta y entonces podemos invocar al proceso de forma sincrónica.

 


Cuando el tiempo de respuesta es muy grande o incluso no se conoce, y no tiene sentido esperar una respuesta inmediata o incluso bloquear en la espera los datos, podemos invocar al proceso de forma asincrónica.


 


Las llamadas sincrónicas invocan a un módulo, rutina o función devolviendo un resultado en un área de intercambio de datos prácticamente de inmediato.

Las llamadas asincrónicas tienen la particularidad de que el resultado no puede obtenerse en las áreas de intercambio de datos de forma inmediata. En vez de eso, el sistema recibe a posteriori un mensaje con el resultado.

Es un proceso que transcurre en dos fases: una fase de invocación asincrónica del proceso y otra fase de recepción de la información procesada. Ambas fases están espaciadas en el tiempo.

El tratamiento de mensajes en llamadas asincrónicas nos lleva al concepto de evento. Un evento es algo que ocurre dentro del sistema cuando se cumple una determinada condición. Cada evento puede tener asociado una pieza de código que se ejecuta cuando es activado o “disparado”. Este código se denominada manipulador de evento.

De esta forma, una llamada a un proceso de forma asincrónica no tiene que esperar por la respuesta. Cuando le llegue un mensaje, el sistema activa el evento “Recepción de Mensaje”, se da control al código programado para atender al evento y se procesa el mensaje recibido obteniéndose así la respuesta del proceso llamado asincrónicamente.







posted under , |

0 comentarios:

Publicar un comentario

Entrada más reciente Entrada antigua Inicio