• Nie Znaleziono Wyników

Overview and Brief Discussion of the Most Popular RPA Technologies

2. Blue Prism

Blue Prism jest oprogramowaniem stworzonym przez międzynarodo-wą firmę programistyczną o tej samej nazwie. Bazuje ono na technologii Microsoft.net framework, przez co bardzo łatwo jest ją wykorzystać w pracy właśnie z aplikacjami stworzonymi w języku C, C++ czy C#. Dlatego też pierwsze wersje Blue Prism, które dawały możliwość automatyzowania czyn-ności wykonywanych na przeglądarce internetowej, współpracowały tylko z Internet Explorer (dopiero w późniejszych wersjach możliwość ta została rozszerzona o Chrome i Firefox). Dodatkowo Blue Prism ma także zasto-sowanie w pracy z aplikacjami typu Mainframe, które mimo swojej wieko-wości ciągle cieszą się dużym uznaniem chociażby w sektorze bankowym, jak również z oprogramowaniem bazującym na technologii Java.

Sam proces tworzenia oprogramowania nie przypomina tradycyjnego kodowania. Zamiast tego developer, posługując się gotowymi blokami, two-rzy strukturę algorytmu, która jest następnie wykonywana krok po kroku przez robota.

Rysunek 1. Przykładowa akcja stworzona w Blue Prism, służąca do logowania użytkownika w aplikacji, która podlega automatyzacji

 Źródło: opracowanie własne.

Przegląd najpopularniejszych technologii RPA oraz ich krótkie omówienie 141

Jak można zaobserwować na rysunku 1, po lewej stronie narzędzie zaopa-trzone jest w kilkanaście „bloków”, z których każdy pełni określoną funkcję w procesie tworzenia robota. Dodatkowo Blue Prism posiada kilkadziesiąt podstawowych funkcji, których działanie dobrze znane będzie programistom (szczególnie tym, którzy w swojej pracy mieli styczność z językiem VBA), a które również można wykorzystać przy konstruowaniu robota.

Mała ilość bloków operacyjnych i brak możliwości tworzenia nowych pociąga za sobą pewne ograniczenia przez co niektóre rozwiązania, w kla-sycznym programowaniu zajmujące kilka linijek kodu, tutaj wymagają roz-wiązań „okrężnych”. Z tego też powodu programowanie w BP można by przyrównać do budowania skomplikowanych budowli przy użyciu prostych fabrykatów. Twórcy oczywiście przewidzieli to, że czasami lepiej wykorzy-stać tradycyjne programowanie, dlatego też jeden z bloków daje możliwość wprowadzenia do robota kodu w języku VBA bądź C#. Wymagane jest jednak od RPA developerów, aby stosowali to rozwiązanie możliwie jak najrzadziej, ponieważ w zawodzie programisty robotów bardziej liczy się elastyczne myślenie i znajomość aplikacji biznesowych niż same programo-wanie. Wiąże się to z tym, że w założeniu robot ma być prosty w obsłudze, a wprowadzanie ewentualnych modyfikacji nie może stanowić tak dużego wyzwania, jak w przypadku programowania tradycyjnego.

Rysunek 2. Przykład definiowania elementów aplikacji przez Blue Prism na przykładzie aplikacji Windows Calculator

 Uwaga: element definiowany jest zaznaczony na fioletowo, a jego atrybuty, którymi Blue Prism się posługuje są transferowane prosto aplikacji. Tutaj również automatycznie zaznaczane są te atrybuty, za pomocą których Blue Prism będzie w dalszej pracy identyfikował dany element.

Źródło: opracowanie własne.

Sam model pracy z aplikacją jest różnorodny, w zależności od tego z jakie-go rodzaju aplikacją pracujemy. Najpopularniejszym trybem jest spy mode, polegający na „przechwytywaniu” elementów aplikacji wraz z ich atrybutami i odpowiednim manipulowaniu nimi tak, aby Blue Prism za każdym razem wykorzystywał odpowiednią część.

Zdarzają się oczywiście sytuacje, kiedy danego elementu nie da się zbadać, a tym samym nie jest możliwe jego wykorzystanie. Innym razem przyjdzie developerowi pracować z aplikacją typu Citrix. Jest to wirtualne środowisko, które obsługuje komputery stacjonarne i aplikacje, umożliwiając pracowni-kom pracę z dowolnego miejsca na świecie, jednocześnie zwiększając bez-pieczeństwo (ponieważ poufne dane są przechowywane na serwerze, a nie np. na laptopie). W tym wypadku Blue Prism, nie mając z taką aplikacją bezpośredniego połączenia, oferuje tryb tzw. Region Mode, gdzie nie pra-cujemy już na zdefiniowanych elementach aplikacji, ale na zrzutach ekra-nu, które robimy aplikacji i jej wybranym fragmentom, na których chcemy operować.

Kolejną funkcją Blue Prisma jest możliwość podzielenia konstrukcji robo-ta na dwie części: process layer i object layer3. Na pierwszy rzut oka obie te warstwy niczym się od siebie nie różnią (poza drobnymi wyjątkami), ponieważ w obu przypadkach konstruujemy algorytmy, które są wykonywane przez robota. Dopiero zagłębiając się w techniczne detale BP, poznajemy więcej różnic pomiędzy nimi. Pierwsza część odpowiada za logikę bizneso-wą, jak również służy do tworzenia ogólnej konstrukcji robota, druga sta-nowi część techniczną i to ona wykorzystywana jest do „komunikowania się” z aplikacją czy do wykonywania bezpośrednio w niej akcji. Nadmienić należy także, że akcje z poziomu object layer nie są wykonywane samodziel-nie, a za pośrednictwem process layer, gdzie są umieszczone odwołania do odpowiednich akcji.

Podsumowując wyżej opisaną technologię, ze względu na prostą budowę jest ona najlepsza dla początkujących RPA developerów. Nie oznacza to oczywiście, że nie jest ona przeznaczona do skomplikowanych projektów, jednak nieskomplikowany interfejs sprawia, że użytkownik jest w stanie szyb-ko nauczyć się poruszania po oprogramowaniu.

3 Wszystkie nazwy podawane w języku angielskim są nazwami oficjalnymi stosowanymi w doku-mentacji opisywanych technologii i nie posiadają polskiego odpowiednika.

Przegląd najpopularniejszych technologii RPA oraz ich krótkie omówienie 143

3. UiPath

UiPath jest to kolejne oprogramowanie bazujące na technologii .net fram-work, jednak w porównaniu z Blue Prism różni się zarówno pod względem samego tworzenia robotów, jak i wyglądu. Interfejs, podobnie jak w przy-padku Blue Prism, podzielony jest na kilka sekcji, gdzie główna (największa) służy do konstruowania robota. W przeciwieństwie do BP, gdzie używali-śmy odpowiednich bloków, w UiPath tworzymy sekwencje, które następnie układamy w odpowiedniej kolejności, tworząc strukturę oprogramowania, nazywaną fachowo flowchart.

Rysunek 3. Przykład sekwencji w UiPath, która stanowi cześć składową robota



Źródło: opracowanie własne.

Ogólnie przyjęło się konstruować robota w taki sposób, aby główna część stanowiła konstrukcję typu flowchart, a jej składowe były sekwencjami.

Wymogi te są po to, aby dokonać pewnej formy standaryzacji w tworzeniu oprogramowania, jednak to, w jaki sposób developer faktycznie będzie two-rzył swoje oprogramowanie zależy od niego.

Możliwe są również konstrukcje zagnieżdżone, np. umieszczanie jednego flowchart w drugim, a dodatkowo umieszczenie sekwencji w zewnętrznym.

Najważniejsze, aby jak w przypadku tradycyjnego programowania, aplikacja była przejrzysta i czytelna dla innych developerów.

Rysunek 4. Przykład konstrukcji typu flowcharta w UiPath, który stanowi alternatywę dla sekwencji



Źródło: opracowanie własne.

Kolejną rzeczą odróżniającą UiPath od Blue Prism jest sama mechanika łączenia sekwencji, które polegają na bezpośredniej obsłudze aplikacji oraz tych, które stanowią logikę dla obsługi danych. O ile w BP (o czym wspo-mnieliśmy wcześniej) ma to miejsce na dwóch różnych poziomach, o tyle w UiPath wszystko odbywa się na jednej płaszczyźnie bez wywoływania stwo-rzonych wcześniej akcji.

Wspomniana technologia zawiera także o wiele więcej wbudowanych funkcji, które z jednej strony zwiększają funkcjonalność, ale sprawia że dla początkującego developera nauczenie się jej nie jest zadaniem łatwym4.

UiPath na tle Blue Prisma wyróżnia się ponadto bardzo przydatną funk-cją, jaką jest możliwość nagrywania makr, czyli rejestrowanie krok po kroku czynności użytkownika i następnie ich modyfikowanie oraz odtwarzanie.

Przypomina to bardzo nagrywanie makr w Excelu, które można edytować, ingerując w kod programu.

4 Nadmienić tutaj należy, że podobnie jak w przypadku Blue Prism, UiPath także wykorzystuje funkcje technologii Microsoft.

Przegląd najpopularniejszych technologii RPA oraz ich krótkie omówienie 145