Ana içeriğe atla

Temel Kavramlar

API

Application Programming Interface - Uygulama Programlama Arabirimi. Bir uygulamanın başka bir uygulamanın yeteneklerini ya da verisini ‘tüketmesini’ kolaylaştıran bir ara birimdir.

API Yönetimi

API’leri güvenli ve ölçeklenebilir bir ortamda denetleme, biçimlendirme, hizmete alma ve bunlarla ilgili olarak yapılacak işlemler bütünüdür.

API Yaşam Döngüsü

API’nin fikrinin oluşturulmasından kullanımdan kaldırılmasına kadar geçen tüm adımları içeren süreçtir.

API Gateway

API’lerin önüne koyulan güvenlik, loglama, trafik yönetimi, mesaj dönüşümü gibi işlevleri sağlayan yazılımların ortak adıdır.
API (Application Programming Interface - Uygulama Programlama Arabirimi), bir uygulamanın başka bir uygulamanın yeteneklerini ya da verisini ‘tüketmesini’ kolaylaştıran bir ara birimdir. Uygulama mantığı ve verilerine kararlı, basitleştirilmiş giriş noktaları tanımlayarak, geliştiricilerin diğer geliştiriciler tarafından oluşturulan uygulama mantığına kolayca erişmesini ve yeniden kullanmasını sağlar.Günümüzde API’ler yaygın olarak genel ya da yerel ağ ortamında, mobil ya da Web tabanlı uygulamalarda istemci ve sunucu arasındaki iletişimin yapısını belirleyen bir sözleşme olarak kullanılmaktadır. Apinizer bağlamında API sözcüğü ile bu kapsamdaki daha kısıtlı anlamı ile server-side Web API ifade edilmektedir.
API yönetimi, API’leri güvenli ve ölçeklenebilir bir ortamda denetleme, biçimlendirme, hizmete alma ve bunlarla ilgili olarak yapılacak işlemler bütünüdür. API yönetiminin amacı, API paydaşlarının gereksinimlerini kaliteli bir şekilde ve düşük maliyetle karşılamaktır.API yönetimi ihtiyaçları kuruluştan kuruluşa farklılık gösterebilir, ancak API güvenlik, izleme ve sürüm kontrolü gibi temel işlevler genelde ortaktır.
Apinizer bir API Yönetim Platformudur.
Bir API’nin fikrinin oluşturulması, gereksinimlerinin belirlenmesi, tasarlanıp geliştirilmesi, test edilmesi, hizmete alınıp güvenlik isterlerinin yerine getirilmesi, desteğinin verilmesi, çalışma durumunun izlenmesi, performansının iyileştirilmesi, ücretlendirilip satılması, kullanılması, geri dönüşlerin yapılması, güncellenmesi, sürümlenmesi ya da bir sürümün kullanımdan kaldırılması gibi adımların tamamı API Yaşam Döngüsünü oluşturur.Kuruluşlar kendi ihtiyaçları çerçevesinde yaşam döngüsünün adımlarını nasıl işleteceklerini özelleştirebilirler.
Apinizer, API Yaşam Döngüsünü destekler ve API Paydaşlarının kendi rolleri çerçevesinde iş birliği içinde çalışabilecekleri bir platform sunar.
API Gateway, bir API’nin iş mantığı dışında kalan güvenlik, loglama, trafik yönetimi, mesaj dönüşümü, protokol dönüşümü, mesaj doğrulama ve benzeri birçok işi API koduna dokunmadan, harici bir noktada konfigürasyon yaparak çözmeye yarayan yazılımların ortak adıdır.API’lerin önüne koyulur ve API’nin mesaj trafiği API Gateway üzerinden geçer. Böylece bu mesajlar üzerinde her türlü kontrol, dönüşüm ya da özelleştirme olanaklı hale gelir.API Gateway’in çalışma mantığı:
  1. İstemcinin gönderdiği istek API Gateway üzerindeki API Proxy tarafından karşılanır
  2. API Proxy, API’ye istemci olur ve API’nin döndürdüğü yanıtları alır
  3. API Proxy, yanıtları istemciye kendisi döndürür
API Gateway yazılımı ile yapılan konfigürasyonlar aracılığı ile API Proxy’nin davranışı özelleştirilir ve bu sayede güvenlik, trafik yönetimi, mesaj dönüşümleri, servis taşıma ve benzeri gereksinimler merkezi bir noktadan yönetilebilir hale gelir.
Apinizer gelişmiş ve kolay kullanımlı, yatayda ölçeklenedilir bir API Gateway sunar.

API Paydaşları (API Stakeholders)

API Yaşam Döngüsü adımlarının bir ya da daha fazlasında sürece dahil olan herkes bir API Paydaşıdır.

API Ürün Yöneticisi

API Ürününün sağlaması gereken özellikleri, kalite gereksinimlerini, yeteneklerini, müşterinin hangi ihtiyaçlarını karşılayabileceğini, maliyetini ve satış fiyatını, nasıl pazarlanacağını düşünen, belirleyen, yöneten roldür.

API Gereksinim Çözümleyici

API isterlerini belirleyip dokümante eder.

API Tasarımcısı

API tarafından sunulacak olan uç noktaların alacağı ya da döndüreceği mesajlara ilişkin parametreler, başlıklar, mesaj yapısı gibi detayları tasarlar, bunları bir API Specification olarak API Geliştiricilerin anlayıp kullanabileceği formatta yayınlar.

API Geliştirici

Fiilen yazılım geliştirme işi olarak API kodunu yazar. API Proxy’leri oluşturup konfigürasyonunu yapar. Entegrasyonlar gerçekleştirecek konfigürasyonları yapar.

API Test Uzmanı

API Proxy’leri işlevsel doğruluk, performans, güvenlik gibi kriterler ile test eder.

API Kalite Uzmanı

API Proxy’leri ya da API Ürünlerini istemci ihtiyaçlarını karşılama düzeyi, doğru çalışma ve performans gibi farklı kriterler ile sürekli izler, gerekli iyileştirmeleri tespit edip API Geliştiricilere geri bildirim sağlar.

API Destek Uzmanı

API Ürünleri ile ilgili olarak gelen API Tüketici şikayet, talep ya da bildirimlerini değerlendirip sorunları giderir, API Geliştiricileri ya da API Ürün Yöneticisine girdi oluşturur.

API Portal Yöneticisi

API Ürünlerinin API Tüketicilere ulaştırıldığı API Portal uygulamasını yönetir.

API Analizi Uzmanı

API loglarını yönetir, inceler, raporlar ve API’lerin genel performans, hata oluşturma sıklıkları, en sorunlu ya da en yoğun kullanılan API’ler gibi metrikleri toplayarak gerekli iyileştirme ve düzenlemelerin yapılabilmesi için API Ürün Yöneticisi ya da API Geliştiricilerine girdi sağlar.

API Güvenlik Yöneticisi

İstemci kimliklerinin yönetilmesi, hassas verilerin nasıl ve ne kadar loglanacağının belirlenmesi, şifre gerektiren bağlantı tanımlarının yapılması gibi işleri gerçekleştirir.

API Tüketici

API Proxy’lere istemci olur ya da API Ürünlerini satın alıp kullanır.
Apinizer, dinamik rol yönetimi yetenekleri ile ilgili paydaşların oluşturulması ve diğer paydaşlarla işbirliği içinde çalışabilmesi için gerekli yönetimsel araçlar ve altyapıyı sağlar.

Apinizer Özel Terimler

API Proxy

Bir API’nin API Gateway üzerindeki vekili. İstemci aslında API Proxy ile iletişime geçer.

Policy (Politika)

API Proxy’lerde mesajlara uygulanan işlemleri tanımlayan yapılandırılabilir bileşenlerdir.

DB-2-API

Veritabanı işlemlerinden API oluşturma özelliği. Kod yazmadan dakikalar içinde API oluşturma imkânı sağlar.

Script-2-API

JavaScript veya Groovy kodlarından API oluşturma özelliği. Anında API açma imkânı sağlar.

Mock API Creator

Herhangi bir sunucu veya kod yazma ihtiyacı olmadan anında Mock API oluşturma özelliği.
API Proxy, bir API’nin API Gateway üzerindeki vekilidir. İstemci aslında API Proxy ile iletişime geçer. API Proxy, API’ye istemci olur ve API’nin döndürdüğü yanıtları alıp İstemci’ye kendisi yanıt döndürür.API Proxy, API’nin iş mantığına dokunmadan güvenlik, trafik yönetimi, mesaj dönüşümü gibi işlevleri sağlar.Detaylı bilgi için API Proxy Nedir? sayfasına bakın.
Policy, API Proxy’lerde mesajlara uygulanan işlemleri tanımlayan yapılandırılabilir bileşenlerdir. Politikalar, güvenlik, doğrulama, dönüştürme, trafik yönetimi gibi çeşitli işlevleri sağlar.Politikalar kod yazmadan, form tabanlı arayüzlerle yapılandırılır ve yeniden kullanılabilir.Detaylı bilgi için Politika Nedir? sayfasına bakın.
Birçok uygulama, özel bir iş mantığı gerektirmeyen veri tabanı işlemleri için geliştirilmiş API’leri kullanır. Bu tip API’leri geliştirmek kolay olsa da programlama ortamının oluşturulması, yazılımcı kimlikli kişilerin çalışması, geliştirilen API’lerin bir sunucuya yüklenmesi, bunun için sunucu ayarlanması gibi işler yapılması gerekir.Apinizer, DB-2-API ile yazılımcı olmayan kişilerin bile dakikalar içinde veri tabanı işlemi yapan bir API’yi oluşturarak yüklemesine olanak sağlar.Desteklenen İşlemler:
  • Native SQL deyimleri
  • Stored Procedure çağırma
  • Cursor sonucunu dönme
  • Batch işlem yapma
DB-2-API’nin Avantajları:
  • Kod yazmadan API oluşturma
  • Ayrı sunucu kurulumuna gerek yok
  • Dakikalar içinde API hizmete alınabilir
  • Veri tabanı işlemleri için API geliştirme süresini kısaltır
Bazı API’ler bir algoritmanın dışarıya açılması ya da bir metodun başka paydaşlar tarafından işletilebilmesi için oluşturulur. Algoritma ya da metod hazır bulunabilir ya da yeni geliştirilecek olabilir. Her iki durumda da bunun bir yazılım geliştirme ortamında yapılması, API’nin paketlenerek hizmete alınacağı bir sunucuya koyulması gibi adımları gerektirir.Apinizer, Script-2-API ile kullanıcıların JavaScript veya Groovy kodları yazarak (ya da var olanları yapıştırarak) anında bir API açmalarına olanak verir.Özellikler:
  • JavaScript veya Groovy kod desteği
  • İstek/yanıt mesajlarının kullanımı
  • Kodun içinde istek/yanıt mesajlarının istenen bölümlerinin kullanılması mümkündür
  • Ayrı sunucu kurulması gibi işlere gerek kalmaz
  • Dakikalar içinde API hizmete alınabilir
Mock API Creator, herhangi bir sunucu veya kod yazma ihtiyacı olmadan anında Mock API oluşturma imkânı sağlar. Backend geliştirme tamamlanmadan frontend geliştirmeye başlama, API tasarımını test etme ve entegrasyon testlerinde kullanılır.

Platform Terimleri

Ortam, API Proxy’lerin çalıştığı fiziksel veya mantıksal ortamdır. Her ortam, kendi Gateway instance’larına ve konfigürasyonlarına sahiptir. Kubernetes Namespace kavramına karşılık gelir.Detaylı bilgi için Ortam Nedir? sayfasına bakın.
Proje, API Proxy’lerin, Politikaların ya da diğer tanımların Proje bazlı olarak yönetilebilmesini sağlayan mantıksal bir gruplamadır.Apinizer, Projeler oluşturulmasına, API Proxy’lerin, Politikaların ya da diğer tanımların Proje bazlı olarak yönetilebilmesi mümkün olur.Detaylı bilgi için Proje Nedir? sayfasına bakın.
Takım, bir projede çalışan üyelerin oluşturduğu gruptur. Kullanıcıların Projelere üye yapılması ya da Rol ataması gibi işlemlerin Takımlar üzerinden toplu olarak yapılabilmesini sağlar.Apinizer, Takımlar oluşturulmasına, Kullanıcıların Takımlara farklı Roller ile üye yapılmasına, Takımların Projelere farklı rollerle atanmasına ya da Takımlara Rol atanmasına izin verir.
Apinizer arayüzlerini kullanan paydaşlara verilen isimdir. Bu bakışla API Tüketici dışındaki bütün paydaşlar Kullanıcıdır. API Proxy’lere erişen İstemciler ile karıştırılmamalıdır.
Yetki gruplarına verilen isimdir. Apinizer belirli rolleri varsayılan değerler olarak sunar, yeni rollerin oluşturulmasına izin verir.
Bir kullanıcının belirli bir işi yapabilmesi için o işle ilgili yetkiye sahip olması gerekir.Apinizer bağlamında Yetkiler ön tanımlı olarak gelir ve Rollerin oluşturulması/güncellenmesi için kullanılır. Kullanıcılara doğrudan Yetki ataması yapılmaz.
Kubernetes ortamındaki Namespace kavramına karşılık gelir. Apinizer Platformu’ndaki ortam kavramı, Kubernetes ortamındaki Namespace kavramına karşılık gelmektedir. Her ortam Kubernetes’te bir Namespace olarak oluşturulur.
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.
Her ortamın kendisine ait bir erişim adresi (URL) vardır. Bu adres üzerinden ortamdaki API Proxy’lere erişilebilir.

Terim Kategorileri

API Yönetimi Terimleri

Platform Terimleri

Bileşen Terimleri

Terim Arama ve Navigasyon

Sözlükteki terimleri kategorilere göre arayabilirsiniz:
  • API Proxy, Policy, Routing, Endpoint
  • Client Route, Upstream Target
  • Load Balancing, Failover, Retry
  • Message Processing, Policy Pipeline
  • Ortam, Proje, Kullanıcı, Rol, Yetki
  • Variable, Environment Variable
  • Connection, Connector
  • API Proxy Group, Takım
  • Namespace, Geçit Adresi, Access URL
  • API Manager, API Gateway
  • Identity Manager, Analytics Engine
  • API Portal, API Designer
  • API Creator, API Integrator
  • Önbellek Bileşeni, İzleme Bileşeni
  • Worker Pod, Cache Pod, Integration Pod, Service
  • Authentication, Authorization
  • OAuth2, JWT, mTLS
  • IP Whitelist/Blacklist
  • Rate Limiting, Quota
  • DB-2-API, Script-2-API
  • Mock API Creator
  • Task Flow, Connector

Alfabetik Terim Listesi

  • Access URL - Her ortamın kendisine ait erişim adresi (URL)
  • API - Application Programming Interface
  • API Gateway - API’lerin önüne koyulan güvenlik ve yönetim katmanı
  • API Manager - API yönetim platformu
  • API Proxy - API’nin API Gateway üzerindeki vekili
  • API Proxy Group - API Proxy’lerin grup halinde yönetilmesi
  • API Tüketici - API’leri kullanan taraflar
  • API Yaşam Döngüsü - API’nin oluşturulmasından kullanımdan kaldırılmasına kadar geçen süreç
  • Bağlantı (Connection) - Harici sistemlere bağlantı tanımları
  • Cache Pod - Dağıtılmış önbellek pod’ları
  • Client Route - İstemcilerden gelen isteklerin API Proxy’ye girdiği nokta
  • Connector - Farklı kaynaklara bağlanabilmeyi sağlayan bileşenler
  • DB-2-API - Veritabanı işlemlerinden API oluşturma özelliği
  • Endpoint - API’nin spesifik bir URL yolu
  • Environment - API Proxy’lerin çalıştığı ortam
  • Environment Variable - Ortam bazlı değişkenler
  • Failover - Otomatik olarak sağlıklı bir backend instance’a yönlendirme mekanizması
  • Gateway Engine - API Gateway’in çalışma motoru
  • Geçit Adresi (Relative Path) - Proje içindeki tüm API Proxy’lerin geçit adreslerinin başlayacağı ön-ek
  • Integration Pod - API Integrator görevlerinin çalıştığı pod’lar
  • Konnektör - API Integrator’da kullanılan bağlantı bileşenleri
  • Kullanıcı - Apinizer arayüzlerini kullanan paydaşlar
  • Load Balancing - Yük dengeleme stratejileri
  • Message Processing - Mesaj işleme süreci
  • Mock API Creator - Herhangi bir sunucu veya kod yazma ihtiyacı olmadan anında Mock API oluşturma özelliği
  • mTLS - Mutual TLS, karşılıklı TLS kimlik doğrulama
  • Namespace - Kubernetes ortamındaki Namespace kavramına karşılık gelir
  • Ortam - API Proxy’lerin çalıştığı fiziksel veya mantıksal ortam
  • Policy - API Proxy’lerde mesajlara uygulanan işlemler
  • Proje - API Proxy’lerin mantıksal gruplaması
  • Quota - API kullanımı için belirlenen limitler
  • Rate Limiting - API çağrı sayısını sınırlama mekanizması
  • Retry - Başarısız istekleri tekrar deneme mekanizması
  • Rol - Yetki grupları
  • Routing - İsteklerin backend’e yönlendirilmesi
  • Script-2-API - Script kodlarından API oluşturma özelliği
  • Service - Environment Service, ortam servisi
  • Takım - Bir projede çalışan üyelerin oluşturduğu grup
  • Task Flow - API Integrator’da görev akışları
  • Upstream Target - İsteklerin yönlendirildiği backend API
  • Variable - Dinamik değerleri saklayan yapılar
  • Worker Pod - API Proxy’lerin çalıştığı pod’lar
  • Yetki - Kullanıcının belirli bir işi yapabilmesi için gerekli izin

Sonraki Adımlar