Implementación de opción de simulación

Estoy desarrollando una aplicación con Struts con la que se realizan operaciones de compra / venta entre otras cosas, y quiero ofrecer una opción de simulación de forma que cuando el usuario la active, todo aquello que se realice sea virtual, es decir, que no se materialice en la base de datos pero que la aplicación trabaje de cara al usuario como si así fuese, y que cuando el usuario la desactive, se vuelva al estado en que estaba todo en el momento en que se activó. ¿Cuál es la mejor forma de hacerlo? ¿Qué me recomiendas?
También me gustaría que me dijeras como se suele implementar la típica opción para borrar la última operación insertada

1 Respuesta

Respuesta
1
La forma más sencilla es implementar un actionservlet que haga lo mismo que el de negocio menos la parte de gestión con la base de datos, luego según tenga el usuario activada o no la opción de simulación, un mapeo y se escoge la acción apropiada.
Lo típico para borrar la ultima inserción es un rollback, que puedes hacerlo en cualquier lenguaje con el que realices la conexión a la base de datos. Se suele poner o bien en el bloque de captura de las excepciones, si ha habido un problema en al conectarse a la base de datos o si es manual, antes de cerrar la sesión
Hola!
La idea del simulador me ha quedado clara. Si tuviera algún problema o duda sobre su implementación te comentaría
Sobre el borrado de la última operación insertada, sería una opción también solicitada expresamente por el usuario, bien porque se confundió, bien porque no quiere activar el simudor y desea mini-simular una única operación..., por lo que sería manual, pero no antes de cerrar la sesión sino al cliquear un enlace o botón. ¿Supone algún inconveniente hacer un rollback en estas condiciones?, ¿Hacerlo por ejemplo 10 minutos después de haberse insertado esa última operación?
Muchas gracias
Pues puedes tener un problema porque mientra sno cierres la conexión o la sesión a la base de datos, puedes realizar los rollback manuales, el problema puede venir cuando cierres la conexión o por lo que sea, se cierre la sesión, por ejemplo, por un timeout, que el usuario deje pasar mucho tiempo.
Umm... cuando me ponga a implementar y tenga dudas o problemas más concretos sobre esto último que me has dicho, si los tengo, te pediré consejo
Gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas