Renunciamos a plataformas RPA de pago y nos basamos en OpenSource (OpenRPA)

Introducción

Anteriormente, en Habr, se trató en detalle el tema De la automatización de aplicaciones GUI de escritorio en Python. En ese momento, me atrajo mucho este artículo porque revela elementos similares a los de la creación de robots. Y dado que, por mi actividad profesional, me dedico a la automatización de procesos empresariales (RPA — un área en la que no había análogos OpenSource funcionales hasta hace poco), este tema era muy relevante para mí.

Las principales soluciones de TI existentes en el ámbito de RPA (UI Path, Blueprism, Automation Anywhere y otras) presentan 2 problemas significativos:

  • Problema 1: Limitaciones técnicas en la funcionalidad de la plataforma, ya que los scripts de los robots se crean solo en una interfaz gráfica (sí, hay una opción para invocar código de programación, pero esta opción tiene una serie de limitaciones)
  • Problema 2: Una política de licencias de venta de estas soluciones extremadamente cara (Para las plataformas líderes alrededor de 8000$ por un robot en funcionamiento permanente al año). Haga una docena de robots para alcanzar una suma importante en licencias anuales.

Dado que este mercado es muy joven y muy activo, ya hoy puedes encontrar fácilmente en Google 10+ soluciones de automatización con diferentes políticas de precios. Pero hasta hace poco, era imposible encontrar una solución OpenSource totalmente funcional. Y hablo específicamente de soluciones OpenSource totalmente funcionales, porque es posible encontrar soluciones de automatización parcialmente libres, pero ofrecían solo parte de las tecnologías clave sobre las que se basa el concepto de RPA.

¿Sobre qué se basa el concepto de RPA?

RPA (Automatización de Procesos Robóticos) — es una de las formas más rentables de alcanzar un objetivo. Dado que RPA sugiere no renunciar a todos los sistemas heredados de la empresa, sino hacer el script de automatización necesario basado en esos mismos sistemas — esto da sus frutos tanto en términos de velocidad de desarrollo (porque no es necesario rehacer el zoológico existente de sistemas), como en términos de resultado empresarial (ahorro PHS/FTE, aumento de los ingresos de la empresa, reducción de gastos de la empresa).

Las herramientas de RPA se basan en las siguientes tecnologías:

  • control de páginas web abiertas en el navegador;
  • gestión de aplicaciones GUI de escritorio abiertas;
  • gestión del ratón y teclado (presionar teclas, atajos, botones del ratón, mover el cursor);
  • búsqueda de elementos gráficos en la pantalla del escritorio para realizar acciones posteriores con el ratón y/o teclado;

A través de años de experiencia práctica, hemos demostrado que este conjunto de tecnologías permite la robotización de prácticamente cualquier proceso empresarial donde no se requiere reconocimiento/aplicación de inteligencia artificial (en estos casos, es necesario conectar las bibliotecas correspondientes disponibles en el mundo actual de TI). La falta de al menos una de las herramientas mencionadas afecta significativamente las capacidades de RPA.

Después de todo, todas las herramientas de RPA se pueden encontrar en Internet. ¿Qué es lo que falta entonces?

Lo que falta es lo más importante: falta su integridad. La integridad que permitirá lograr un efecto sinérgico al usar diversas herramientas (web, gui, ratón, teclado) en un mismo script de robot, lo cual es a menudo una necesidad (como muestra la práctica) durante el desarrollo. Esta clave posibilidad es lo que todas las principales plataformas RPA ofrecen, y ahora esta posibilidad ha sido proporcionada por la primera plataforma RPA OpenSource OpenRPA

¿Cómo está estructurada OpenRPA?

OpenRPA es un proyecto OpenSource basado en el lenguaje de programación Python 3, que consiste en las mejores bibliotecas de Python existentes, que permiten implementar las herramientas necesarias para la plataforma RPA (la lista de herramientas clave de RPA se menciona arriba).

Lista de bibliotecas clave:

  • pywinauto;
  • selenium;
  • keyboard;
  • pyautogui

Dado que todas las bibliotecas no conocen la existencia de las demás, OpenRPA implementa una función crucial de la plataforma RPA que permite utilizarlas juntas. Esto se manifiesta especialmente al usar la biblioteca pywinauto para gestionar aplicaciones GUI de escritorio. En esta área, se ha ampliado la funcionalidad de la biblioteca al nivel funcional que se ofrece en las mejores plataformas RPA (selectores para aplicaciones GUI, independencia de versión, estudio de creación de selectores, etc.).

Conclusión

El mundo actual de TI es tan accesible para todos que es difícil imaginar que aún existen áreas dominadas únicamente por soluciones de licencias pagas. Dado que esta política de licencias limita en gran medida el desarrollo de este sector, espero que podamos cambiar esta situación: para que cualquier empresa pueda permitirse RPA; para que nuestros colegas de TI puedan encontrar fácilmente trabajo en RPA, independientemente de la situación económica en sus regiones (hoy en día, las regiones con economías débiles no pueden permitirse RPA).

Si este tema le interesa, puedo preparar un tutorial específicamente para Habr sobre el uso de OpenRPA; escríbame en los comentarios.

¡Gracias a todos y que tengan un buen día!

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster