Mesaj Akışı ve Pipeline Yapısı
İstemci ve Backend API
İstemci ile Backend API arasındaki akış şu elementlerle gösterilmektedir:- İstemciden çıkıp Backend API’ye giden istek mesajını sembolize eden bir ok
- Backend API’den çıkıp İstemciye giden yanıt mesajını sembolize eden bir ok
- İstek ya da yanıt mesajı üzerinde uygulanan politikaları ve uygulanma sırasını gösteren ikonlar



Bu bölümde politikaların detaylarına girilmeyecektir. Politikalarla ilgili detaylı bilgi için Politika Nedir? sayfasına bakılabilir.
Request Pipeline (İstek Boru Hattı)
Request Pipeline, istemciden gelen isteklerin backend’e gönderilmeden önce işlendiği pipeline’dır.Request Pipeline Akışı
Request Pipeline şu aşamalardan oluşur:- Pre-flow Politikaları: Güvenlik ve doğrulama
- Koşullu Politikalar: Koşullu işlemler
- Yönlendirme Adımı: Backend’e yönlendirme
Response Pipeline (Yanıt Boru Hattı)
Response Pipeline, backend’den gelen yanıtların istemciye gönderilmeden önce işlendiği pipeline’dır.Response Pipeline Akışı
Yanıt akışı şu sırayla işlenir:- Post-flow Politikaları (Yanıt): Yanıt dönüştürme
- Koşullu Politikalar: Koşullu işlemler
- Loglama: İşlem kaydı (Asenkron)
- İstemci Yanıtı: İstemciye yanıt
Error Pipeline (Hata Boru Hattı)
Error Pipeline, hata durumlarının işlendiği pipeline’dır. Request veya Response pipeline’ında bir hata oluştuğunda Error Pipeline devreye girer.Error Pipeline Akışı
Hata durumunda şu akış izlenir:- Fault Handler Politikaları: Hata yakalama politikaları
- Hata Dönüştürme: Hata mesajı dönüştürme
- Hata Loglama: Hata kaydı
- Hata Yanıtı: İstemciye hata yanıtı
Hata Durumunda Politikaların İşletilme Sırası
Hata durumunda işletilecek olan politikalar “Hata Politikası Ekle” seçeneği ile eklenir. Akışın herhangi bir noktasında hata olması durumunda normal akış kesilerek öncelikle varsa hata yanıt şablonu hata mesajına uygulanır. Sonrasında “Hata Politikaları” hattına eklenen politikalar sağdan sola doğru sırasıyla işletilir.Koşullu Politika Çalıştırma
Politikalar koşullara bağlı olarak çalıştırılabilir. Koşullu politika çalıştırma, mesaj içeriğine, header değerlerine, query parametrelerine, IP adresine, zaman bazlı koşullara veya sistem değişkenlerine göre farklı politikaların uygulanmasını sağlar. Koşullu politika çalıştırma hakkında detaylı bilgi için Koşullu Politika Çalıştırma sayfasına bakabilirsiniz.Politika Yönetimi
Politikalar, istek ve yanıt mesajları üzerinde gerçekleştirilmesi istenen güvenlik, mesajları filtreleme, doğrulama, dönüştürme ya da zenginleştirme, kısmen iş mantığı uygulama, hata yönetimi vb. işlemleri tarif etmek üzere yapılan konfigürasyonlardır. API Gateway, İstemci ile Backend API arasındaki mesaj akışı sırasında, bu konfigürasyonlar ile kendisine tanıtılan politikaları işletir.Bu bölümde genel olarak politikalar üzerinde yapılabilecek işlemler anlatılmaktadır. Herhangi bir politika hakkında detaylı bilgi edinmek için Politika Nedir? sayfasından ilgili politikaya ilişkin dokümantasyona bakabilirsiniz.
Politikaların Yeri ve Çalışma Sırası
Politikalar 3 farklı noktaya eklenebilir:- API Proxy Grubu
- API Proxy
- Metot/Endpoint
- 1 numaralı çerçeve ile işaretlenen alanda, bu API Proxy için herhangi bir metot/endpoint seçilmeden, bütün metot/endpoint’ler için geçerli olacak şekilde eklenmiş ve istek mesajlarına uygulanacak olan politikalar görülür. Hepsi (All) yazısı bunu ifade eder.
- 2 numaralı çerçeve ile işaretlenen alanda, seçilmiş olan metot/endpoint için geçerli olacak şekilde ve istek mesajlarına uygulanacak olan politikalar görülür.
- 3 numaralı çerçeve ile işaretlenen alanda, seçilmiş olan metot/endpoint için geçerli olacak şekilde ve yanıt mesajlarına uygulanacak olan politikalar görülür.
- 4 numaralı çerçeve ile işaretlenen alanda, bu API Proxy için herhangi bir metot/endpoint seçilmeden, bütün metot/endpoint’ler için geçerli olacak şekilde eklenmiş ve yanıt mesajlarına uygulanacak olan politikalar görülür. Hepsi (All) yazısı bunu ifade eder.


- 1 numaralı çerçeve ile işaretlenen alanda, bu API Proxy’nin bütün metot/endpoint’leri için geçerli olacak şekilde eklenmiş ve istek mesajlarına uygulanacak olan politikalar görülür.
- 2 numaralı çerçeve ile işaretlenen alanda, bu API Proxy’nin bütün metot/endpoint’leri için geçerli olacak şekilde eklenmiş ve yanıt mesajlarına uygulanacak olan politikalar görülür.
Politikaların İşletilme Sırası
Politikalar, mesajın akış sırasında;- İstek mesajı için API Proxy Grup → API Proxy → metot/endpoint sırasıyla
- Yanıt mesajı için metot/endpoint → API Proxy → API Proxy Grup sırasıyla

Akışa Politika Ekleme
Bir politika eklemek için:1
Varlık Seçimi
Politikanın eklenmek istediği varlık seçilir. Örneğin API Proxy’nin bütün metot/endpoint’leri için uygulanması istenen bir politika için, o API Proxy’nin metot/endpoint alanında Hepsi (All) seçilir.
2
Politika Ekleme
Politikanın istek mesajına mı yanıt mesajına mı ekleneceğine göre uygun alandaki ➕ Politika Ekle (Add Policy) ikonuna tıklanır.

3
Politika Tipi Seçimi
Açılan pencereden eklenmek istenen politikanın tipi seçilir. Bu pencerede görünen politika tipleri, aktif API Proxy’nin tipine ve hangi bölge politika eklenmek istendiğine göre değişir.

4
Politika Konfigürasyonu
Eklenmek istenen politika seçildiğinde, o politikaya ilişkin konfigürasyon bilgisinin girilebileceği bir pencere açılır. Bu pencereden farklı şekillerde politika eklenebilir:
- Var olan bir global politikayı eklemek için: Politika penceresinde, en üstte politika tipinin yanındaki Global Politikalardan Seç (Select From Global Policies) bağlantısına tıklanır. Açılan pencereden uygun politika seçilerek işlem tamamlanır.

- Yerel politika oluşturmak için: Herhangi özel işlem yapmadan açılan pencerede girilen veriler ile yerel politika oluşturulması sağlanır.
Akıştaki Politikayı Güncelleme
Var olan bir politikanın ikonuna tıklandığı zaman, o politikanın bilgilerinin güncellenebileceği bir pencere açılır.
Seçilen Politikayı Activate/Deactivate Etme
Bir politika, eklenmiş olduğu metot/endpoint ya da API Proxy’den silinmeden geçici olarak kullanımdan kaldırılabilir. Bunun için politika güncellenmek üzere açılır ve açılan pencerenin en üst kısmındaki Deactivate tuşuna tıklanır.
Bütün Politikaları Activate/Deactivate Etme
Metot/endpoint bölümünde, orta bölümün alt kısmında Bütün Politikaları Kapat (Disable All Policies) bağlantısı belirir. Bu bağlantıya tıklandığı zaman, eğer Hepsi (All) seçeneğinde ise API Proxy üzerine eklenmiş olan bütün politikalar; eğer herhangi bir metot içerisindeyse sadece o metot içerisinde eklenmiş olan tüm politikalar devre dışı kalır. Kullanımdan kaldırılmış olan politikalar daha sonra politika güncelleme penceresinden tek tek ya da Bütün Politikaları Aç (Activate All Policies) bağlantısına tıklanarak toplu olarak yeniden etkinleştirilebilir.

Akıştan Politika Kaldırma
Fare silinmek istenen politikanın üzerine getirildiğinde, politikayı silecek bir ikon belirir. Bu ikona tıklanarak politika silinebilir.
Politika Uygulama Örnekleri
Örnek 1: Basit Mesaj İşleme
İstek
GET /api/v1/products
1. Pre-flow: OAuth2 Authentication
✓ Başarılı
2. Pre-flow: Rate Limiting
✓ Başarılı
3. Route: Backend'e yönlendirme
Backend API’ye istek gönderilir
4. Post-flow: Response Logging
✓ Başarılı
Yanıt
200 OK
Örnek 2: Koşullu Politika Uygulama
İstek
POST /api/v1/products
1. Pre-flow: OAuth2 Authentication
✓ Başarılı
2. Koşullu Politika
Content-Type header’ına göre:
application/jsonise → JSON Schema Validation ✓application/xmlise → XML Schema Validation ✓
3. Route: Backend'e yönlendirme
Backend API’ye istek gönderilir
4. Post-flow: Response Transformation
✓ Başarılı
Yanıt
201 Created
Örnek 3: Hata Durumunda Politika Uygulama
İstek
GET /api/v1/products
1. Pre-flow: OAuth2 Authentication
✗ Token geçersiz
2. Fault Handler Policy
- Error Response Transformation
- Error Logging
Yanıt
401 Unauthorized
Best Practices
Request Pipeline
Request Pipeline
- Güvenlik politikalarını önce çalıştırın
- Ağır işlemleri sona bırakın
- Validation’ı transformation’dan önce yapın
- Koşullu politikaları optimize edin
Response Pipeline
Response Pipeline
- Data masking’i önce yapın
- Transformation’ı sonra yapın
- Logging’i en sona bırakın
- Performansı göz önünde bulundurun
Error Pipeline
Error Pipeline
- Tüm hataları yakalayın
- Kullanıcı dostu hata mesajları oluşturun
- Hassas bilgileri maskeleyin
- Detaylı loglama yapın

