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)
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 Management)
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.
API Yaşam Döngüsü (API Lifecycle)
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
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ığı:
İstemcinin gönderdiği istek API Gateway üzerindeki API Proxy tarafından karşılanır
API Proxy, API’ye istemci olur ve API’nin döndürdüğü yanıtları alır
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 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.
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
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 (Politika)
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.
DB-2-API
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
Script-2-API
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
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.
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 (Project)
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 (Team)
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.
Kullanıcı (User)
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.
Rol (Role)
Yetki gruplarına verilen isimdir. Apinizer belirli rolleri varsayılan değerler olarak sunar, yeni rollerin oluşturulmasına izin verir.
Yetki (Privilege)
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.
Namespace
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.
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.
Access URL (Erişim Adresi)
Her ortamın kendisine ait bir erişim adresi (URL) vardır. Bu adres üzerinden ortamdaki API Proxy’lere erişilebilir.