UIPath ve Robotik Süreç Otomasyonu

Can Oguz
BilgeAdam Teknoloji
5 min readJul 22, 2019

Bu makalede sizlere UIPath nedir, ne işe yarar ve genel geliştirme süreçleri ile ilgili temel bilgileri veriyor olacağım.

2005 yılında Romanyalı girişimciler Daniel Dines ve Marius Tirca tarafından kurulan Bükreş, Romanya çıkışlı firma, günümüzde Londra, New York, Singapur ve Tokyo gibi şehirlerde de ofislere sahipler. 2017 yılında 600’e yakın çalışana ulaşan firma, aynı isimdeki UIPath RPA geliştirme ortamı ile adını son zamanlarda Türkiye’de de duyurmaya başladı. Müşteri sayısını 2016–2017 seneleri arasında %700 arttırmayı başaran UIPath, 2019 yılı başında Türkiye lansmanını Bilge Adam ile birlikte gerçekleştirmiştir.

UIpath ilk yıllarında birçok problem yaşamış, ancak kuruculardan Dines’ın Business Review’e verdiği röportaja göre; ürünlerinin ilk versiyonları üzerinde çok fazla zaman harcanmış. “Cila” sürecinin olması gerektiğinden uzun sürdüğünü, aslında ilk versiyonları piyasaya çok daha erken çıkarmaları gerektiğini belirtmiş, piyasanın ihtiyaçları yerine kendi istek ve hedeflerini ön planda tutmuş, sonucunda da başarısız olan bazı versiyonları da aynı şekilde çok geç iptal/revizeye gitmişler. Bu nedenle ilk adını duyurmaya başlamaları beklenilenden çok daha geç gerçekleşmiş.

Peki günümüzde adını oldukça fazla duymaya başladığımız UIPath tam olarak ne yapmaktadır? RPA ne demektir?

Dijital Robotlar sosyal medyada gördüğümüz gibi elleri kolları veya tekerlekleri olan fiziksel dünyada işlevlerini yerine getiren versiyonlarından oldukça farklıdır, ancak temel düşünce aynıdır. Bir insandan çok daha hızlı, daha az hatayla ve daha uzun periyodlarda çalışabilmek…

Fiziksel robotlardan farkı ise, bilgisayar üzerinde yani elektronik ortamda gerçekleştirilen işleri yerine getirme amacına sahip olmasıdır. UIPath ile geliştirilen bu robotlar, en temel anlamda bir işi mümkün olduğunca az hatayla (veya sıfır hatayla) birçok kez tekrar ettirebilir. Aynı formatta hazırlanmış excel dosyalarını okuyarak başka bir uygulamaya verileri taşıyabilir, mailleri okuyabilir, eklentileri indirip gerekli işlemleri gerçekleştirebilir, masa üstü ve web uygulamalarını aynı bir insan gibi kullanabilir. OCR (Optical Character Recognition — Optik Karakter Tanıma) motorları ile görsellerdeki metinsel değerleri yakalayıp gerekli işlemlerde kullanabiliriz. Pdf formatındaki faturalar buna örnek olarak verilebilir.

Kullanım alanına bir örnek verelim;

Öncelikle bankalarda oldukça popülerleşeceğini belirteyim. Bu tarz robotların verimliliği oldukça arttıracağı ve maliyetleri düşürebileceği bir sektör.

Kredi risk raporlarını oldukça hızlı ve hatasız şekilde birçok farklı kaynaktan/veri tabanından topladığı verilerle hazırlayabilir.

BPO (Bank Payment Obligation) denilen “Banka Ödeme Yükümlülüğü”, verilerin elektronik ortamda başarılı bir biçimde eşleşmesi ve eşleşmezliklerin bulunması sonucunda belirli bir tutarın ödenmesini içeren bir taahhüttür. Robotlar elektronik ortamda bu kontrolleri oldukça hızlı ve verimli bir şekilde sağlayabilir.

Üstteki örneklere bakarsak, robotların asıl güçlü olduğu alanın, oldukça fazla tekrar içeren, yüksek hacimlerde verilerle gerçekleştirilen, çok yetkinlik gerektirmeyen işlerde kullanılmaya başlanılacağını gösteriyor. İlerleyen yıllarda planlanan makine öğrenimi vb entegrasyonlar sonucunda ise robotlar, çok daha kompleks işleri kendi başlarına yürütebilecek ve öğrenebilecek. Bu sayede kullanım alanlarının hızla artacağı ve aynı sektörde bulunan işletmelerin rekabeti devam ettirebilmeleri için RPA çözümlerine daha da fazla yönelmesi beklenmekte.

Biraz da teknik taraftan bakarsak;

UIPath Studio’yu ilk açtığnızda göz korkutucu gelebilir.

İlk başlayanlara önerim, yeni bir process açarak, hazır oluşturulmuş aktiviteleri denemek olacaktır.

Activities panelinde bulunan ve açıkçası bir çok iş için gayet yeterli olan bu aktiviteler sayesinde hem web, hem masaüstü uygulamalarda birçok otomasyon geliştirebilirsiniz.

Recorder denilen kaydedici sayesinde uygulamada siz işlerinizi gerçekleştirdikçe, o işe uygun aktiviteleri kendi arka planda oluşturabilir ve daha sonra düzenlemek için adımlarınızı kaydedebilirsiniz.

Benim favorilerimden olan Data Scraping aktivitesi sayesinde, web veya masaüstü ortamlarda bulunan veri kümelerini, veri tablosu olarak yakalayabilirsiniz ve ister bunlar üzerinde processler geliştirebilir veya kaydedebilirsiniz. Unutmadan da belirteyim, eğer next tuşu ve benzeri bir sayfa geçişi varsa, tüm sayfaları kendisi gezebilir ve verilerin hepsini satır ve sütunları ayırarak teslim edebilir.

Sıfırdan açtığınız bu processlerde kendinizi yeterli gördüğünüz bir seviyeye geldiğinizde, sonraki adım olarak ise önerim, Robotic Enterprise Framework olacaktır. Size büyük ölçekli işletmeler için hazır bir iş akışı ve hata yönetimi şeması ile gelen bu framework, sadece içerisindeki tipleri ve processleri değiştirmeniz halinde çalışır hale gelecektir. Ondan sonra ise tek yapmanız gereken doğru bölümlere kendi sürecinize ait iş akışlarını eklemek olacaktır. Dikkat edilmesi gereken ise bu yapının Orchestrator ile beraber çalışacak şekilde ön tanımlı ayarlarla gelmesidir.

Orchestrator nedir?

Orchestrator UIPath tarafından sağlanan bir yönetim paneli olarak düşünülebilir. Robotlarınızı yayınlayabileceğiniz, istenen saatlerde uzaktan çalışmasını sağlayabileceğiniz bir yapıdır. Bunların yanında ise assets adı altında, credentials benzeri size ait bilgileri, iş akışı içerisinde oluşturulan queue benzeri yapıları saklayabileceğiniz bir alandır.

Yazılım bilgisi gerekli mi?

UIPath, robotları geliştirirken kullanılacak programlama dili olarak şu an için visual basic programlama diline destek vermektedir. Ancak c# desteği geldi gibi diyebiliriz. Makalenin yazıldığı tarihlerde içerisinde deneysel olarak eklenmiş haldedir.

Yazılım bilginiz temel programlama konseptleri düzeyindeyse, (Değişkenler, karar yapıları, döngüler vb yapılar) basit robotları geliştirmek için fazlasıyla yeterli olacaktır. Daha büyük ölçekli projelerde ise refarans ve değer tipi gibi kavramları bilmek faydalı olacaktır çünkü arguments adı verilen yapılar sayesinde farklı iş akışlarına veri aktarımı yapmak isteyeceksinizdir.

Html, css gibi temel web bilgilerine sahip olmanın avantajı ise oldukça önemli olan UI Explorer ve Selector yapılarıdır. Bu sayede ekrandaki bir alanı daha dinamik bir şekilde yakalayabilir, hata riskini oldukça azaltabiliriz. Seçiciler dediğimiz yapı, javascript bilen kişilere tanıdık gelebilir. Hem web hem de masaüstü uygulamalarda, UIpath ile geliştirilen robotlar, tıklanacak veya yazı yazılacak alanları pikseller ile seçmek yerine, arka planda oluşturulan element isimlerinden ulaşır. Bu sayede çözünürlük ve renk değişiminden etkilenmez. Bu nedenle html ve css bilginiz varsa çok daha rahat bir şekilde bu element yakalama sürecini dinamikleştirebilirsiniz.

Bu konuda kendinizi geliştirmeye devam etmek isterseniz, UIPath akademi sayfalarında eğitimleri halen bedava olarak verdiklerini de hatırlatayım.

Dijital dönüşüm sürecinde oldukça önemli bir role sahip olacağını düşündüğüm dijital robotların popülerliği, ilerleyen yıllarda oldukça artacak gibi duruyor. Geleceğin teknolojileri arasında sürekli adı geçen robotik süreç otomasyonlarına bakmadan geçmeyin derim.

İyi Çalışmalar.

--

--