Solución del ejercicio 5 (TransactionManager)