# Main

PAW Template içerisinde süreç akışı, başlangıçtan kapanışa kadar belirli adımlar üzerinden ilerleyen standart bir yapı ile kurgulanmıştır.

Bu yapı, sürecin:

* Kontrollü başlatılmasını,
* Verinin hazırlanmasını,
* İşlenmesini ve düzgün şekilde sonlandırılmasını sağlar.

  

Akış temel olarak aşağıdaki adımlardan oluşur:


1. **Set Config (Başlangıç)**
2. **Add To Process (Veri Hazırlama)**
3. **Automate Process (Veri İşleme)**
4. **End (Kapanış)**

 ![](https://outline-production-attachments.s3-accelerate.amazonaws.com/uploads/16a71ae5-139a-40ac-a944-e134297802cb/9baa37f2-58b7-4a30-9179-a7fca8b7cbef/image.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA4EOUDTOVUICLPZ4P%2F20260927%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260927T213000Z&X-Amz-Expires=86400&X-Amz-Signature=c9e30c176d2384f485f400920f11dfe3d3b2b2f2a865fef78edaa84af8f5e376&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject "left-50 =1166x975")












---

### 🟢 Set Config (Konfigürasyon Yükleme)

Sürecin başlangıcında çalışan bu adım, gerekli konfigürasyon bilgilerinin yüklenmesinden sorumludur.

Bu adımda:

* Orchestrator üzerinde sürece tanımlı bir config olup olmadığı kontrol edilir,
* Config mevcutsa **dictConfig** değişkenine alınır,
* Config bulunmuyorsa süreç kesintiye uğramadan çalışmaya devam eder.

> Config kullanımı zorunlu değildir; süreç ihtiyacına göre opsiyoneldir.
>
> 

#### 🧠 Tasarım Notu

Template içerisinde config bağımlılığını azaltmak amacıyla:

* Kritik kontrol parametreleri **arguments** üzerinden yönetilmektedir.
* Böylece süreçler, dış bağımlılıklara ihtiyaç duymadan da çalışabilir.

  

### **Veri Hazırlama ve İşleme Katmanları**

PAW Template içerisinde süreç akışı, iki ana işlem kolu üzerinden ilerlemektedir:

* **Veri Hazırlama Katmanı (Add To Process)**
* **Veri İşleme Katmanı (Automate Process)**

Bu yapı, süreçlerin daha modüler, sürdürülebilir ve yönetilebilir olmasını sağlar.


---


### **📥 Add To Process (Veri Hazırlama)**

Sol kolda yer alan **Add To Process** adımı, veri hazırlama katmanını temsil eder.

Bu adımda:

* İşlenecek veriler farklı kaynaklardan toplanır
* Gerekli veri dönüşümleri ve düzenlemeler yapılır
* Veriler standart bir formata getirilir
* Hazırlanan kayıtlar kuyruk (queue) yapısına eklenir

Amaç, verinin işlenmeye hazır hale getirilmesidir.


---


### **⚙️ Automate Process (Veri İşleme)**

Sağ kolda yer alan **Automate Process** adımı, veri işleme katmanını temsil eder.

Bu adımda:

* Kuyruktan bir kayıt alınır
* İlgili iş kuralları uygulanır
* Gerekli sistem işlemleri gerçekleştirilir
* İşlem sonucu kayıt bazında değerlendirilir ve loglanır

Bu aşama, sürecin asıl iş yükünün gerçekleştiği katmandır.


---


### 🔴 End (Süreç Kapanışı)

Sürecin tamamlanmasının ardından çalışan kapanış adımıdır.

Bu adımda:

* Süreç sonu işlemleri gerçekleştirilir
* Gerekli temizlik (reset) işlemleri yapılır
* Raporlama adımları çalıştırılır

  

#### 📊 Content Report Entegrasyonu

Developer, süreç sonunda raporlama yapmak isterse:

* `Content Reports` klasörü altında yer alan workflow’ları doldurarak bu raporları **End** adımına entegre edebilir


#### 🔄 Reset Mekanizması

* Süreç boyunca kullanılan değişkenler sıfırlanır,
* Sistem bir sonraki çalışmaya hazır hale getirilir.


---

### 🔁 Akışın Özeti

* **Set Config →** Konfigürasyon yüklenir (opsiyonel)
* **Add To Process →** Veriyi hazırlar ve kuyruğa ekler
* **Automate Process →** Kuyruktaki veriyi işler
* **End →** Süreci kapatır


### 🎯 Sağlanan Avantajlar

Bu yapı sayesinde:

* Süreçler modüler hale gelir
* Veri hazırlama ve işleme adımları ayrıştırılır
* Konfigürasyon bağımlılığı azaltılır
* Süreç sonu işlemleri standart hale gelir
* Büyük veri setlerinde daha stabil çalışma sağlanır


---

### 📌 Geliştirme Notu

Süreç geliştiren ekiplerin aşağıdaki ayrımı gözetmesi önerilir:

* Konfigürasyon ve başlangıç ayarları → **Set Config**
* Veri toplama ve hazırlama işlemleri → **Add To Process**
* İş kuralları ve operasyonel işlemler → **Automate Process**
* Raporlama ve temizlik işlemleri → **End**