Proje Nedir?
Proje Kavramı
API Proxy'lerin mantıksal olarak gruplandırılması
Proje bazlı kullanıcı ve rol yönetimi
Ekip üyelerinin birlikte çalışması
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 default adlı bir proje sağlar. Apinizer'da tek bir proje kaldığında o proje silinemez.
Proje Yönetimi
Proje Oluşturma
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
- Etiketler: Projeyi gruplamak için etiketler
- Veri Saklama Profili: Projenin trafik kayıtlarında gövde ve header'ların saklanıp saklanmayacağı (bkz. Veri Saklama Profili)
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.
Proje Üyeleri ve Rolleri
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.
- Hazır API rolleri: API Developer, API Analytics, API Manager, API Creator, API Security ve API Tester
- Hazır AI rolleri: AI Admin, AI Developer, AI Analytics ve AI Finance
- Rollerin yetkileri ve özel rol tanımlama için bkz. Roller
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ı
Farklı ekiplerin kendi projelerinde çalışması. Örneğin:
- E-Ticaret Ekibi → E-Ticaret Projesi
- Ödeme Ekibi → Ödeme Projesi
- Raporlama Ekibi → Raporlama Projesi
Farklı müşteriler için ayrı projeler. Örneğin:
- Müşteri A → Müşteri A Projesi
- Müşteri B → Müşteri B Projesi
Farklı ürünler için ayrı projeler. Örneğin:
- Mobil Uygulama → Mobil API Projesi
- Web Uygulama → Web API Projesi
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 içeriğini
.zipdosyası olarak 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 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ı, Tüketici bilgileri vs) ve konfigürasyon bilgileri silinecektir. Bu işlem geri alınamaz.
Apinizer'da tek bir proje kaldığında o proje silinemez.