Diseño de botsreutilizables

Revise las pautas para comprender mejor cómo desarrollar bots o realizar subtareas para la reutilización, desde el diseño y la creación hasta la reutilización.

Definir requisitos previos, entrada, salida y variables
Cuando diseñe bots para reutilización, defina lo siguiente:
  • Documente todos los prerrequisitos necesarios sobre cómo usar su bot ya sea por sí solo o como una subtarea.
  • Al crear sus bots, defina los valores como entrada, salida o local. Las variables de entrada y salida se utilizan cuando el bot está diseñado para utilizarse como una subtarea, lo que permite recibir y pasar valores hacia o desde otra llamada de bot.
  • Proporcione descripciones de variables significativas al definir variables de entrada y salida para que otros desarrolladores sepan cómo interactuar con su subtarea.
  • Cumpla con un estándar establecido para las pautas de nomenclatura de variables. Revise las variables de Automation Anywhere definidas por el usuario para las pautas de nomenclatura de variables. Sus variables (definidas por el usuario)
Siga el principio de responsabilidad individual
Los Bots desarrollados para reutilización deben seguir el principio de responsabilidad individual que establece que cada subtarea o componente debe tener responsabilidad sobre una sola parte de la funcionalidad del bot general y que esa subtarea o componente debe encapsular esa responsabilidad completamente.

Otros ejemplos de responsabilidad individual:

  • Una subtarea que procesa una transacción individual, pero que se puede llamar múltiples veces para cada transacción en una lista.
  • Una subtarea que recopila datos de visualización de pantalla en una sola página de un sitio web, pero que se puede llamar múltiples veces a medida que un bot atraviesa la paginación.
Consideraciones sobre el diseño de los bots
Considere los siguientes patrones en base a los cuales se deben desarrollar plantillas para su uso:
  1. Subbots, bot maestro y bot principal
    • bot principal: Se llama a este bot directamente para iniciar el proceso, a través de mecanismos que incluyen la programación a través de la Control Room o la llamada a la API. Incluya los siguientes pasos principales del proceso en la sección PROBAR:
      1. Configuración inicial del proceso.
      2. Validación de que la configuración fue exitosa. Por ejemplo, compruebe si existen todos los archivos y carpetas necesarios o si los valores de las variables iniciales están rellenados como es debido.
      3. Ejecute la LIMPIEZA PREVIA AL PROCESO del escritorio.
      4. Llame al bot principal para ejecutar la lógica empresarial del proceso.

      En la sección FINALMENTE, ejecute la LIMPIEZA POSTERIOR AL PROCESO del escritorio.

    • bot principal: Este bot llama a los subbots según sea necesario para ejecutar la lógica empresarial del proceso. Incluya los siguientes pasos principales del proceso en la sección PROBAR:
      1. Validación de cualquier entrada. Por ejemplo, los valores de las variables de entrada del bot principal.
      2. Ejecución de subbots.
      3. Validación de cualquier salida.
      4. Garantice que se llene cualquier valor de variable de salida basado en la ejecución del bot principal para volver al bot primario.

      En la sección CAPTURAR, registre el error y garantice que se llene cualquier valor de variable de salida, por ejemplo, oStrResult para devolverlo al bot primario.

    • Subbots
      • El bot primario o el bot principal llaman a un subbot para ejecutar la lógica empresarial real requerida para la automatización. También se les conoce como tareas auxiliares o tareas utilitarias, porque su único propósito es ayudar a la tarea que hace la llamada.
      • Utilice las variables de salida para devolver un indicador de resultado al bot que hace la llamada, ya sea el bot principal u otro subbot. Por ejemplo, outStrResult. El valor contiene un mensaje de error si el procesamiento no fue exitoso debido a la ocurrencia de un error o una excepción.
  2. Bot principal y subbots: Este patrón incluye el bot primario y el bot principal en un único bot principal. El patrón de diseño del subbot es similar al patrón de diseño explicado anteriormente.
Abrir y cerrar aplicaciones
Cualquier aplicación, archivo o ventana que abra un bot o subtarea debe ser cerrado por el mismo bot o subtarea.
  • Por ejemplo, cuando un bot abre Microsoft Excel para realizar una operación de hoja de cálculo, verifique que la hoja de cálculo y Excel estén cerrados cuando el bot finalice el procesamiento.
  • Cierre las aplicaciones cuando la ejecución del bot sea exitosa o no exitosa.
  • Utilice el bloqueo Finalmente de la operación Intentar/Capturar/Finalmente para asegurarse de que las aplicaciones estén cerradas independientemente del éxito del procesamiento de la tarea.
  • En caso de que las aplicaciones no respondan durante la prueba, considere usar el indicador de comandos para forzar el cierre de las aplicaciones (anularlas). Por ejemplo, para forzar el cierre de Power Point, la operación de la línea de comandos sería:
    Taskkill /IM powerpnt.exe /F
Manejo de errores
Después de completar la tarea, verifique que el bot maneje correctamente cualquier falla o excepción.
  • Cada tarea o subtarea debe manejar sus propios errores.
  • Una excepción no controlada en una subtarea puede causar problemas en una tarea principal.
  • Utilice los bloqueos Intentar/Capturar/Finalmente en el nivel raíz de cada bot.
  • Utilice los bloqueos Intentar/Capturar dentro de un bucle si desea intentar una operación múltiples veces antes de informar una falla.
Manejo de eventos o excepciones
Aparte de los errores de acción que son capturados por Intentar/Capturar, debe realizar comprobaciones de código para otros procesos como eventos o excepciones. Si se produce una determinada condición de proceso, notifique o registre estas condiciones para un análisis adicional.
  • Desarrolle un TaskBot manejador de eventos configurable que minimice la necesidad de cambiar el código si cambian las acciones. Por ejemplo, mantenga un archivo XML que contenga una definición de todos los posibles eventos o excepciones y cualquier requisito de notificación cuando ocurran esos eventos o excepciones.
  • En el código, cuando ocurran estos eventos o excepciones, escriba la información en un registro de eventos. También puede agregar los usos de la memoria y hacer una captura de pantalla.
  • Ejecute el TaskBot manejador de eventos para procesar el evento o la excepción. Por ejemplo, emita una notificación utilizando parámetros como el destinatario del correo electrónico, el destinatario de la CC o el asunto del archivo XML.
  • Si los requisitos de notificación varían para cada entorno, o cambian con el tiempo, se puede actualizar el archivo de configuración sin tener que cambiar el código.
Ejecución de bots en otras computadoras
Al diseñar un bot, habilítelo para que se ejecute en computadoras que no sean la computadora en la que se creó un bot.
  • Utilice variables para rutas de archivos locales, recursos compartidos de red o títulos de ventanas para que su bot pueda ejecutarse correctamente desde otras máquinas.
  • Considere usar valores globales para marcadores de entorno o recursos compartidos de red a los que múltiples bots necesitan acceso.
  • Utilice caracteres comodines para los títulos de ventanas cuando sea apropiado para habilitar bots para que se ejecute independientemente del entorno específico o la versión de la aplicación de destino. Por ejemplo, en lugar de utilizar
    Salesforce - Professional Edition - Internet Explorer
    utilice las siguientes opciones:
    Salesforce - * - Internet Explorer
Uso de indicadores, cuadros de mensajes y bucles infinitos
Las acciones de indicadores y cuadros de mensajes evitan que el bots se ejecute cuando se espera la entrada de un usuario. A menos que se requiera una entrada de usuario, diseñe el bots sin usar afirmaciones de indicador.
  • Al utilizar bucles, asegúrese de que todos los bucles tengan un final definido al definir claramente su número de iteraciones o especificar dónde deben existir acciones de bucle de interrupción.
  • Si su bot está diseñado para ejecutarse como un bot no supervisado, elimine o inhabilite cualquier acción de indicador o cuadro de mensaje.
  • Si está diseñando bots para un escenario de automatización supervisado, los cuadros de mensajes y los indicadores a menudo son razonables o necesarios para que los bots se ejecuten según lo esperado. Utilice cuadros de mensaje para mostrar diferentes variables, como respuestas, salidas o valores.
Almacenamiento de datos confidenciales en la Credential Vault
Control Room incluye la Credential Vault que se puede utilizar para almacenar información confidencial, como nombres de usuario, contraseñas, claves API y tokens.
  • Al diseñar un bot, cree un casillero en Control Room y utilice la Credential Vault para almacenar credenciales y recuperarlas según sea necesario haciendo referencia a la credencial y al atributo. Esto les permite a los usuarios crear bots que consuman API o realicen inicios de sesión sin la necesidad de que los diseñadores de bots directamente modifiquen el código fuente de las credenciales requeridas dentro de un bot.
  • No modifique el código fuente de las credenciales confidenciales en un bot, o una subtarea, ya que el almacenamiento con el código fuente modificado en un bot introduce un riesgo de seguridad.
  • Cuando sea necesario utilizar valores de la Credential Vault en un bot, verifique que todos los nombres y credenciales del casillero estén claramente definidos en la documentación del bot. Si es necesario, incluya detalles sobre cómo obtener credenciales, por ejemplo, una clave API o un token.
Prueba de tareas independientes
Al crear bots para reutilización, diséñelos de manera que puedan probarse independientemente de otras subtareas.
  • Practique el enfoque de desarrollo basado en pruebas (TDD): Al agregar un nuevobot o una nueva característica en una aplicación, escriba un caso de prueba para estos.
  • En un caso de prueba, defina la función específica que valida esa característica o funcionalidad.
  • Para el principio de responsabilidad individual y la reutilización, cree muchas tareas más pequeñas que puedan probarse de manera independiente.
Uso de comentarios y pasos
Los comentarios les permiten a los desarrolladores proporcionar descripciones dentro de sus bots para que otros bot de otros desarrolladores de bot puedan comprender mejor para qué está diseñada cada sección, bloque de código o subtarea. Incluya comentarios claros para permitirles a los desarrolladores que comprendan el propósito de la función de un bloque de código determinado.
  • Cuando se envían los bots a la Bot Store, los comentarios demuestran cómo personalizar el bot.
  • El uso de comentarios facilita el mantenimiento de los códigos porque las descripciones de las secciones ayudan a identificar dónde se podrían requerir cambios para permitir que los desarrolladores trabajen para una resolución de problemas más rápida
  • Los comentarios sobre los bots que están en trabajo en proceso pueden ser útiles a la hora de crear marcadores de posición para futuros trabajos. Considere utilizar el comando TODO como recordatorio para agregar lógica al bot, pero actualice los comentarios cuando se complete el trabajo.
  • Automation 360 incluye la acción de Paso, que proporciona la capacidad de organizar el código en agrupaciones lógicas para mejorar la legibilidad y el flujo.
  • Cree un esquema de los principales objetivos de su bot mediante acciones de paso vacías y etiquetadas. Cuando haya terminado, regrese a cada paso y complete la lógica del paso.
Creación de archivos de registro
Identificar problemas sin registros puede ser difícil cuando los bots se ejecutan no supervisados en cualquier cantidad de Instancias de Bot Runner. Los desarrolladores de software, los equipos de asistencia técnica y los propietarios de bot confían en los registros para comprender dónde tienen problemas sus automatizaciones y cómo diagnosticar problemas. Los Bots deben registrar los errores para obtener detalles de los mismos.
  • Utilice el manejo de errores y capturas de pantalla para comprender mejor cuando un bot o una subtarea encuentra un error.
  • Utilice la plantilla de Bot Store A2019 que contiene capacidades básicas de manejo de errores, registro e instantáneas con la ubicación de registro raíz personalizable para mantener archivos de registro más antiguos.

    Bot Store bot template

  • Si es necesario, cree archivos de registro adicionales e incluya un historial de auditoría completo de todo lo que ha hecho un bot o una subtarea. Los archivos de registro adicionales pueden incluir información de auditoría, depuración y rendimiento sobre el bot, así como lo siguiente:
    • Hora de inicio y finalización del bot principal.
    • Hora de inicio y finalización de la subtarea.
    • El tiempo de finalización de hitos específicos definidos dentro del bot.
    • Cantidad de transacciones recibidas en un archivo de entrada.
    • Cantidad de transacciones procesadas correctamente o fallidas.