Rezygnujemy z płatnych platform RPA i opieramy się na OpenSource (OpenRPA)

Wprowadzenie

Na Habrze wcześniej bardzo szczegółowo omawiano temat Automatyzacji aplikacji GUI na desktopie w Pythonie. W tamtym czasie ta artykuł bardzo mnie zainteresował, ponieważ ujawnia elementy podobne do tych stosowanych w tworzeniu robotów. A ponieważ w mojej pracy zawodowej zajmuję się robotyzacją procesów biznesowych w firmie (RPA - dziedzina, w której do niedawna nie było pełnoprawnych odpowiedników OpenSource), ten temat był dla mnie bardzo aktualny.

Najlepsze dostępne rozwiązania IT w zakresie RPA (UI Path, Blueprism, Automation Anywhere i inne) mają 2 istotne problemy:

  • Problem 1: Techniczne ograniczenia funkcjonalności platformy, ponieważ skrypty robotów są tworzone tylko w graficznym interfejsie (tak, istnieje możliwość wywoływania kodu programowego, ale ta możliwość ma pewne ograniczenia)
  • Problem 2: Ekstremalnie droga polityka licencyjna sprzedaży tych rozwiązań (dla najlepszych platform około 8000$ za jeden robot pracujący non-stop rocznie). Stwórzcie kilkanaście robotów, aby trafić na dużą roczną sumę w postaci opłat licencyjnych.

Ponieważ ten rynek jest bardzo młody i aktywny, już teraz możesz łatwo znaleźć w Google 10+ rozwiązań robotyzacji o różnej polityce cenowej. Ale pełnoprawnego rozwiązania OpenSource, do niedawna, znaleźć było niemożliwe. Mówimy tutaj o pełnoprawnym OpenSource, ponieważ częściowe wolne rozwiązania robotyzacji można znaleźć, ale oferowały tylko część kluczowych technologii, na których opiera się koncepcja RPA.

Na czym zatem opiera się koncepcja RPA?

RPA (Automatyzacja Procesów Robotycznych) - to jedna z najbardziej opłacalnych form osiągania celów. Ponieważ RPA zakłada, że nie trzeba rezygnować ze wszelkich systemów legacy firmy, a stworzyć niezbędny skrypt automatyzacji na bazie tych systemów - przynosi to korzyści zarówno pod względem szybkości rozwoju (ponieważ nie trzeba przerabiać istniejącego zoo systemów), jak i wyników biznesowych (oszczędność PŚE/FTE, wzrost przychodów firmy, zmniejszenie wydatków firmy).

W podstawie narzędzi RPA leżą następujące technologie:

  • zarządzanie otwartymi stronami internetowymi w przeglądarkach;
  • zarządzanie otwartymi aplikacjami GUI na desktopie;
  • zarządzanie myszą i klawiaturą (naciskanie klawiszy, skróty klawiszowe, przyciski myszy, poruszanie kursorem);
  • wyszukiwanie graficznych elementów na ekranie pulpitu w celu zastosowania dalszych działań myszą i/lub klawiaturą;

Wieloletnie doświadczenie praktyczne pozwoliło nam pokazać, że to właśnie ten zestaw technologii umożliwia zautomatyzowanie praktycznie każdego procesu biznesowego, w których nie jest wymagany element rozpoznawania/zastosowania sztucznej inteligencji (w takich przypadkach należy podłączyć do robota odpowiednie biblioteki dostępne we współczesnym świecie IT). Brak chociaż jednego z wymienionych narzędzi znacząco wpływa na możliwości RPA.

W końcu wszystkie narzędzia RPA można znaleźć w internecie. Czego więc brakuje?

Brakuje tego, co najważniejsze — brakuje ich integralności. Integralności, która pozwoli na uzyskanie efektu synergii z wykorzystania różnych narzędzi (web, gui, mysz, klawiatura) w jednym skrypcie robota, co często jest koniecznością (jak pokazuje praktyka) podczas tworzenia. To właśnie ta kluczowa możliwość jest oferowana przez wszystkie czołowe platformy RPA, a teraz ta możliwość stała się dostępna dzięki pierwszej platformie RPA OpenSource OpenRPA

Jak działa OpenRPA?

OpenRPA to projekt OpenSource oparty na języku programowania Python 3, który składa się z najlepszych dostępnych bibliotek python, które pozwalają na realizację niezbędnego zestawu narzędzi platformy RPA (lista kluczowych narzędzi RPA patrz powyżej).

Lista kluczowych bibliotek:

  • pywinauto;
  • selenium;
  • keyboard;
  • pyautogui

Ponieważ wszystkie biblioteki nie wiedzą o swoim istnieniu, w OpenRPA zaimplementowano najważniejszą funkcję platformy RPA, która pozwala na ich wspólne użycie. Szczególnie widoczne jest to w przypadku użycia biblioteki pywinauto do zarządzania aplikacją GUI na desktopie. W tej dziedzinie funkcjonalność biblioteki została rozszerzona do poziomu funkcjonalności, która jest oferowana w najlepszych platformach RPA (selektory dla aplikacji GUI, niezależność od rozdzielczości, studio do tworzenia selektorów itp.).

Podsumowanie

Współczesny świat IT jest dzisiaj na tyle otwarty dla wszystkich, że trudno sobie wyobrazić, iż wciąż istnieją obszary, w których dominują jedynie płatne rozwiązania licencyjne. Ponieważ polityka licencyjna silnie ogranicza rozwój tego kierunku, mam nadzieję, że będziemy w stanie zmienić tę sytuację: aby każda firma mogła sobie pozwolić na RPA; aby nasi koledzy IT mogli łatwo znaleźć pracę w RPA, niezależnie od sytuacji ekonomicznej w ich regionach (dzisiaj regiony z słabą gospodarką nie mogą sobie pozwolić na RPA).

Jeśli ten temat jest dla Ciebie interesujący, mogę w przyszłości przygotować tutorial specjalnie dla Habr na temat używania OpenRPA — pisz w komentarzach.

Dziękuję wszystkim i życzę miłego dnia!

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster