Actualmente estoy trabajando en una aplicación (básicamente es un tipo de motor de ejecución capaz de ejecutar trabajos definidos por el usuario y generar resultados en tiempo real) que necesita manejar la funcionalidad de reversión, puede sonar loco pero es posible tener tal cosa en la aplicación ¿nivel? por ejemplo, imaginar algunos intentos usuario ejecute un trabajo J1 y una vez que se comenzó a ejecutar quería Editar / Modificar ella,
- que el trabajo mediante la corriente de funcionamiento ha de ser muerto,
- todas las medidas adoptadas hasta el momento debe ser revertida y
- re ejecutar el trabajo J1 nuevamente
Algunas cosas que me vienen a la mente es que de todos modos debemos almacenar o mantener los estados de las aplicaciones de alguna manera, en algún lugar y luego llamar a las cosas de reversión junto con los puntos de guardado anteriores. Estaba leyendo algunos artículos sobre la reversión del nivel de base de datos, pero el escenario no encaja en este caso, ya que necesita trabajar en un entorno en tiempo real.
Pero no puedo encontrar un enfoque adecuado sobre cómo proceder y qué más debe tenerse en cuenta. Avíseme si esto no está claro, intentaré proporcionar más información si es posible.
¿Alguna ayuda o consejo?