Process Automation Modülünün Anatomisi

Bir süreç oluşturduğunuzda diyagram ekranı dört sekmeden oluşur: Diagram, Parameters, Forms, Version History.

Diagram Sekmesi

Sürecin BPMN diyagramının görsel olarak tasarlandığı ana çalışma alanıdır (Canvas). Sağ panelde sürece ait genel bilgiler yer alır:

  • Process Description: Sürecin amacını açıklayan metin alanı.
  • Process Due: Sürecin tamamlanması gereken süreyi (gün, saat vb. birim seçilebilir) belirlediğiniz alan.

Parameters Sekmesi

Sürece ait değişkenlerin (parametrelerin) tanımlandığı sekmedir. Başlıkta Process Parameters yazar; sağ üstte DISCARD ve SAVE CHANGES butonları bulunur.

Parametre listesi üç filtreyle görüntülenebilir: All, Business Object, Internal. Sağ üstteki MANAGE DATA TYPES butonuyla özel veri tipleri yönetilebilir; arama kutusuyla parametreler filtrelenebilir.

Parameter Columns listesinde her parametre için şu bilgiler yer alır:

  • Parameter Name: Parametrenin adı (serbest metin girişi).
  • Data Type: Parametrenin veri tipi ("Choose data type.." açılır listesinden seçilir).
  • Array: Parametrenin dizi (array) olup olmadığını belirleyen açma/kapama seçeneği.
  • Parameter Type: Parametrenin tipi — Internal veya Business Object olabilir.
  • Input: Parametrenin, süreci başlatan kullanıcı tarafından girilmesi gereken bir bilgi olup olmadığını belirtir.
  • Output: Parametrenin süreç sonucunda dışarıya döndürülüp döndürülmeyeceğini belirtir.
  • Default: Parametrenin varsayılan değeri.

Yeni bir parametre eklemek için tablodaki boş satıra parametre adı girilmesi yeterlidir; parametre tanımlandıkça yeni bir boş satır otomatik olarak eklenir.

Örneğin, kullanıcı izin günü olarak "Permit Day" değişkenini tanımlayabilirsiniz. Bu veri, süreci başlatan kullanıcı tarafından girilmesi gereken bir bilgi ise, Input işaretlenen parametreler Start Process aksiyonu altında görüntülenir.

Internal tipteki parametreler, mantıksal kontroller için kullanılır. Örneğin, izin alma sürecinde kullanıcının izin hakkının olup olmadığını kontrol eden bir süreç oluşturmalısınız. Bu arka planda gerçekleşen bir işlem olduğundan, izin hakkını belirleyen bir değişken tanımlayabilirsiniz — örneğin "Progress Payment" isimli Boolean tipinde bir değişken.

Kullanıcının izin günü hakkı varsa belirli bir path üzerinden ilerletirken, izin hakkı yoksa başka path üzerinde ilerleme yapılır.

Forms Sekmesi

Sürece bağlı kullanıcı ekranlarının (form alanları) ve kullanıcı etkileşimlerinin (butonların) yönetildiği sekmedir. Workflow Screens ve Interactions olmak üzere iki alt sekmeden oluşur. Detaylı içerik için bkz. aşağıdaki "G. Forms Paneli: Workflow Screens ve Interactions" bölümü.

Version History Sekmesi

Sürecin geçmiş versiyonlarının listelendiği sekmedir. Başlığın altında, versiyonlamanın mantığını açıklayan bir not yer alır: her export işlemi bir workflow versiyonu oluşturur; preview build'ler ise export edildikleri versiyonun içine dahil edilir (collapse edilir).

Sağ üstteki arama kutusuyla versiyon adı veya açıklamasına göre filtreleme yapılabilir.

Her versiyon kaydında şu bilgiler yer alır:

  • Version: Versiyon numarası/adı.
  • Date & Time: Versiyonun oluşturulduğu tarih ve saat.
  • Exported by: Versiyonu export eden kullanıcı.
  • Description: Versiyona ait açıklama.
  • Status: Versiyonun durumu.
  • Actions: Versiyona ait işlemler (örn. geri yükleme, görüntüleme).

Henüz hiç versiyon export edilmemişse "No versions exported yet. Exporting this process creates its first version." mesajı görüntülenir.

Mobil uygulamada versiyon geçmişi görüntülenebilir, ancak versiyonlar web üzerinden kaydedilmektedir.

C. Process Automation Araçları

Diyagram ekranının sol tarafında yer alan araç çubuğu, 5 gruba ayrılmış bir yapıya sahiptir. İkonlardan birine tıkladığınızda, o gruba ait öğeleri gösteren bir panel açılır:

Activities (Aktiviteler)

  • User Task: Kullanıcı etkileşimi gerektiren görevlerdir. Form doldurma, onay verme gibi işlemler için kullanıcı müdahalesi gerekir. Örnek: "Yönetici Onayı" için ilgili kişinin formu doldurup onay vermesi beklenir.
  • System Task: Sistem tarafından otomatik yürütülen görevlerdir. Manuel müdahale gerektirmeyen, entegrasyon, veri işleme veya otomatik bildirim gibi işlemler burada gerçekleşir. Örnek: Sipariş onaylandıktan sonra otomatik olarak fatura oluşturulup müşteriye e-posta gönderilir.
  • Subprocess: Alt süreçleri tek bir blok altında toplayarak iş akışını daha düzenli ve okunabilir hale getirir. Detaylı alt adımlar bu blok içinde gizlenir, sadece gerektiğinde açılıp görüntülenebilir. Örnek: "İade Süreci" için ayrı bir alt süreç tanımlanır; iş akışında tek bir blok olarak görünür ama içine girildiğinde detaylı adımlar listelenir.
  • Linked Process: Mevcut sürecin başka bir süreçle doğrudan bağlantı kurmasını sağlar. Böylece farklı süreçler arasında entegrasyon yapılır ve iş akışı bütünsel şekilde yönetilir. Örnek: "Sipariş Yönetimi" sürecinden "Faturalandırma Süreci"ne doğrudan bağlantı vererek adımlar arası geçiş sağlanır.

Gateways (Karar Noktaları)

  • Exclusive Gateway: Koşullara göre iş akışı içinde yalnızca bir yolun seçildiği karar noktasıdır. Mantıksal ifadelerle koşullar belirlenir. Örnek: Sipariş tutarı 1000 TL'den büyükse "Yönetici Onayı" yoluna, değilse "Standart İşlem" yoluna gidilir.
  • Parallel Gateway: Paralel olarak yürütülen iş süreçlerinin başlangıcını veya birleşmesini sağlar. Görevler eşzamanlı ve bağımsız olarak devam eder. Örnek: "Sipariş Onayı" sonrası "Paketleme" ve "Fatura Hazırlama" görevleri aynı anda başlar.
  • Inclusive Gateway: Belirli koşullara göre bir veya birden fazla yolun aynı anda seçilebildiği karar noktasıdır. Exclusive Gateway'den farkı, koşulların birden fazlasının aynı anda sağlanabilmesidir. Örnek: Siparişte hem "İade Talebi" hem de "Fatura Güncelleme" seçenekleri işaretlenmişse, iki adım da aynı anda çalıştırılır.

Events (Olaylar)

  • Start Event: İş akışının başlangıç noktasını temsil eder. Süreci tetikleyen ilk adım olup, kullanıcı eylemi, sistem olayı veya zamanlayıcı olabilir. İş akışının doğru çalışması için genellikle tek bir başlangıç noktası olmalıdır. Örnek: "Müşteri Siparişi Alındı" olayı iş akışını başlatır.
  • End Event: İş akışının tamamlandığı ve sona erdiği noktayı belirtir. Süreç sonlanır ve gerekli ise sonuçlar kaydedilir veya bildirimler gönderilir. Örnek: "Sipariş Tamamlandı" adımı iş akışını sonlandırır.
  • Timer Event: Belirlenen süre sonunda veya belirli zamanlarda iş akışını tetikleyen zamanlayıcıdır. Bekleme adımı olarak kullanılır. Time Duration parametresi ile bekleme süresi ayarlanabilir. Is Interrupting seçeneği ile bekleme sırasında sürecin durdurulup durdurulmayacağı kontrol edilir. Örnek: "Ödeme Bekle" adımında 3 gün beklenir; süre sonunda "Ödeme Hatırlatma Gönder" adımı otomatik tetiklenir.

Tools (Araçlar)

  • Hand Tool (pan): İş akışı tasarım ekranında akışı sürükleyip taşımanızı sağlar. Karmaşık iş akışlarında farklı bölümlere hızlıca odaklanmak veya düzenleme yapmak için kullanılır. Tasarım esnasında hareket kabiliyeti sağlar ve kullanıcı deneyimini artırır. Örnek: Geniş bir sipariş yönetim sürecinde, "Sipariş Onayı" adımını daha görünür kılmak için iş akışını sağa sürüklersiniz.
  • Lasso Select: Birden fazla iş akışı öğesini aynı anda seçip, toplu olarak taşıma, kopyalama veya silme işlemleri yapmanızı sağlar. Karmaşık süreçlerde zaman kazandırır ve kolaylık sunar. Örnek: "Fatura Hazırlama", "Ödeme Onayı" ve "Kargo Hazırlığı" adımlarını seçip hepsini topluca sola kaydırmak istersiniz.
  • Space Tool: İş akışındaki nesneler arasında boşluk açıp kapatmanızı sağlar. Yeni adımlar eklemek için uygun alan yaratır veya gereksiz boşlukları kaldırarak alan tasarrufu yapar. Örnek: "Müşteri Onayı" ile "Sipariş Gönderimi" arasında yeni bir "Kalite Kontrol" adımı eklemek için araya boşluk açarsınız.
  • Connect Tool: İş akışındaki farklı elemanları birbirine bağlamak için kullanılır. Veri veya kontrol akışının yönünü gösteren bağlantılar oluşturur. Örnek: "Sipariş Alındı" adımından "Stok Kontrol" adımına bir ok çizerek iş akışını yönlendirirsiniz.

Happy Path

  • Happy Path Phase: Sürecin ana/beklenen akışını (happy path) canvas üzerinde ayrı bir aşama/şerit olarak görsel şekilde gruplamanızı sağlar. Böylece istisna veya alternatif senaryolardan ayrışan ana akış daha okunabilir hale gelir.

D. Workflow Designer ve Tasarım Alanı (Canvas)

Canvas, iş akışının görsel olarak oluşturulduğu ana çalışma alanıdır. Süreç adımları, Gateway'ler ve Event'ler bu alan üzerinde konumlandırılır ve birbirine bağlanır.

Canvas Üzerinde Öğe Seçimi (Contextual Toolbar)

Canvas üzerinde bir öğeyi seçtiğinizde, öğenin hemen yanında küçük bir araç menüsü (contextual toolbar) açılır. Bu menü iki satırdan oluşur ve öğeler eklemek, düzenlemek veya bağlamak için hızlı erişim sağlar:

Üst satır — Ekleme araçları:

  • Appended End Event (daire ikonu): Seçili bir öğeye doğrudan bir End Event (Bitiş Olayı) eklemenizi sağlar. Bu özellik sayesinde iş akışını hızlıca sonlandırabilirsiniz. Örnek: Bir "Sipariş İptal" adımına tıkladığınızda çıkan menüden bu ikon seçilerek, iptalin iş akışını sonlandırması sağlanabilir.
  • Append Text Annotation (eğik çizgi/not ikonu): Seçili öğeye açıklama kutusu eklemenizi sağlar. Açıklamalar, iş akışı mantığını daha anlaşılır hale getirir ve ekip içi iletişimi kolaylaştırır. Örnek: "Kalite Kontrol" adımına "Ürün görsel olarak kontrol edilir" notu ekleyerek, bu adımın amacı hakkında bilgi verebilirsiniz.
  • Create Task (dikdörtgen ikonu): Seçili öğeye bir görev (task) eklemenizi sağlar. Bu görev sistem tarafından otomatik yürütülebilecek bir işlem olabilir. Örnek: "Müşteri Kaydı" adımından sonra "CRM'e Aktar" adımı ekleyerek, verinin sisteme otomatik kaydedilmesini sağlayabilirsiniz.
  • Create Exclusive Gateway (eşkenar dörtgen ikonu): Seçili öğeden sonra bir karar noktası (Exclusive Gateway) eklemenizi sağlar. Bu adım, belirli koşullara göre iş akışının yönünü değiştirir. Örnek: "Ödeme Durumu" kontrolünden sonra, "Ödeme Tamamlandı mı?" karar adımı eklenerek farklı yollar çizilebilir.

Alt satır — Düzenleme araçları:

  • Change Type (anahtar/wrench ikonu): Seçili elementin türünü değiştirme imkânı sunar. Bu, tasarım sürecinde yanlış seçilen elementin yeniden oluşturulmasını gerektirmeden dönüştürülmesini sağlar. Örnek: Bir "Task" öğesini yanlışlıkla standart görev olarak eklediyseniz, bunu "User Task"'a dönüştürerek kullanıcı etkileşimi gereken bir adım haline getirebilirsiniz.
  • Remove (çöp kutusu ikonu): Seçili olan element(ler)i silmenizi sağlar. Hatalı veya gereksiz adımları hızlıca temizlemek için kullanılır. Örnek: İşlevsiz kalan "Manuel Kontrol" adımını seçip bu ikonla silebilirsiniz.
  • Connect Using Sequence Flow / Message Flow / Association (ok ikonu): Öğeler arasında bağlantı kurmak için kullanılır.
  • Sequence Flow: Süreç akışını gösterir.
  • Message Flow: Farklı havuzlar (pool) veya katmanlar (lane) arasında mesaj iletişimi sağlar.
  • Association: Bilgi ekleriyle öğeler arasında ilişkiler kurar, örneğin form ve açıklamalarla bağ kurmak için kullanılır. Örnek: "Fatura Oluştur" adımı ile "Fatura Gönder" adımı arasında bir Sequence Flow çizerek işin akışını belirtebilirsiniz. Ayrıca bir Text Annotation ile açıklama ekleyip bunu Association ile "Fatura Oluştur" adımına bağlayabilirsiniz.

Workflow Designer Validation (Kural Kontrolleri)

Workflow Designer, BPMN diyagramlarının hem BPMN standartlarına hem de Kuika platform kurallarına uygunluğunu anlık olarak kontrol eder. Bu doğrulama mekanizması, tasarım aşamasında hatalı veya eksik yapıların erken fark edilmesini sağlar.

Process Automation ekranının sol alt köşesinde bulunan toggle ile hata ve uyarıların görünürlüğü kontrol edilir.

Kurallara aykırı elementlerde:

  • Yalnızca uyarı varsa warning (ünlem) ikonu,
  • Hata varsa veya hata ve uyarı birlikteyse error (çarpı) ikonu gösterilir.

İmleç ikonun üzerine getirildiğinde, ihlal edilen kural tooltip olarak görüntülenir.

Kontrol Edilen Kurallar:

  • Exclusive Gateway'lerde varsayılan path ve koşul zorunluluğu
  • Parallel ve Inclusive Gateway kollarının aynı tipte join Gateway'de birleşmesi
  • Gateway'lerin split olarak tek çıkışlı kullanılmaması
  • Task ve User Task adımlarının boş veya yalnızca whitespace label'a sahip olmaması
  • Her node'un en az bir incoming veya outgoing bağlantısının bulunması
  • Her User Task için bir ekran atanması
  • Diyagramda en az bir Start Event ve End Event bulunması

Bu doğrulama mantığı preview ve export aşamalarında da aynı şekilde uygulanır.

Süreç Verilerine SQL ile Erişim

Process Automation modülünde yürütülen süreçlere ait veriler; bekleyen işler, görev geçmişi, süreç özeti ve kullanıcı yükü gibi bilgiler SQL View'lar aracılığıyla sorgulanabilir. Bu View'lar sayesinde harici sorgulardan join işlemi yapılabilir; süreç verileri diğer uygulama verileriyle birleştirilerek raporlama, analiz ve izleme senaryolarında kullanılabilir.

Örnek kullanım alanları:

  • Kullanıcı bazlı bekleyen görev sayısının diğer tablolarla birleştirilerek raporlanması
  • Görev geçmişinin dış sistemlere veya özet ekranlara aktarılması
  • Departman veya role göre kullanıcı yükü analizinin yapılması

E. Process Automation Properties Paneli

Canvas üzerinde bir adımı (örn. bir User Task veya System Task) seçtiğinizde, sağ panelde o adıma özel ayarların yer aldığı bir panel açılır. Bu panel Properties ve Advanced olmak üzere iki sekmeden oluşur.

Properties Sekmesi

  • Screen: Adıma bağlı ekranı gösterir. "OPEN" bağlantısına tıklayarak ilgili ekranı doğrudan açabilirsiniz.
  • Description: Adımın açıklamasının girildiği alandır. Açıklama içinde @ işaretiyle başlayarak süreç parametrelerini (process parameters) doğrudan referans gösterebilirsiniz.
  • Assignment: Görev atamalarının yapıldığı alandır.
  • Type: Görevin kime atanacağını belirler (Everyone, Role, Dynamic Assignment, External Users — bkz. aşağıdaki Type Seçenekleri).
  • Use Lane: Atamanın, diyagramdaki lane (şerit) yapısını kullanıp kullanmayacağını belirleyen açma/kapama seçeneğidir.
  • Step Outputs: Adımın süreç devam ederken geri yazacağı parametrelerin eşlendiği alandır. "+" ikonuyla yeni bir output eklenebilir; henüz eşleme yapılmadıysa "No outputs mapped yet" mesajı görüntülenir.
  • User Interactions: Adıma ait kullanıcı etkileşimlerinin listelendiği alandır. Bu etkileşimler doğrudan bu panelden değil, Forms → Interactions sekmesinden yönetilir. Henüz tanımlanmış bir etkileşim yoksa "No interactions yet" mesajı görüntülenir ve "Manage in Interactions tab" bağlantısıyla ilgili sekmeye geçilebilir.

Advanced Sekmesi

  • Due: Adımın tamamlanması gereken süredir (örn. 1 Days). Birim olarak gün, saat vb. seçilebilir.
  • Pre Actions: Adım oluşturulduğunda (step creation) otomatik olarak çalıştırılacak özel aksiyonların tanımlandığı alandır. "+ ADD ACTION" ile yeni bir aksiyon eklenebilir.
  • Notification: Adımla ilgili bildirim gönderilip gönderilmeyeceğinin (Send: açık/kapalı) ayarlandığı alandır.

Type Seçenekleri

  • Everyone: Bu seçenek seçildiğinde görev, görev havuzuna düşer. Tüm kullanıcılar bu görevi görebilir; isteyen kullanıcı görevi üzerine alarak tamamlayabilir.
  • Role: Görev, sistemde tanımlı belirli bir role atanır. Role ataması yapabilmek için "Choose Role" alanından uygun rol seçilir. Rol listesinde mevcut roller görüntülenir ve "+ Add New Role" seçeneği ile yeni bir rol oluşturulabilir.
  • Dynamic Assignment: Süreç değişkenleri ile bağlantılı atamalar yapmayı sağlar.
  • External Users: Uygulama dışındaki harici kullanıcıların görevlere atanmasını sağlar. Örneğin müşteriler, taşeron firmalar veya misafir kullanıcıların bir adımı tamamlaması gerektiğinde kullanılır.

Recurring Step (Zamanlanmış Adımlar)

Recurring Step, belirli bir Task veya User Task üzerine eklenen Timer Boundary Event aracılığıyla tanımlanır. Bu yapı sayesinde ilgili adım, tanımlanan zaman aralıklarında otomatik olarak tekrar çalıştırılabilir ya da belirli bir sürenin dolmasının ardından süreç alternatif bir akışa yönlendirilebilir.

Buna ek olarak Timer Event, sürecin içerisinde bağımsız bir adım olarak da kullanılabilir. Bu kullanım Timer Intermediate Event olarak adlandırılır. Timer Intermediate Event, sürecin ilgili noktada tanımlı bir süre boyunca beklemesini sağlar ve süre tamamlandığında bir sonraki adıma geçilmesine olanak tanır.

Kullanım Alanı:

  • Görev belirli bir sürede tamamlanmadığında hatırlatma e-postası veya bildirim gönderimi
  • Periyodik olarak çalışan görevlerin (örneğin günlük rapor, haftalık kontrol) tetiklenmesi
  • Kullanıcının geciktirdiği adımlarda sürecin alternatif bir path üzerinden devam etmesi

Teknik Özellikler:

  • Timer Boundary Event seçilerek görev öğesine bağlanır.
  • Timer Duration alanından bekleme süresi (dakika, saat, gün) belirlenir.
  • Is Interrupting seçeneği aktifse, süre dolduğunda ana akış durdurularak timer path'i çalıştırılır.
  • Pasifse (non-interrupting), ana akış devam ederken timer path paralel olarak yürütülür.