El editor gráfico i2factory Studio dispone de un completo depurador de soluciones para poder probar los procesos que has creado antes de desplegarlos en un servidor. Esta funcionalidad permite ejecutar tu solución en tu servidor interno de prueba y verificar los resultados.

Su funcionamiento es sencillo: una vez que la solución que estás diseñando sea sintácticamente válida (no aparecen errores en su diseño) accedes al modo depuración y ejecutas la solución. Tras unos segundos (o minutos) de espera mientras se despliega, arranca y ejecuta la solución, aparecerá el resultado de todo lo que ha ocurrido pintado sobre la propia solución, resaltando los fallos o problemas que hayan podido ocurrir.

Hay varios modos de uso: la ejecución completa de la solución y la ejecución paso a paso. Esta última te permite ver en cada interacción cómo evolucionan los mensajes dentro de la solución y dónde se produce exactamente el error o la malfunción que estás buscando.


Graphical Debugger.jpeg

Cómo acceder a Modo Depuración

Cuando estés editando una solución en i2factory Studio haz clic en Depuración de la barra de acciones del editor:


JZTwmQhVdAksq1idpHYIskv4WDiluD9f5A.png

 

Aunque sigues estando en el mismo editor, verás que cambian todos los iconos de la barra de acciones y aparece el cartel MODO DEPURACIÓN sobre ella. Cuando estés en este modo no podrás editar la solución ni configurar sus parámetros.


p1xhk_jjw7ypQ4jTSNzmc-KCD9WZdJqYVg.png

 

 

 


Servidor de depuración

 

 

Para poder usar la funcionalidad de depuración necesitas que exista al menos un servidor con la opción de Depuración activada en el mismo entorno donde se encuentra ubicada la solución que estás editando. Sólo puedes activar esa opción cuando das de alta un nuevo servidor. No recomendamos que actives esta opción para servidores que tengas destinados a alojar y mantener soluciones de integración en entornos de producción.


Solución sintácticamente válida

 

 

Para poder probar y depurar una solución es necesario que ésta sea sintácticamente válida, es decir, que no muestre ninguna señal de advertencia con el icono de admiración amarillo. Para conseguir esto debemos tener todos los elementos de la solución correctamente conectados, configurados y parametrizados. Puedes ver más información sobre este tema en el apartado Soluciones.


Ejecución completa

En este modo de depuración se inicia la depuración pulsando el botón Ejecutar. Deberás esperar unos segundos mientras se finaliza la ejecución de la solución. En los siguientes apartados te ayudamos a interpretar del resultado de una ejecución.


6RzJ4WHelIbM-fRIcrleqE5W5QzrYNLcXA.png

 

Puedes parar una depuración en curso pulsando el botón Parar para así finalizar la depuración. Puedes volver a iniciar una nueva depuración pulsando en Depuración de nuevo. 


La pantalla de carga no desaparece

A veces parece que el arrancar la depuracion tarda demasiado. Esto es normal, el proceso de depuración suele durar algunos segundos (incluso minutos) dado que internamente la plataforma está desplegando sobre el servidor de depuración toda la infraestructura que necesita para realizar las pruebas, y luego además ejecuta una propia prueba.

En extrañas ocasiones puede ocurrir que la pantalla de carga de la depuración tarde un tiempo excesivo en desaparecer. Lo más probable es que hayas configurado algo mal y esté provocando internamente una serie de fallos y reintentos. Si ves que una acción de depurar tarda demasiado (más de 2 o 3 minutos) te aconsejamos que refresques la ventana del navegador, y entres de nuevo en el Editor Gráfico. Si el problema persiste, tienes disponible un artículo que explica Cómo desbloquear el depurador.


Ejemplo de ejecución completa

 

 

Dispones de un ejemplo de depuración completa de la solución Dropbox2Dropbox en la Guía de Inicia Rápido.


Mejor depura paso a paso

 

 

Si la solución que estás probando puede procesar muchos mensajes de entrada, tiene una operativa interna que puede hacer que tarde mucho en ejecutarse completa o bien simplemente no sabes 100% si lo que has diseñado va a funcionar, te aconsejamos realizar una depuración paso a paso en lugar de una depuración completa.


L9IV6AN-QmoMQssH46NTLxgM_qhhcHFoQQ.png

 

Tan sólo añade uno o dos breakpoints a las primeras tareas de la solucción y cuando se detenga el depurador usa el botón Ejecución Paso a Paso.


 

 

Ejecuciones de puertos y tareas

En los puertos y tareas aparecerá un icono de engranajes y un valor numérico indicando el número ejecuciones, es decir,

MFV5ZkerIKaogpz9RnAqdb2-Eh5ju47djQ.png

número de veces que la tarea o puerto ha sido ejecutado. En el caso concreto de los puertos se hace referencia al número de veces que se ha ejecutado el comando establecido en dicho puerto.

Por ejemplo, en la imagen de abajo se muestra que tanto el puerto de entrada de base de datos como la tarea Filter se han ejecutado 1 vez cada uno:

 

Si haces clic en cualquiera de las ruedas dentadas encima de una tarea o puerto, se mostrará a la derecha información completa sobre las ejecuciones y tendrás la posibilidad de ver los mensajes entrantes y salientes de cada ejecución, además de cualquier error o alerta que se haya podido producir.

A la derecha, se muestra la Ejecución "1" del puerto de entrada de Dropbox que ha ejecutado el comando "Obtener todos los archivos y carpetas" en la solución de abajo. 

 

XGkhF-gzJncQYanaK3rQj0f--li3XUFmCw.png

Slots y canales de comunicación

Cada puerto y tarea dispone de varios slots de entrada y salida que son conectados a través de canales de comunicación por donde pasan los mensajes de información. 

fuC5ToGhcZ8v1TkHuUhG2AF7_-2pDaHjkA.png

Los slots y canales de comunicación por donde pasan los mensajes se pintan de verde, sino llega a pasar ninguno se queda con el color negro por defecto de la edición. Si haces click en un canal de comunicación podrás obtener información completa sobre los mensajes que hay en ese 'slot' y ver la estructura de los mensajes que pasan por él. 

En el ejemplo de la derecha se ha seleccionado el slot de comunicación que está entre el puerto de entrada de Dropbox y la tarea Filter. En las propiedades del slot puedes seleccionar y ver todos los mensajes que han pasado por él.






Validación de la ejecución

Cada puerto y tarea que se haya ejecutado en la solución mostrará un icono que indicará que ha ocurrido tras cada ejecución. Por ejemplo, en la solución de ejemplo de arriba, la ejecución ha sido correcta en toda la solución.

nGjbZHsnur6T9kD5qrkmc-6X72pkDat1vQ.png

A continuación tienes el significado de cada símbolo

 

 

 

  1. El símbolo (tick) significa que la ejecución ha sido correcta, que no se ha producido ningún error y que el puerto o tarea ha generado mensajes de salida. Por ejemplo, el puerto de Dropbox del ejemplo ha generado 2 mensajes de salida en 1 ejecución .
     
  2. El símbolo (warning) significa que la tarea o el puerto no ha generado mensajes de salida tras su ejecución. En el caso de la imagen de ejemplo aparece un icono de advertencia indicando que un mensaje ha sido descartado por el filtro, es decir, que no ha generado ningún mensaje de salida
     
    En depuraciones fallidas o incompletas, puede ocurrir que una tarea o puerto no genere mensajes. ¡Cambia la configuración de puertos y tareas e inténtalo de nuevo!

  3. El símbolo (error) significa que se ha producido un error en la ejecución de una tarea o puerto que ha desembocado en una excepción. Por ejemplo, puede ocurrir que un sistema externo se haya caído o se haya perdido la comunicación con él y por tanto el puerto de salida o solicitud no pueda ejecutar correctamente su comando. En el ejemplo de abajo, se muestra un error de ejecución en un puerto de salida de Redmine.


    Si haces clic en la rueda dentada de la ejecución podrás conocer más detalles. A la derecha tienes las propiedades de la ejecución, donde en Detalles se aprecia como ha ocurrido un "time out"  al conectar con el servicio externo, motivo de la excepción y del fallo en la ejecución.


Ejecución paso a paso

Puedes usar los breakpoints del Modo Depuración para realizar una ejecución por pasos de la solución y así controlar poco a poco como se van procesando los mensajes. 

Puede que te interese parar la ejecución en un punto concreto de tu solución. Basta con seleccionar la tarea o puerto y pulsar en el botón Añadir breakpoint. Aparecerá en el elemento seleccionado un icono de una 'chincheta' de color rojo.

 

Para eliminar un breakpoint puedes usar el botón Eliminar breakpoints, que los elimina todos, o el botón Eliminar breakpoint, que sólo elimina el breakpoint de la tarea o puerto seleccionado. Esta opción aparece en lugar del botón Añadir breakpoint cuando seleccionas una tarea o puerto que ya tiene un Breakpoint

Cuando la ejecución de la solución se para en un breakpoint se habilita el botón Paso a paso. Un icono de un asterisco naranja indica la tarea o puerto donde está parada la depuración. Tras pulsar Ejecutar la ejecución se parará en la tarea o puerto con un Breakpoint. Si pulsamos Depurar de nuevo continuará la depuración hasta el próximo Breakpoint o hasta el final.