Blog

Odcinek 4. ODBC? Ogrom danych będących ciężarem?

Jestem elegancki, jestem uprzejmy – jestem już odpowiednio przygotowany, aby w kulturalny sposób automatyzować dla Was wiele procesów biznesowych. Jak doskonale wiecie firmy używają wielu aplikacji, pracują na wieloletnich systemach oraz przetwarzają ogromne ilości danych, których z dnia na dzień jest coraz więcej. Pewnego dnia wdaliśmy się z Tomkiem w dyskusje na temat ODBC. Bardzo lubię te nasze wspólne rozmowy – obaj uważamy, że niemożliwe nie istnieje: Okiem eksperta: Praca z danymi to nieodłączny element wielu procesów – Machine Learning, Data Science, a także RPA potrzebuje bardzo często operować na złożonych zbiorach danych z tysiącami rekordów. W każdym z tych przypadków, bardzo ważnym czynnikiem jest poprawność danych, a niestety czynnik ludzki jest mocno podatny na błędy. Jednakże możemy sobie w różny sposób radzić z tymi problemami. Podczas automatyzacji często mierzymy się ze złożonymi procesami, przetwarzającymi duże ilości danych, które mogą zatrzymać proces na różnym etapie, co powoduje mniejszą lub większą utratę czasu. Dlatego świetnym rozwiązaniem jest wykorzystanie baz danych automatyzowanych aplikacji w celu weryfikacji obsługiwanych danych. Aplikacje często same w sobie mają wbudowane funkcje walidacji pól wejściowych, a my dzięki dostępowi do nich możemy już na wstępnym etapie wykluczyć część błędów wpływających na proces. Bardzo użyteczna w tym temacie jest paczka UiPath.Database.Activities, dzięki której możemy stworzyć połączenie z bazą danych wykorzystując interfejs ODBC, a następnie pracować z danymi w trybie read i write. Za prosty przykład weźmy procesy pracujące w systemie ERP JD Edwards, w którym często automatyzacje wymagają stworzenia nowych rekordów (zazwyczaj przez połączone ze sobą aplikacje). Dodatkowo zaznaczmy, że jest to system w mniejszym stopniu przystosowany do automatyzacji, przez co, niektóre czynności można przyspieszyć jedynie w ograniczonym stopniu. Każda oszczędność czasu jest dla nas cenna, a wykluczenie błędnych czynności na wczesnym etapie jest bardzo pożądane. W tym systemie możemy przykładowe wejściowe dane (mające zostać wpisane w jednej z aplikacji) weryfikować już na samym początku, sprawdzając czy wskazane przez użytkownika dane w tabelach źródłowych przechowujących możliwe wartości dla tych pól istnieją. Dzięki takim zabiegom w kilka chwil możemy odrzucić błędne zadania, bez konieczności wyłapywania błędów już w trakcie procesowania zadań w systemie JDE, zyskując tak cenny dla użytkowników czas. Jest to też dodatkowa korzyść dla procesów o wysokim priorytecie oraz dużej złożoności. Poinformowanie użytkownika, że jego zadanie zawiera błędy, zanim tak naprawdę zostanie przetworzone, pozwala na zminimalizowanie problemu pilnych zadań wychodzących poza określone ramy czasowe. Obsługa interfejsu przez robota zapewne jest bardziej widowiskowa dla użytkowników. Natomiast wszystko, co możemy zrobić wykorzystując np. API w celu poprawy bezpieczeństwa, poprawności i wydajności robota, wydaje się rozsądne. W związku z tym, rekomendujemy współpracę robotów z bazami w celu poprawy wydajności, a co za tym idzie satysfakcji odbiorców naszych procesów. Autor: Tomasz Sioła – RPA Developer Foto: iStock

czytaj więcej »

Odcinek 3. Savoir-vivre w automatyzacji. Czy roboty potrafią być uprzejme?

Jak wiecie z pierwszych odcinków jestem dość nietypowy. Rozpoczynając pracę w XELTO DIGITAL byłem zwykłym robotem. Koledzy z zespołu każdego dnia uczyli mnie coraz to ciekawszych czynności, przez co mogłem pomagać naszym Klientom w codziennych zadaniach. Pewnego dnia pojawiła się Ona… Od tego momentu postanowiłem być nie tylko przydatny, ale również bardziej uprzejmy. Wystarczyła krótka rozmowa z Moniką i Kamilem, aby nauczyli mnie dodatkowych zasad savoir-vivre… Okiem Eksperta: W naszym zespole wychodzimy z założenia, że w procesie automatyzacji komunikacja między robotem a naszym klientem nie jest sprawą drugorzędną. Na potrzeby tego artykułu przez słowo “komunikacja” rozumiem wszelkie informacje i komunikaty, które wysyła procesujący robot do operatora lub użytkownika klienta za pomocą poczty e-mail. Mogą to być komunikaty o błędzie, raporty czy informacje o zakończeniu działania. Każda informacja wysłana przez robota do człowieka może być oschła czy nomen omen – automatyczna w odbiorze lub sympatyczna i mówiąc kolokwialnie, “ludzka”. Z naszych doświadczeń z klientami nasuwa się prosty wniosek: klient oczekuje, że robot będzie zwyczajnie uprzejmy w komunikacji. Co to oznacza dla nas, projektujących robota? Pamiętamy, że po drugiej stronie jest człowiek, któremu miło jest otrzymać komunikat zaczynający się od słów: „Drogi użytkowniku” albo „Uprzejmie informuję”. Zresztą, jeśli nasi klienci traktują robota jako wirtualnego pracownika czy kolegę, zrozumiałe jest przełożenie się takiego podejścia na język komunikacji tak, jak między lubiącymi się wzajemnie pracownikami. Czy robot potrafi mówić w każdym języku? Robot powinien być również poliglotą w takim stopniu, aby każdy użytkownik otrzymywał komunikaty od robota w swoim rodzimym języku. Niby drobna rzecz, ale to rzeczywiście działa. Maile wysyłane w języku angielskim, który nieodmiennie kojarzy się z językiem komputera odbierane są jako oschłe i zbyt oficjalne. I nie mówię tego w kontekście jakiegoś problemu ze zrozumieniem j. angielskiego po stronie klienta. Informacja w Twoim rodzimym języku (klienci anglosascy są poza tą konkurencją) jest po prostu przystępniejsza. Wiemy już, że zbudowanie takiej komunikacji nie wymaga większego wysiłku. A że warto, niech świadczy przykład informacji zwrotnej jaką dostaliśmy od naszego klienta: „Robot bardzo uprzejmy w komunikatach :)”. Korespondencja elektroniczna: Najczęściej wykorzystywanym przez robota narzędziem do wszelkiej komunikacji jest email, który w większości procesów pokrywa wszystkie potrzeby w tym zakresie. Za pomocą e-maila możemy poinformować użytkownika że robot rozpoczął proces, bądź też go zakończył. Informujemy o błędach systemowych, biznesowych, wysyłamy raport końcowy, albo informujemy o dowolnym zdarzeniu, które miało miejsce w trakcie wykonywania procesu. Od strony technicznej wysłanie maila, robot może wykonać wykorzystując zainstalowana na stacji roboczej aplikację klienta poczty. Taka metoda pozwala nam skorzystać z poczty firmowej bez konieczności posiadania, przechowywania, a co za tym idzie aktualizowania danych do logowania do skrzynki. Poza wykorzystaniem klienta, robot ma możliwość połączenia się z serwerem poczty za pomocą protokołów SMTP, POP3, IMAP, bądź też w przypadku poczty dostarczanej przez większych dostawców, łączenie się z serwerem poczty poprzez dedykowane do tego serwisy np. GSuite, Microsoft Exchange Server. Nie tylko komunikacja mailowa: Należy jednak pamiętać, że email mimo że jest bazową i najczęściej wybieraną formą komunikacji, roboty mają do dyspozycji więcej możliwości. W przypadku procesów których charakterystyka wymusza na nas szybki czas reakcji, bądź też większą liczbę interakcji z użytkownikiem, dobrym rozwiązaniem może być również wykorzystanie do komunikacji komunikatorów typu MS Teams, Skype, SameTime etc. Namiastką komunikacji robota z człowiekiem, może być również raport z przebiegu pracy robota pozostawiony w odpowiedniej lokalizacji na dysku sieciowym, co może być dobrym rozwiązaniem gdy chcemy uniknąć spamu, bądź też gdy nie mamy dostępnych odpowiednich narzędzi. Autorzy: Monika Stawicka – Business Analyst, Kamil Gawlista – RPA Developer

czytaj więcej »

Odcinek 2. Historia pewnej pieczęci, czyli PDF lakiem pachnący.

Dzisiaj chciałbym zaprezentować jak w XXI wieku potrafimy „przybić wirtualną pieczątkę”. Początki pieczętowania sięgają aż czasów starożytnych. W starożytnej Grecji i Rzymie używano ich do zabezpieczania korespondencji i zaświadczania autentyczności testamentu. Na przestrzeni wieków funkcja jak i sama metoda używania stempla ewoluowała. I tak jak brzmi tytuł jednego z moich ulubionych filmów „Diamenty są wieczne” to parafrazując powiem Wam, że stemple też takie są. Chciałbym Wam wspólnie z Kamilem opowiedzieć o jednym z naszych gotowych narzędzi jakim jest STAMPER, które pomagają naszym Klientom: Okiem Eksperta: Pliki o rozszerzeniu PDF zdominowały świat informatyczny i każdy kto ma choć minimalny kontakt z komputerem na pewno się na nie natknął. PDF-y dzięki swoim zaletom stały się dominującym formatem plików, w których publikujemy informacje tekstowe i graficzne szerszemu gronu odbiorców. Pliki te są również nierozłącznym elementem wielu procesów firmowych i korporacyjnych, w których publikowane są dokumenty, cenniki, broszury i wiele innych. Brak łatwej możliwości edycji, która jest immanentną cechą PDF-ów, z jednej strony jest dużą zaletą dzięki której pliki te zachowują swój zdefiniowany układ niezależnie od aplikacji w której go otwieramy, ale bywa również wadą, w momencie gdy np. chcemy treści zawierające się w PDFie szybko edytować albo opisać. Najbardziej popularne aplikacje do przeglądania tego typu plików, nie oferują takich funkcji wcale, bądź oferują je w bardzo ograniczonym zakresie. Na szczęście Adobe Systems już w 1996 roku stworzył rozwiązanie, które chociaż częściowo odpowiada na nasze potrzeby. Pliki o rozszerzeniu FDF będące zwykłymi plikami tekstowymi, można zaimportować do PDF, tworząc w nim dodatkową warstwę łatwo edytowalnych obiektów. W XELTO DIGITAL poszliśmy krok dalej i przygotowaliśmy rozwiązanie łączące robotykę i możliwości jaki daje nam format FDF. Stworzyliśmy produkt o nazwie STAMPER. Jest to narzędzie służące do pieczętowania PDF-ów, który może działać niezależnie, bądź też może być wpięty w większy proces, w trakcie którego chcielibyśmy, aby procesowane PDF-y były w odpowiedni sposób oznaczone. Pieczątki tworzone przez STAMPERA charakteryzują się dużą elastycznością. Poza treścią możemy dowolnie edytować takie atrybuty jak współrzędne na dokumencie, rozmiar tekstu, czcionka, kolor, obramowanie, tło, orientacja i wiele innych. Dzięki naszemu rozwiązaniu możesz nanieść dodatkowe informacje przed wydrukowaniem faktury, bądź też oznaczyć przeprocesowane dokumenty stosowną adnotacją. Wykorzystanie STAMPERA w trakcie automatyzowania procesów biurowych, otwiera przed Tobą wiele możliwości i sprawia, że pliki PDF w końcu mogą być w czytelny sposób oznaczone. Autor: Kamil Gawlista – RPA Developer

czytaj więcej »

Odcinek 1. ReCAPTCHA bez tajemnic.

Nazywam się Robotowski… Edward Robotowski. Tak wiem, brzmi jak historia o słynnym Agencie 007. Ale powiem Wam, że moje przygody są równie intrygujące co bohatera powieści Iana Fleminga. Dodatkowo jestem ogromnym fanem Jamesa Bonda i tak samo jak on uwielbiam nowinki technologiczne. Mamy też inny wspólny sekret, lecz o tym, kiedy indziej. Ale zacznijmy od początku. W ciągu najbliższych tygodni chciałbym zabrać Was w fascynujący świat automatyzacji, który mnie samego pochłonął bez granic. O wszelkich innowacjach oraz możliwościach jakie daje automatyzowanie procesów mógłbym opowiadać w nieskończoność. Dzięki pracy w zespole XELTO DIGITAL mogę na bieżąco czerpać wiedzę od naszych ekspertów i dzielić się nią z Wami na łamach bloga: Okiem Eksperta: Czy robot mówiący „Nie jestem robotem” mija się z prawdą? Praca ze stronami internetowymi i aplikacjami webowymi to jedna z podstawowych rzeczy, z którymi roboty muszą sobie radzić w codziennej pracy. Ale co jeśli mamy idealnego kandydata: proces prosty, ustrukturyzowany z cyfrowymi danymi wejściowymi, a na drodze do realizacji celu staje słynne „I’m not a robot”? Na szczęście to nie koniec świata (ani też naszego projektu), bo dysponujemy kilkoma opcjami. Po pierwsze, zwłaszcza jeśli pracujemy na wewnętrznej aplikacji, możemy skontaktować się z administratorem z prośbą o przygotowanie wersji strony bez reCAPTCHA. Znając życie, częściej jednak będziemy musieli sami sobie z tym problemem poradzić. Aktualnie możemy wykorzystać zarówno płatne (choć niewiele) lub bezpłatne rozwiązania oparte o uczenie maszynowe. Płatne pozwolę sobie pominąć, w Internecie można znaleźć ich bardzo dużo, a zasady ich działania najlepiej przybliżą ich sprzedawcy. Zanim jednak z nich skorzystacie, sprawdźcie wtyczkę Buster: Captcha Solver for Humans. Dostępna jest ona zarówno jako dodatek do Chrome, jak i FireFox. Na czym to polega? Wtyczka dodaje do okna reCAPTCHA nowy przycisk, którego kliknięcie uruchomi dźwiękową wersję reCAPTCHA, ukradkiem odsłucha ją, a następnie wpisze poprawnie rozwiązanie zadania. Dodam, że jest to przycisk, który nasz robot bez problemu może kliknąć! Jak to wygląda? Kiedy nasz robot uruchomi reCAPTCHA, są dwa wyjścia. Najlepszym dla nas rozwiązaniem jest, kiedy mechanizm nas po prostu przepuści. Ale jeśli nie, to pojawi nam się dobrze znane okienko z obrazkami. Po instalacji wtyczki pojawił się trzeci przycisk pomarańczowego ludzika, który jest właśnie naszym rozwiązaniem. Naciśnięcie tego przycisku przez robota uruchamia automatyczne rozwiązanie zadania. Jedyne co pozostaje teraz, to odpowiednie obudowanie stworzonej procedury celem monitorowania zachowania reCAPTCHA. Czy jest to idealne rozwiązanie? Nie. Przy dużej liczbie logowań reCAPTCHA potraktuje nas jako atak na stronę i zablokuje jakiekolwiek próby połączenia się ze stroną. Ponadto, o ile praca na aktywnym ekranie działa bardzo dobrze zarówno w Chrome, jak i w Firefox, o tyle przeniesienie tego na maszynę wirtualną utrudnia komunikację. Z mojego doświadczenia wynika, że z tym zadaniem lepiej radzi sobie Firefox za pomocą „send window message”, najlepiej w wersji 64, ponieważ w późniejszych występuje błąd powodujący nieodpowiadanie wtyczki (na szczęście uruchomienie przeglądarki ponownie powinno to rozwiązać). Niemniej jednak ten sposób powinien pomóc ominąć ten problem w automatyzacji procesu. Autor: Rafał Korporowicz – Senior RPA Developer

czytaj więcej »