Ana içeriğe atla

Proje Kavramı

Organizasyon

API Proxy’lerin mantıksal olarak gruplandırılması

Erişim Kontrolü

Proje bazlı kullanıcı ve rol yönetimi

İşbirliği

Ekip üyelerinin birlikte çalışması

İzolasyon

Projeler arası veri ve ayar izolasyonu

Proje Yapısı

Aşağıdaki diyagram, projenin ne içerdiğini high-level olarak gösterir:

Proje ve Ortam İlişkisi

Aşağıdaki diyagram, proje ve ortam kavramlarının ilişkisini gösterir:

Proje Özellikleri

Proje İçeriği

Bir proje şunları içerebilir:
  • API Proxy’ler: Projeye ait tüm API Proxy’ler
  • Politikalar: Projeye özel politika tanımları
  • Bağlantılar: Veritabanı, mesaj kuyruğu vb. bağlantılar
  • Konnektörler: Entegrasyon konnektörleri
  • Değişkenler: Proje seviyesinde değişkenler
  • Geçit Adresi (Relative Path): Proje içindeki tüm API Proxy’lerin geçit adreslerinin başlayacağı ön-ek. Örneğin, proje geçit adresi “account” olduğunda API proxy geçit adresi /account/proxy1 şeklinde görünür.
  • Ayarlar: Projeye özgü konfigürasyonlar
Apinizer, ilk kurulumda bir Varsayılan (default) proje sağlar. Bu Varsayılan proje düzenlenemez veya silinemez.

Proje Yönetimi

Yeni bir proje oluştururken şu bilgiler tanımlanır:
  • Proje Adı: Projeyi tanımlayan benzersiz isim
  • Geçit Adresi’ni Aktive Et: Proje içerisinde yer alan tüm geçit adreslerinde ortak bir ön-ek kullanılmak isteniyorsa aktif hale getirilir
  • Geçit Adresi (Relative Path): Projenin içinde tanımlanacak tüm API Proxy’lerin geçit adreslerinin başlayacağı ön-ek ifadesi. Sistem tarafından otomatik bir UUID verilir
  • Açıklama: Projenin amacı ve kapsamı
  • Üyeler: Projeye erişimi olan kullanıcılar ve rolleri
  • Görünürlük: Projenin görünürlük ayarları
Bir proje iki şekilde oluşturulabilir:
  • Yeni (Create): Yeni bir proje tanımlaması
  • Proje Yükle (Import Project): Mevcut bir proje konfigürasyon dosyası üzerinden proje yükleme
Detaylı proje oluşturma ve yönetimi için Proje Yönetimi sayfasına bakabilirsiniz.
Her projede farklı rollere sahip üyeler bulunabilir:
  • Project Owner: Projenin sahibi. Projeyi yönetme, düzenleme ve silme yetkisi. Eğer Project Owner rolüne sahip kullanıcı projeden silinirse, Admin kullanıcısı otomatik olarak Project Owner olur.
  • Proje Yöneticisi: Projeyi yönetme yetkisi
  • Geliştirici: API Proxy oluşturma ve düzenleme yetkisi
  • Görüntüleyici: Sadece görüntüleme yetkisi
Bu roller, proje bazlı erişim kontrolü sağlar.

Proje ve Ortam İlişkisi

Projeler ve ortamlar farklı kavramlardır:
  • Proje: Mantıksal organizasyon birimi (hangi API’ler birlikte çalışır?)
  • Ortam: Fiziksel/kaynak birimi (API’ler nerede çalışır?)
Bir projedeki API Proxy’ler farklı ortamlara yüklenebilir:
Proje: E-Ticaret API'leri
├─ Development Ortamı
│  ├─ Product API v1.0
│  └─ Order API v1.0
├─ Test Ortamı
│  ├─ Product API v1.1
│  └─ Order API v1.1
├─ Sandbox Ortamı
│  ├─ Product API v1.2
│  └─ Order API v1.2
└─ Production Ortamı
   ├─ Product API v1.2
   └─ Order API v1.2
Ortam oluştururken, ortamın hangi projelerde kullanılabileceği belirlenebilir. Eğer proje seçimi boş bırakılırsa, ortam tüm projelerde kullanılabilir. Proje seçilmesi durumunda sadece o proje içerisinde yer alan API Proxy’lerin bu ortama deploy edilebileceği anlamına gelir.

Proje Kullanım Senaryoları

Ekip Bazlı Organizasyon

Farklı ekiplerin kendi projelerinde çalışması. Örneğin:
  • E-Ticaret Ekibi → E-Ticaret Projesi
  • Ödeme Ekibi → Ödeme Projesi
  • Raporlama Ekibi → Raporlama Projesi

Müşteri Bazlı Organizasyon

Farklı müşteriler için ayrı projeler. Örneğin:
  • Müşteri A → Müşteri A Projesi
  • Müşteri B → Müşteri B Projesi

Ürün Bazlı Organizasyon

Farklı ürünler için ayrı projeler. Örneğin:
  • Mobil Uygulama → Mobil API Projesi
  • Web Uygulama → Web API Projesi

Sürüm Bazlı Organizasyon

Farklı API versiyonları için ayrı projeler. Örneğin:
  • API v1 → API v1 Projesi
  • API v2 → API v2 Projesi

Proje İşlemleri

Proje Export/Import

Projeler export edilerek başka ortamlara veya sistemlere taşınabilir:
  • Export: Projenin tüm içeriğini JSON/YAML formatında dışa aktarma
  • Import: Dışa aktarılan projeyi başka bir ortama veya sisteme aktarma
  • Cross-Environment Migration: Projelerin farklı ortamlar arasında taşınması

Proje Şablonları

Sık kullanılan proje yapılandırmaları şablon olarak kaydedilebilir ve yeni projeler oluştururken kullanılabilir.

Proje Silme

Proje silme işlemi, Project Owner veya Sistem Yöneticisi rolüne sahip kullanıcılar tarafından gerçekleştirilebilir.
Önemli: Bir projeyi sildiğiniz zaman o projeye ait olan tüm varlıklar (API Proxy’ler, Bağlantı Konfigürasyonları, Kimlik Bilgileri bilgileri vs) ve konfigürasyon bilgileri silinecektir. Bu işlem geri alınamaz.
Varsayılan (default) proje silinemez veya düzenlenemez.

Sonraki Adımlar