scieee AI-readable full text Open interactive document viewer

Automatización de procesos mediante la herramienta Uipath

Reina Romero, María Jesús

Abstract

La automatización robótica de procesos (RPA) es una tecnología de software que facilita la construcción, implementación y administración de robots de software que emulan las acciones de los humanos que interactúan con sistemas y software digitales. Al igual que las personas, los robots de software pueden hacer cosas como comprender lo que hay en una pantalla, completar las pulsaciones de teclas correctas, navegar por los sistemas, identificar y extraer datos y realizar una amplia gama de acciones definidas. Pero los robots de software pueden hacerlo más rápido y de manera más consciente que las personas. El objetivo de este trabajo es hacer una presentación general a las tecnologías RPA y a la herramienta Uipath para el desarrollo de robots de software. Hacer hincapié en las ventajas y beneficios que ofrece y recalcar que no solo puede ser útil para las empresas, sino también para desarrollar procesos que nos faciliten nuestra vida diaria.

Full text

Equation Chapter 1 Section 1 Proyecto Fin de Carrera Ingeniería Robótica, Electrónica y Mecatrónica Automatización de procesos mediante la herramienta Uipath Autor: María Jesús Reina Romero Tutor: Alfonso Daniel Carnerero Panduro Dpto. Ingeniería de Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2021 iii Proyecto Fin de Carrera Ingeniería Electrónica, Robótica y Mecatrónica Automatización de procesos mediante la herramienta Uipath Autor: María Jesús Reina Romero Tutor: Alfonso Daniel Carnerero Panduro Personal docente e investigador Dpto. de Ingeniería de Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2021 v Proyecto Fin de Carrera: Automatización de procesos mediante la herramienta Uipath Autor: María Jesús Reina Romero Tutor: Alfonso Daniel Carnerero Panduro El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros: Presidente: Vocales: Secretario: Acuerdan otorgarle la calificación de: Sevilla, 2021 El Secretario del Tribunal vii A mi familia A mis maestros ix Agradecimientos A mis padres por su apoyo incondicional y por animarme a seguir intentándolo cuando las cosas no iban del todo bien. A mi hermana, por transmitirme fuerzas y hacerme entender que las cosas llevan su tiempo y que, si se trabaja, tarde o temprano salen. A todas aquellas personas que a lo largo de estos años se han cruzado en mi camino, porque todas me enseñaron algo y me permitieron convertirme en la persona que soy hoy. María Jesús Reina Romero Sevilla, 2021 ÍNDICE DE TABLAS Tabla 2-1. Tabla con el resumen de la comparativa 7 xvii ÍNDICE DE FIGURAS Figura 2-1. Logo Blue Prism 27 Figura 2-2. Logo Automation Anywhere 28 Figura 2-3. Logo Uipath 29 Figura 3-1. Interfaz de Uipath 32 Figura 3-2. Pestaña Diseño 32 Figura 3-3. Pestaña depurar 33 Figura 3-4. Interfaz Orquestador 33 Figura 3-5. Grabación en Uipath 35 Figura 3-6. Data y Screen scraping en Uipath 36 Figura 4-1. Página Inicio Uipath 39 Figura 4-2. Archivo Main.xaml 40 Figura 4-3. Secuencia por defecto. 40 Figura 4-4. Espacio de trabajo 41 Figura 4-5. Librería Excel para Uipath 41 Figura 4-6. Secuencia 42 Figura 4-7. Actividad Abrir Navegador 43 Figura 4-8. Pestaña Inicio 43 Figura 4-9. Pestaña Herramientas 44 Figura 4-10. Ventana para aceptar instalación extensión 44 Figura 4-11. Ajustes configuración de Chome 45 Figura 4-12. Configuración parámetros Chrome 45 Figura 4-13. Formulario 46 Figura 4-14. Actividad Escribir en 47 Figura 4-15. Campo Nombre 47 Figura 4-16. Campo vacío 48 Figura 4-17. Otros campos del formulario 48 Figura 4-18. Actividad Clic 49 Figura 4-19. Botón enviar 49 Figura 4-20. Simular clic 50 Figura 4-21. Depurar archivo 50 Figura 4-22. Actividad Volver 50 Figura 4-23. Archivo CSV 51 Figura 4-24. Actividad Leer CSV 51 Figura 4-25. Nodo inicial 52 xix Figura 4-26. Crear variable 52 Figura 4-27. Actividad Para cada fila de la tabla de datos 53 Figura 4-28. Edición actividad Para cada fila de la tabla de datos 53 Figura 4-29. Cortar actividad 54 Figura 4-30. Mover actividad 54 Figura 4-31. Actividades Escribir en 55 Figura 4-32. Conectar bloques 53 Figura 4-33. Actividad Asociar Navegador 53 Figura 4-34. Clic Enviar Respuesta 57 Figura 4-35. Botón Enviar Respuesta 57 Figura 4-36. Nuevo proyecto en blanco 58 Figura 4-37. Descripción proyecto 59 Figura 4-38. Actividad Secuencia 59 Figura 4-39. Cuadro de diálogo de entrada 60 Figura 4-40. Actividad Abrir Navegador 60 Figura 4-41. Actividad Escribir en 61 Figura 4-42. Indicar barra de búsqueda 61 Figura 4-43. Actividad Enviar tecla de acceso rápido 62 Figura 4-44. Actividad Obtener texto para los grados 62 Figura 4-45. Actividad Obtener texto para la información del tiempo 63 Figura 4-46. Definir variables globales 63 Figura 4-47. Actividad Cerrar pestaña 64 Figura 4-48. Minimizar secuencia 64 Figura 4-49. Cambiar nombre de secuencia 64 Figura 4-50. Diagrama de Flujo 65 Figura 4-51. Actividad Si 65 Figura 4-52. Condición de la Actividad Si 66 Figura 4-53. Actividad Asignar 66 Figura 4-54. Cambíar Ámbito 67 Figura 4-55. Decisión de Flujo 67 Figura 4-56. Primer caso 68 Figura 4-57. Cambiar Ámbito 68 Figura 4-58. Segundo caso 69 Figura 4-59. Tercer caso 69 Figura 4-60. Actividad Bandeja de Entrada 70 Figura 4-61. Ventana Introducir una ciudad 71 Figura 4-62. Resultado Ejecución Robot 71 Figura 4-63. Robotic Enterprise Framework 72 Figura 4-64. Vista general del REF 73 Figura 4-65. Estructura de carpetas 74 Figura 4-66. Excel de entrada 75 Figura 4-67. Carpeta Comunes 76 Figura 4-68. Carpeta No Comunes 76 Figura 4-69. Actividad Enviar mensaje de correo de Exchange 76 Figura 4-70. Excepción en Enviar email 77 Figura 4-71. Tabla de datos de salida 77 Figura 4-72. Actividad Intentar Capturar 78 Figura 4-73. Actividad Cerrar Pestaña 78 Figura 4-74. Actividad Filtrar tablas de datos 79 Figura 4-75. Configurar filtro 79 Figura 4-76. Registro en Uipath 79 Figura 4-77. Proceso Navegar a la página principal 80 xxi Notación RPA Robotic Process Automation RE-Framework Robotic Enterprise Framework UI Interfaz de usuario OCR Optical Character Recognition. Software capaz de reconocer en una imagen símbolos o caracteres pertenecientes a un alfabeto. 1 INTRODUCCIÓN 1.1. Estructura del trabajo El trabajo se ha dividido en 4 apartados. 1) Estado del arte. Describe la tecnología RPA, sus casos de uso, las ventajas e inconvenientes que tiene. También se hace una presentación de las diferentes herramientas que existen para aplicar la tecnología y se hace una comparación entre ellas. 2) Uipath. En este apartado se explican las partes de la herramienta escogida para desarrollar los proyectos de automatización, Uipath. También se abordan detalles sobre su funcionamiento y funcionalidades más importantes. 3) Ejemplos prácticos de automatización. En este capítulo se desarrollan tres ejemplos de robots virtuales desarrollados en Uipath. Se explica, para cada uno de ellos, los requisitos, diseño y resultados obtenidos. 4) Conclusiones. Detallan las deducciones finales del trabajo. 1.2. Objetivos Este proyecto tiene los siguientes objetivos: • Hacer una presentación de la automatización robótica de procesos (RPA). • Comparar distintas tecnologías que permiten la construcción de robots de software. • Afianzar los conceptos teóricos mediante el desarrollo de ejemplos prácticos de automatización. La robótica y otras combinaciones harán que el mundo sea bastante fantástico en comparación con hoy en día. - Bill Gates- Introducción 2 2 ESTADO DEL ARTE n este apartado se abordará, con detalle, en qué consiste la tecnología RPA, cuándo y cómo se hace uso de ella. Se explicarán sus ventajas y desventajas. Y se hará un análisis de las diferentes herramientas que se pueden utilizar. En este proyecto se ha elegido una de esas herramientas, Uipath. También se detallará por qué ha sido elegida. 2.1 Tecnología RPA En la actualidad, el sector empresarial intenta aplicar nuevas tecnologías con el único fin de reducir costes y hacer que el trabajo sea más rápido y eficaz. Es por esto por lo que surge la automatización de procesos robóticos. Esta es una tecnología en rápido auge y que permite a las empresas instaurar sistemas de software inteligentes, llamados comunmente, “robots de software”. Estos realizan, tareas repetitivas que antes hacía un empleado y así, ahora, el empleado puede usar ese tiempo para realizar otras tareas de mayor envergadura.[7],[9]. Principalmente la aplicación de tecnologías RPA proporciona los siguientes beneficios: - Debido a la eliminación de los errores humanos, las tareas son mucho más precisas y de mayor calidad. - Los costes de las empresas disminuyen, por la reducción de horas de empleado o su dedicación a tareas de más valor. - Los robots trabajan más velozmente que los humanos y eso repercute en el aumento de la productividad. - Siempre están en continua mejora, puesto que cada proceso puede ser estudiado y analizado. - Posibilidad de desarrollar nuevas funcionalidades con bajo coste debido a la rápida implementación. - Preservación de la seguridad al tratar con datos sensibles de clientes. - Escalabilidad, las tecnologías RPA pueden aumentar o disminuir su tamaño según las necesidades del negocio en cada momento. - Mayor satisfacción de los clientes, puesto que los robots trabajan las 24 horas al día y pueden ofrecer una atención al cliente todo este tiempo. E Podemos hacer robots que aprendan de los errores, pero el hombre todavía hace los mismos una y otra vez. - Anthony T. Hincks- Uipath 10 El rojo es el panel de propiedades, donde se configuran las propiedades de una actividad seleccionada. También podemos agregar recursos al orquestador, como se explicará más adelante en este capítulo. El naranja es la sección del panel de salida, donde se ven los resultados de las actividades de escritura, la información del estado con respecto a la ejecución del proyecto, los errores generados por los paquetes de actividades y más. Además, se pueden ver todos los errores generados al ejecutar la actividad de Workflow Analyzer, y todos los lugares donde se hace referencia a un elemento en el proyecto. A la hora de agregar breakpoints para la ejecución, se haría desde esta sección también. La sección negra es la barra de estado. Se observa la información de estado y se administra la conexión del orquestador. El recuadro rosa es la barra de título. Donde se puede abrir la paleta de comandos, añadir comentarios, acceder a los recursos de ayuda o iniciar sesión en la cuenta de Uipath. Y, por último, la sección amarilla, está compuesta por tres pestañas. La de Diseño, que es donde se crean los procesos del robot utilizando las herramientas disponibles en la sección de actividades. La de Depurar, ofrece herramientas para “debuggear” los flujos de trabajo, permite la identificación de errores y su posterior corrección. La tercera pestaña, la de Inicio, nos devuelve a la página inicial donde se pueden abrir proyectos, configurar Uipath Studio y más. Figura 3-1. Interfaz de Uipath Figura 3-2. Pestaña Diseño 11 11 Automatización de procesos mediante la herramienta Uipath 3.1.2 Orquestador Es tan importante como Uipath Studio. Es una aplicación web y a través de ella se pueden monitorizar, publicar y ejecutar los diferentes procesos creados en Uipath Studio. Para acceder al orquestador se precisa de usuario y contraseña. Sirve tanto para proyectos complejos con gran volumen de datos como para proyectos más pequeños. En la siguiente figura se muestra la interfaz del orquestador. Puede verse que hay un proceso que se ha publicado en la web, 0 assets, 0 colas de datos y 1 robot. (Más adelante se definirán estos conceptos) [3]. 3.2 Funcionalidades 3.2.1 Diseñar un flujo de trabajo Uipath proporciona un diseño de flujo de trabajo automatizado que se puede utilizar sin conocimientos de programación, haciendo la experiencia muy visual e intuitiva. Cada flujo de trabajo tiene extensión .xaml, y crea un archivo, por defecto, Main.xaml [1],[2]. Tipos de flujo de trabajo: Figura 3-3. Pestaña depurar Figura 3-4. Interfaz Orquestador Uipath 12 a). Diagramas de diseño: se pueden ir añadiendo actividades en el diseño del flujo de trabajo mientras se desarrolla un archivo de flujo de trabajo utilizando un diagrama de diseño. Uipath nos proporciona los siguientes tres diagramas de diseño con los que podemos integrar actividades en el diseño del flujo de trabajo. -Diagramas de flujo: un diagrama de flujo es una representación gráfica de un proceso en el que cada paso está representado por diferentes símbolos conectados por flechas. El diagrama de flujo es uno de los mejores entre los tres diagramas de diseño de flujo de Uipath porque es flexible y tiende a organizar un flujo de trabajo bidimensional. Pueden presentar puntos de decisión dentro de un proceso de manera muy efectiva debido a su atractivo visual. -Secuencia: El diagrama de diseño más utilizado en el diseño de flujo de trabajo de Uipath es la secuencia. Una secuencia es una representación lineal simple que generalmente fluye de arriba hacia abajo e indica el orden en el que se deben ejecutar los comandos. Las secuencias son mejores en escenarios simples cuando las actividades continúan. Lo más importante de las secuencias es que son muy simples y fáciles de entender. -Máquina de estado: es una estructura compleja que almacena el estado de algo en un momento dado. Puede ser de naturaleza finita o infinita. Las máquinas de estado se representan mediante diagramas de estados o, en otras palabras, son diagramas de flujo con flechas condicionales llamadas transiciones. b). Tipo de decisión La decisión, acción o proceso de decisión, es otra parte muy importante del diseño del flujo de trabajo. Es la resolució que permite al robot reaccionar de manera diferente bajo diversas condiciones de procesamiento e interacción con aplicaciones. La legibilidad de la estructura visual de un flujo de trabajo es muy importante. El tipo de decisión elegida tendría un impacto importante en ella. Los tipos de decisiones que existen son: -Actividad Si: Este es el tipo de decisión más simple que se puede entender tanto si se tienen conocimientos de programación como si no. En relación con situaciones de la vida real, la actividad Si tiene una declaración y dos condiciones, a saber, Entonces y Else. La condición “Entonces” se ejecutará si la instrucción es verdadera; de lo contrario, se ejecutará la condición “Else”. En el flujo de trabajo de Uipath, se puede encontrar la actividad ‘Si’ en el panel de las actividades y agregarla arrastrando y soltando. - Cambiar actividad: Como sugiere el nombre, esta actividad está basada en el valor de una expresión específica, nos permite seleccionar una opción entre las muchas opciones dadas. También es útil clasificar los datos en función de un número personalizado de casos. Por ejemplo, podemos usar el cambio de caso para almacenar datos en varias hojas de Excel. Se puede buscar la actividad de cambio desde el panel de actividad y arrastrar y soltar el diseño de flujo de trabajo. -Decisión de transmisión: simplemente llamada decisión es una actividad que realiza una de las dos ramas, nombradas por defecto TRUE o FALSE. La ejecución dependerá de si se sumple o no la condición específica. Podemos cambiar los nombres de las ramas en el panel Propiedades. 3.2.2 Funcionalidades y actividades más importantes • Grabación: La grabación es una característica importante de Uipath Studio, nos permite capturar las acciones del usuario y traducirlos en secuencias. Esto ahorra mucho tiempo cuando se desea automatizar la mayoría de los procesos [1]. 13 13 Automatización de procesos mediante la herramienta Uipath El Uipath Studio nos ofrece la posibilidad de elegir entre cuatro tipos de grabación: Registro básico, regristro de escritorio, regristro web o registro de citrix. • Grabación web (data scraping): La extracción de datos es una técnica mediante la cual se pueden extraer datos estructurados de la web o de cualquier aplicación y guardarlos en una base de datos o una hoja de cálculo. Uipath Studio da la oportunidad de raspar datos utilizando el asistente de raspado. Podemos encontrar esa opción en la pestaña de Diseño. • Screen scraping: Uipath proporciona métodos para extraer datos de un elemento o documento de la interfaz de usuario específico. Estos métodos se denominan métodos de salida o extracción de pantalla. Uno de los métodos de captura de pantalla más utilizado es la técnica OCR. Podemos encontrar esa opción en la pestaña de Diseño. Figura 3-5. Grabación en Uipath Uipath 14 Figura 3-6. Data y Screen scraping en Uipath 3.2.3 Funciones más desarrolladas en Uipath ➢ Automatización de Excel: Excel es fácil de usar, accesible y muy popular. Sin embargo, no siempre es simple y en ocasiones, puede resultar lento y difícil de integrar con otras aplicaciones. Por ejemplo, el método tradicional para automatizar tareas en Excel requiere formación para ser competente en Visual Basic para Macros en Excel. El entorno de trabajo actual se centra en aplicaciones múltiples, con datos que se transfieren constamente entre aplicaciones. Por lo tanto, migrar e integrar datos en plataformas puede convertirse en un problema incluso si está trabajando con aplicaciones que pueden importar y expotar archivos. Esto sucede porque la información puede mezclarse o perderse en el proceso, lo que obliga a perder un tiempo valioso repitiendo los pasos cada vez que sincroniza los datos. ➢ Extracción y automatización de datos de un PDF: antes de que los robots fueran capaces de comprender los documentos, estos requerían la intervención humana y el procesamiento manual de los documentos. Ahora es posible enseñar a los robots a manejar un proceso completo. Los humanos solo necesitan hacer el check-in para validar los datos o manejar las excepciones. ➢ Automatización de correo electrónico: el correo es la forma de comunicación digital entre las personas más antigua y hasta hoy, muchos procesos de negocio están todavía accionados por un simple correo. Como la mayoría de nosotros supervisa la bandeja de entrada a lo largo del día, obtener un informe de correo sobre el estado de una tarea automatizada, podrá ser esencial a veces para mantener un control. 15 15 Automatización de procesos mediante la herramienta Uipath 4 EJEMPLOS PRÁCTICOS DE AUTOMATIZACIÓN n este capítulo se van a exponer el desarrollo de tres ejemplos de robots que pueden diseñarse en Uipath. Cada uno de ellos ocupará un subapartado y dentro se detallarán los requisitos previos, diseño y resultados de la ejecución al final del montaje. El objetivo de este apartado es mostrar que no solo las empresas pueden hacer uso de Uipath, si no que esta herramienta puede sernos muy útil en nuestro día a día. Solo hay que detectar necesidades y ponerse manos a la obra en el diseño y desarrollo en el programa. 4.1 Robot para llenado automático de un formulario 4.1.1 Requisitos • Excel de entrada con los datos para rellenar el formulario. • Tener descargado e instalado la edición gratuita Community de Uipath disponible en: “https://www.uipath.com/es/desarrollo/edicion-community” • Conexión a Internet. 4.1.2 Diseño Una vez bajado, se precisa instalarlo. Terminada la instalación abrimos UiPath y hacemos clic en “Simple Proccess”. Luego asignamos un nombre al proyecto y descripción (Opcional). E Figura 4-1. Página Inicio Uipath Ejemplos Prácticos De Automatización 18 Abrimos el archivo Main.xaml, que es donde vamos a desarrollar nuestro robot. Este archivo está ubicado en la pestaña de Proyecto. Y borramos la secuencia por defecto: Figura 4-2. Archivo Main.xaml Figura 4-3. Secuencia por defecto. 19 19 Automatización de procesos mediante la herramienta Uipath Quedando de la siguiente manera: Para trabajar con Excel debemos tener instalado un paquete de “librerías”. Vamos al icono de “Gestionar paquetes” en la barra de arriba. Luego buscamos “UI.Path.Excel.Activities”, le damos al botón de “Instalar”, que aparecería en el lugar de Desinstalar( en la imagen). Esto solo es necesario hacerlo una vez, para el primer proyecto que hagamos. Figura 4-5. Librería Excel para Uipath Ahora necesitamos agregar la secuencia de procesos para el llenado del formulario. En Favoritos -> Secuencia, Figura 4-4. Espacio de trabajo Ejemplos Prácticos De Automatización 26 Repetimos el proceso con las otras dos entradas. Y teniendo seleccionado cada “Escribir en” marcamos a True el campo de la derecha “Campo Vacío”, esta funcionalidad nos asegurará que, si hay algo ya escrito en el campo, lo borra antes de escribir lo nuevo. Colocamos alguna información de prueba en cada uno. Hay que recordar que lo que se escriba debe estar entre comillas. Figura 4-17. Otros campos del formulario Figura 4-16. Campo vacío 27 27 Automatización de procesos mediante la herramienta Uipath Ahora hace falta automatizar el clic al botón de “enviar”. Para ello creamos un nuevo nodo de proceso seleccionando “Automatización UI -> Elemento -> Ratón -> Clic Le damos a “Indicar elemento dentro del navegador” y seleccionamos el botón de “Enviar”. En la barra de la derecha, al tener seleccionado el bloque de clic, podemos activar la funcionalidad de Simular clic, para hacer la simulación mucho más real. Figura 4-18. Actividad Clic Figura 4-19. Botón enviar Ejemplos Prácticos De Automatización 28 Es momento de probar nuestro “script” de automatización. Para ello vamos a “Depurar Archivo” o apretamos “F5”: Después, vamos a querer agregar más registros a partir de nuestra base de datos, añadimos un bloque al final de la cadena de “Volver”. El cual se encuentra en Automatización UI -> Navegador -> Volver. Figura 4-20. Simular clic Figura 4-21. Depurar archivo Figura 4-22. Actividad Volver 29 29 Automatización de procesos mediante la herramienta Uipath Llega el turno de sacar información del archivo csv. El cual es de la forma: Para leer la información que contiene, volvemos a nuestro diagrama de flujo de trabajo haciendo doble clic en “Main”. Vamos a Disponible -> Integración de Aplicaciones -> Excel -> CSV -> Leer CSV Y arrastramos ese bloque dentro de nuestro flujo de trabajo “Main”. Figura 4-23. Archivo CSV Figura 4-24. Actividad Leer CSV Ejemplos Prácticos De Automatización 30 Hacemos clic derecho en el bloque de “Leer CSV” y le damos a “Establecer como nodo inicial”: Hacemos doble clic en el bloque de “Leer csv” y buscamos nuestro csv. Debe tener un formato de salida de DataTable para poder ser procesado, con el fin de ello, en la casilla derecha de “Salida”, debemos crear una variable haciendo clic derecho-> Crear variable y escribiendo el nombre de la variable, en este caso se llama dataTable. Figura 4-25. Nodo inicial Figura 4-26. Crear variable 31 31 Automatización de procesos mediante la herramienta Uipath A continuación, creamos un bucle de iteración de registros de nuestra base de datos. Vamos a Disponible->Programación-> Tabla de Datos-> Para cada fila de la tabla de datos. Ahora doble clic en el nodo de “Para cada fila de la tabla de datos” para editarlo. Figura 4-27. Actividad Para cada fila de la tabla de datos Figura 4-28. Edición actividad Para cada fila de la tabla de datos Ejemplos Prácticos De Automatización 32 Escribimos la expresión “dataTable” después de “En”: Ahora volvemos al diagrama de flujo de trabajo “Main”, hacemos clic derecho en el nodo de “Para cada fila de la tabla de datos” y lo cortamos. Abrimos la secuencia que hicimos haciendo doble clic en “Secuencia”. Y lo pegamos detrás del bloque de “Abrir Navegador” dentro del contenedor de “Do”: Figura 4-29. Cortar actividad Figura 4-30. Mover actividad 33 33 Automatización de procesos mediante la herramienta Uipath Arrastramos todos los pasos de la secuencia dentro del contenedor de “Cuerpo” de nuestro Bucle: En el primer “Escribir en” vamos a colocar la información de la fila de nombres de nuestro csv, para ello escribimos: row(“Nombre”).ToString En el segundo escribimos: row(“Apellido”).ToString y en el tercero: row(“Mail”).ToString Hemos terminado toda nuestra secuencia, ahora volvemos al diagrama de flujo de trabajo “Main” y nos aseguramos de conectar los nodos de la siguiente manera: Figura 4-31. Actividades Escribir en Ejemplos Prácticos De Automatización 34 Para terminar este ejemplo del proyecto, solo nos faltaría añadir dos cosas nuevas. La primera, una nueva actividad, vamos a Disponible-> Autimatización UI-> Navegador-> Asociar Navegador. Arrastramos la actividad dentro del “Do” de “Abrir Navegador”, dentro de “Secuencia”. Esta actividad evita que, para cada iteración del bucle, se abra otra ventana del navegador con el formulario. Figura 4-33. Actividad Asociar Navegador Figura 4-32. Conectar bloques 35 35 Automatización de procesos mediante la herramienta Uipath La segunda, añadir otro clic después del primero, para volver a la página del formulario. Capturando el “Enviar otra respuesta”. También se ha añadido una actividad de “Retraso”, para darle un respiro al robot, al terminar una iteración. Esta está en Disponible-> Flujo de trabajo-> Control. 4.1.3 Resultados Una vez se ejecuta el robot se comprueba que rellena un formulario y envía un formulario para cada persona que hay en el Excel de entrada. Figura 4-34. Clic Enviar Respuesta Figura 4-35. Botón Enviar Respuesta Ejemplos Prácticos De Automatización 42 Para cerrar la página de Google con la información que ya hemos extraído, creamos otra actividad, “Cerrar pestaña”, en Disponible-> Automatización de UI -> Navegador-> Cerrar Pestaña. Nos vamos al main y para trabajar más ordenados, podemos minimizar el bloque de secuencia, clicando en la flechita que aparece en la esquina superior derecha del bloque. También se puede cambiar el nombre de la secuencia, así quedan los bloques mucho más accesibles. Esto se haría haciendo doble clic en “Secuencia”. Figura 4-47. Actividad Cerrar pestaña Figura 4-48. Minimizar secuencia Figura 4-49. Cambiar nombre de secuencia 43 43 Automatización de procesos mediante la herramienta Uipath A continuación, dependiendo de la temperatura y el tiempo que haga, el robot tendrá que recomendarte si coger una ropa u otra. Es decir, tendrá que tomar decisiones. Por eso se hace uso de un Diagrama de Flujo, en Disponible-> Flujo de Trabajo -> Diagrama de Flujo. Trabajando dentro de este bloque, añadimos un “If”, en Disponible-> Flujo de Trabajo-> Control-> Si Figura 4-51. Actividad Si Figura 4-50. Diagrama de Flujo Ejemplos Prácticos De Automatización 44 Dentro del bloque, añadimos la condición del “If”, de la forma nombre_variable.Contains(“valor_variable”), por ejemplo, Tiempo.Contains(“Lluvia), o Tiempo.Contains(“Tormenta”). Se hace uso del operador lógico or para sumar las condiciones. Pinchamos en la opción de Mostrar más. Nos aparecerá dos casillas, la de “Entonces” y la de “Si no”. En la casilla de “Entonces”, agregamos la actividad de “Asignar”, en ella creamos una nueva variable haciendo clic derecho. La llamamos, en este caso, ropa_lluvia y va a guardar el mensaje para cuando haga día de lluvia, tormenta o chubascos. Figura 4-52. Condición de la Actividad Si Figura 4-53. Actividad Asignar 45 45 Automatización de procesos mediante la herramienta Uipath 4-También se debe marcar como variable global, como hemos visto antes: En Disponible-> Flujo de trabajo-> Diagrama de Flujo, arrastramos la actividad “Decisión de Flujo” después del bloque del “Si”. Este flujo será para el caso en el que haya menos de 27 grados de temperatura. En el cuadro de la derecha rellenamos el valor de la condición, de la forma: cint(nombre_variable)<27, en este caso el nombre_variable es grados. Una vez impuesta la condición, exponemos los casos mediante la actividad “Asignar”. El primer caso contiene la variable para la sugerencia de ropa. Figura 4-54. Cambíar Ámbito Figura 4-55. Decisión de Flujo Ejemplos Prácticos De Automatización 46 No hay que olvidarse de cambiar el ámbito de la variable nueva. Ahora creamos otro Flujo de decisión para cuando hay más de 35 grados de temperatura. En este caso, la sugerencia de ropa será distinta. Figura 4-56. Primer caso Figura 4-57. Cambiar Ámbito 47 47 Automatización de procesos mediante la herramienta Uipath En el caso de que la temperatura esté entre 27 y 35 grados, la variable de Sugerencia de ropa tendrá otro valor. Figura 4-58. Segundo caso Figura 4-59. Tercer caso Ejemplos Prácticos De Automatización 48 Para finalizar la ejecución de este robot, podemos mostrar un mensaje con toda la información que hemos recogido de Google. En Disponible-> Sistema-> Cuadro de Diálogo, cogemos “Bandeja de mensajes” e introducimos las variables que hemos ido creando para así mostrar la información correspondiente. Se hace de la forma siguiente: "La temperatura en" + city + "is:" + grados + "grados." + vbCr + Tiempo + vbCr +Sugerencia_ropa + ropa_lluvia Es decir, lo que va entre comillas se va a mostrar tal cual, y lo que va sin comillas son las variables. vbCr es una constante que hace volver al principio de la línea. Representa un carácter de retorno de carro para las funciones de impresión y visualización. 4.2.3. Resultado Ejecutando el robot comprobamos que funciona correctamente, nos muestra toda la información del tiempo de la ciudad que deseemos. Figura 4-60. Actividad Bandeja de Entrada 49 49 Automatización de procesos mediante la herramienta Uipath Funcionalidades que se han utilizado en estos robots: ▪ Web scraping (abrir y buscar en el navegador web, obtener datos web) ▪ Leer datos de un Excel o base de datos ▪ Condiciones If y mover archivos de carpetas. Figura 4-61. Ventana Introducir una ciudad Figura 4-62. Resultado Ejecución Robot Ejemplos Prácticos De Automatización 50 4.3 Robot supermercado 4.3.1 Robotic Enterprise Framework Es un template que nos brinda Uipath para automatizar nuestros procesos. Nos ofrece varias características, la primera la estandarización del desarrollo. Cuando estamos creando una solución de software es muy importante ya que los programadores pueden hacer la solución como quieran, pero si ya tienen un marco de trabajo de cómo deberían trabajar, sería muy útil para facilitar el proceso de conocer cómo están construidas las soluciones [13]. La segunda característica que brinda es el manejo correcto de excepciones. Esto puede llegar a ser un problema cuando estamos desarrollando proyectos en RPA. El RE-Framework ya nos da unas bases y nos sirve de guía para manejar excepciones dentro de Uipath. Otra peculiaridad que ofrece, es que por defecto trae una forma para recuperar las excepciones. No es la forma mejor para hacerlo pero es muy básica y a partir de la cual se pueden hacer procesos más complejos. Sistemas de logs con el orquestador, son muy importantes. Tiene unos campos y opciones extra para conectar el orquestador con la parte de desarrollo que hemos creado. Ofrece también funcionalidades de consulta con el orquestador, va ligado en que nos podamos conectar directamente y extraer la información que necesitemos, o si en el orquestador necesitáramos hacer consultas manuales, también las podríamos sacar. En resumen, nos brinda la facilidad de interacción con el orquestador. La última característica, es reusable, se puede utilizar transveralmente con otros proyectos. Figura 4-63. Robotic Enterprise Framework 51 51 Automatización de procesos mediante la herramienta Uipath Un vistazo general de qué es el RE-Framework se puede ver en la figura siguiente: Tenemos un General Business Process y dentro temenos que poner el nombre del proceso, la descipción e información adicional como quien es el autor, información de contacto, las aplicaciones con las que interactúa y si require de alguna configuración externa para que el flujo funcione correctamente. Esto es muy útil porque así se empieza a estandarizar el proceso. Aparecen cuatro estados generales los cuales son Initialization, Get Transaction Data, Process Transaction y End process. En Initialization podemos encontrar que se asigna una variable SystemException como Nothing y tenemos las lecturas de un archivo que se llama Config. Este es un archivo de Excel que nos va a permitir transferir variables desde ese archivo Excel hacia nuestro proceso en Uipath. Figura 4-64. Vista general del REF Ejemplos Prácticos De Automatización 58 El último proceso de No Comunes, Navegar_a_página_principal.xaml. Simplemente este proceso es para asegurarnos de que estamos en la página adecuada, al volver a meter el producto con coste menor en la barra de búsqueda. 4.3.4 Resultado Para automatizar acciones específicas en la interfaz de usuario, se debe interactuar con varias ventanas, botones, listas desplegables y muchos otros. Una de las formas en que se pueden identificar los elementos de la interfaz de usuario es usando su posición en la pantalla, pero esto no siempre es confiable. Para superar este problema, UiPath Studio utiliza los selectores. Estos almacenan los atributos de un elemento de interfaz gráfica de usuario, en forma de un fragmento XML. La mayoría de las veces, Studio genera automáticamente los selectores y no requieren más información, especialmente si las aplicaciones que está intentando automatizar tienen una interfaz de usuario estática. Figura 4-76. Registro en Uipath Figura 4-77. Proceso Navegar a la página principal 59 59 Automatización de procesos mediante la herramienta Uipath Sin embargo, algunos programas de software tienen diseños cambiantes y nodos de atributos con valores volátiles, como algunas aplicaciones web. UiPath Studio no puede predecir estos cambios y, por lo tanto, es posible que deba generar manualmente algunos selectores. Al ser la página web del supermercado una interfaz de usuario dinámica, he encontrado algunos problemas con los selectores. Las funcionalidades que se ven en el robot son: • Manejo de excepciones. • Crear información en Excel o base de datos. • Manejar Excel (office) de manera intuitiva. • Mandar email. • Robotic Enterprise Framework de Uipath CONCLUSIONES 60 5 CONCLUSIONES Con este trabajo se han visto las ventajas de usar las tecnologías y herramientas RPA tanto en las empresas como en la vida diaria de las personas. Todo esto forma parte de la famosa Transformación Digital. Las estimaciones de cara a los ingresos mundiales del software de automatización de procesos robóticos son optimistas y se prevee que se alcanzarán los casi 2000 millones de dólares para este 2021, lo que supone un aumento del 19,5% desde 2020. Se espera que el mercado de RPA siga creciendo a tasas de dos dígitos hasta 2024. El motor clave de los proyectos de RPA es su capacidad para mejorar la calidad, velocidad y productividad de los procesos, cada uno de los cuales es cada vez más importante a medida que las organizaciones intentan satisfacer las demandas de reducción de costes durante la COVID-19. Es preciso recalcar que solo se podrán automatizar procesos que sean repetitivos, basados en reglas y estructurados. Los proyectos de automatización tienen un gran impacto en los trabajadores de las empresas, los cuales, pueden ver amenazado su puesto de trabajo, lo que puede crear cierto rechazo a la inclusión de esta tecnología. Para evitar esto, es importante que las empresas se formen y formen a sus empleados acerca de los beneficios de la RPA, cuyo fin no es eliminar puestos de trabajo, sino realzarlos permitiendo a las personas que dediquen su tiempo a tareas de más valor, y así facilitarles su día a día. Como se ha visto también, hay varias opciones de herramientas para implementar esta tecnología. Como son Blue Prism, Automation Anywhere y Uipath. Como conclusión se ha decidido que la más completa es la última, Uipath. Posee más facilidades de formación desde cero y además ofrece una versión Community Edition gratuita. Blue Prism está más enfocada a empresas más grandes y Automation Anywhere a empresas medianas. Los ejemplos prácticos realizados para este trabajo demuestran que se pueden llegar a hacer robots de software que nos sirvan para la vida diaria. Por otro lado, si miramos las predicciones en el avance de la RPA según los expertos, podemos sacar líneas futuras para este trabajo, [12],[14]: • La RPA se volverá extremadamente relevante cuando la economía global cambie. • Los recién graduados tienen una inclinación natural a aprender más sobre la tecnología de automatización, lo que obligará a las empress a adoptar nuevos métodos en sus operaciones diarias. • La consolidación de los proveedores de RPA acelera la adopción. • Las empresas sienten naturalmente curiosidad por la implementación de RPA. • Habrá más avances significativos y espectaculares en los campos de la inteligencia y la automatización de procesos robóticos. • Integración con otras herramientas. • Integración con inteligencia artificial. 61 61 Automatización de procesos mediante la herramienta Uipath Referencias 62 REFERENCIAS [1] Taulli. T, «The robotics process automation handbook. A guide to implementing RPA systems» Apress, 2020. [2] Madakam, S.; Holmukhe, R.M; Jaiswal D.K., «The future digital work force: Robotic Process Automation (RPA) » TECSI FEA USP, Brazil, vol.2, 2019. [3] Langmann. C, «Robotic Process Automation (RPA) - Study on Characteristics of Successful RPA Implementations » ReserchGate, 2021, DOI: 10.13140/RG.2.2.28379.69921 [4] Mei, L. «Robotic Process Automation with Blue Prism Quick Star Guide: Create software robots and automate business processes. » Packt Publishing Ltd , 2018 [5] «Blue Prism vs Automation Anywhere vs Uipath» RPA training, [En línea]. Available: https://www.rpatraining.co.in/blue--prism--vs--automation--anywhere--vs--uipath/ . [Último acceso: Julio 2021]. [6] «Automation Anywhere es nombrado líder en RPA por el Cuadrante Mágico de Gartner 2019» RPA training, [En línea]. Available: https://www.automationanywhere.com/la/company/pressroom/automation-anywhere-named-a-leader-in-the-2019-gartner-magic-quadrant-for-rpa-software-6/ . [Último acceso: Julio 2021]. [7] Wasique Ali Ansari, Paritosh Diya, Sahishnu Patil, Sunita Patil , S.; Holmukhe, R.M; Jaiswal D.K., «A Review on Robotic Process Automation- The future of Business Organizations) » K. J Somaiya Institute of Engineering and Information Technology, 2019. [8] Sameera. K, «Comparative Analysis of RPA tools-Uipath, automation anywhere and Blue Prism», International Journey of Computer Science and Mobile Applications, vol. 8, 2020. DOI: 10.47760/ijcsma. 2020.v08i11.001 [9] «RPA y la automatización de pruebas funcionales.», [En línea]. Available: https://www.sdos.es/blog/rpa-y-la-automatizacion-de-pruebas-funcionales. [Último acceso: Julio 2021]. [10] «Casos de uso de RPA.», [En línea]. Available: https://www.auraquantic.com/es/casos-de-uso-de- rpa/. [Último acceso: Julio 2021]. [11] L. Ivancic, D. S. Vugec, V.B. Vuksic, «Robotic process automation: Systematic literature review.», Proc. Int. Conf. Bus. Process Manage, Cham, Suiza, 2019. [12] «The Evolution of Robotic Process Automation (RPA): Past, Present, and Future» UiPath, 26 Julio 2016. [En línea]. Available: https://www.uipath.com/blog/the-evolution-of-rpa-past-present-and-future. [Último acceso: Julio 2021]. [13] «Robotic Enterprise Framework» [En línea]. Available: https://docs.uipath.com/studio/docs/roboticenterprise-framework [Último acceso: Julio 2021]. [14] «¿Cuál es el futuro de la RPA?» [En línea]. Available: https://www.vectoritcgroup.com/techmagazine/artificial-intelligence/cual-es-el-futuro-de-la-rpa/ [Último acceso: Julio 2021].