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

wprowadzający

Wcześniej temat ten był szczegółowo omawiany na Habré Automatyzacja aplikacji desktopowych GUI w Pythonie. Artykuł ten bardzo mnie wówczas zaciekawił, gdyż ujawnił elementy podobne do elementów tworzenia robotów. A ponieważ ze względu na swoją działalność zawodową zajmuję się robotyzacją procesów biznesowych firmy (RPA to obszar, w którym do niedawna nie było w pełni funkcjonalnych analogów OpenSource), temat ten był dla mnie bardzo istotny.

Topowe istniejące rozwiązania IT z zakresu RPA (UI Path, Blueprism, Automation Anywhere i inne) mają 2 istotne problemy:

  • Problem 1: Ograniczenia techniczne funkcjonalności platformy w miarę tworzenia skryptów robotów tylko w interfejsie graficznym (tak, istnieje możliwość wywołania kodu programu, jednak możliwość ta ma szereg ograniczeń)
  • Problem 2: Niezwykle kosztowna polityka licencyjna sprzedaży tych rozwiązań (dla najlepszych platform około 8000 dolarów na jednego stale pracującego robota rocznie). Wykonaj kilkanaście robotów, aby otrzymać dużą sumę roczną w postaci opłat licencyjnych.

Ponieważ ten rynek jest bardzo młody i bardzo aktywny, teraz w Google można łatwo znaleźć ponad 10 rozwiązań robotyki z różnymi politykami cenowymi. Jednak do niedawna nie było możliwe znalezienie w pełni funkcjonalnego rozwiązania OpenSource. Co więcej, mówimy konkretnie o w pełni funkcjonalnym OpenSource, ponieważ można znaleźć częściowo bezpłatne rozwiązania robotyzacyjne, ale oferowały one tylko część kluczowych technologii, na których opiera się koncepcja RPA.

Na czym opiera się koncepcja RPA?

RPA (Automatyzacja procesów robotycznych) jest jedną z najbardziej opłacalnych form dotarcia do celu. Ponieważ RPA nie polega na rezygnowaniu z wszelakich dotychczasowych systemów firmy, ale na stworzeniu niezbędnego skryptu automatyzacji w oparciu o te właśnie systemy, owocuje to zarówno szybkością rozwoju (ponieważ nie ma potrzeby przerabiania istniejącego zoo systemów) oraz pod względem wyników biznesowych (oszczędności PSE/EPC, zwiększenie przychodów firmy, zmniejszenie wydatków firmy).

Narzędzia RPA opierają się na następujących technologiach:

  • zarządzanie otwartymi stronami internetowymi przeglądarki;
  • zarządzanie otwartymi aplikacjami graficznymi;
  • sterowanie myszą i klawiaturą (naciskanie klawiszy, skrótów klawiszowych, przycisków myszy, przesuwanie kursora);
  • wyszukaj elementy graficzne na ekranie pulpitu, aby wykonać dalsze czynności za pomocą myszy i/lub klawiatury;

Dzięki wieloletniemu doświadczeniu praktycznemu udało nam się wykazać, że ten konkretny zestaw technologii pozwala na realizację robotyzacji niemal każdego procesu biznesowego, który nie wymaga elementu rozpoznania/zastosowania sztucznej inteligencji (w tych przypadkach konieczny jest aby podłączyć do robota odpowiednie biblioteki dostępne w istniejącym świecie IT). Brak choć jednego z powyższych narzędzi znacząco wpływa na możliwości RPA.

Przecież wszystkie narzędzia RPA można znaleźć w Internecie. Czego w takim razie brakuje?

Brakuje jednak najważniejszej rzeczy – brakuje ich integralności. Integralność, która pozwoli zrealizować synergiczny efekt wykorzystania różnych narzędzi (web, gui, mysz, klawiatura) w jednym skrypcie robota, co często jest koniecznością (jak pokazuje praktyka) podczas rozwoju. Jest to kluczowa możliwość, którą zapewniają wszystkie najlepsze platformy RPA, a teraz zaczęto ją oferować pierwsza platforma OpenSource RPA OpenRPA

Jak działa OpenRPA?

OtwórzRPA to projekt OpenSource oparty na języku programowania Python 3, na który składają się najlepsze istniejące biblioteki Pythona, które pozwalają na wdrożenie niezbędnych narzędzi platformy RPA (lista kluczowych narzędzi RPA powyżej).

Lista kluczowych bibliotek:

  • pywinauto;
  • selen;
  • klawiatura;
  • pyautogui

Ponieważ wszystkie biblioteki nie wiedzą o swoim istnieniu, OpenRPA implementuje najważniejszą cechę platformy RPA, która pozwala na ich wspólne użycie. Jest to szczególnie widoczne w przypadku korzystania z biblioteki pywinauto do zarządzania aplikacją komputerową z graficznym interfejsem użytkownika. W tym obszarze funkcjonalność biblioteki została rozszerzona do poziomu funkcjonalności oferowanego w najlepszych platformach RPA (selektory dla aplikacji GUI, niezależność bitowa, studio tworzenia selektorów itp.).

wniosek

Współczesny świat IT jest dziś tak otwarty na wszystkich, że nawet trudno sobie wyobrazić, że nadal istnieją obszary, w których dominują wyłącznie płatne, licencjonowane rozwiązania. Ponieważ ta polityka licencyjna mocno ogranicza rozwój tego obszaru, mam nadzieję, że uda nam się odwrócić tę sytuację: tak, aby każdą firmę było stać na RPA; aby nasi informatycy mogli łatwo znaleźć pracę w RPA, niezależnie od sytuacji gospodarczej w swoich regionach (dziś regiony o słabej gospodarce nie mogą sobie pozwolić na RPA).

Jeśli ten temat Cię interesuje, to w przyszłości mogę stworzyć specjalnie dla Habr tutorial na temat korzystania z OpenRPA - napisz w komentarzach.

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

Źródło: www.habr.com

Dodaj komentarz