Apinizer Hakkında (About Apinizer)
Apinizer nedir?
Apinizer aşağıdaki işleri olabildiğince kod yazmadan, basit konfigürasyonlar ile kolayca ve hızla yapmayı sağlayan bir ürün ailesidir:
- Apinizer API Gateway: API/Web Servisler ile ilgili güvenlik, trafik yönetimi, yük dengeleme, loglama, mesaj içeriği dönüştürme ve zenginleştirme, doğrulama, test etme ve daha birçok işi kod yazmadan, form tabanlı arayüzlerde konfigürasyon yaparak gerçekleştirme.
- Apinizer API Creator → DB-2-API: Veri tabanı işlemleri için işletilecek SQL dışında kod yazmadan ayrı bir sunucuya kurulum ya da yükleme ihtiyacı olmaksızın ve anında (on-the-fly) API/Web Servis açma.
- Apinizer API Creator → Script-2-API: JavaScript ya da Groovy kodlarını ayrı bir sunucuya kurulum ya da yükleme ihtiyacı olmaksızın ve anında (on-the-fly) API/Web Servis olarak açma.
- Apinizer API Creator → Mock API Creator: Herhangi bir sunucu ya da kod yazma ihtiyacı olmadan, anında Mock API oluşturup kullanıma açma.
- Apinizer API Monitor: API/Web Servislerin ya da dış sistemlerin sağlıklı bir şekilde çalışıp çalışmadığını otomatik olarak sürekli izleme ve sorunlardan anında haberdar olma.
- Apinizer API Analytics: API/Web Servislerin performans, kullanım detayı, hata metrikleri gibi bilgilerini izleme.
- Apinizer API Portal: API/Web Servisleri inceleme, dokümantasyona erişim, deneme ve kullanma imkanı sunma.
- API Portal: Apinizer ile entegre olmayan, istenirse başka herhangi bir API Proxy'nin önüne konumlandırılarak ya da bağımsız olarak kullanılabilecek, API Tüketicilere API Ürünlerini görme, dokümantasyona erişim, kayıt olma, kullanıcı davet etme, API'leri deneme ve uygun ücretlendirme planını seçerek kullanma imkanı sunma.
- Apinizer Integrator: Entegrasyon gereksinimlerini kod yazmadan ve otomatikleştirerek karşılama ve istenirse bunları da API/Web Servis olarak açma.
- Apinizer Platformu: API ekiplerine Yazılım Geliştirme Yaşam Döngüsü (Software Development Lifecycle - SDLC) süreçlerine paralel bir API Geliştirme Yaşam Döngüsü (API Development Lifecycle) ortamı sağlama. Böylece kullanıcıların farklı roller üstlenerek işbirliği içinde çalışabilecekleri ve gereksinim belirleme, belgeleme, tasarım, geliştirme, test etme, yükleme, sürüm oluşturma, izleme, analiz etme, raporlama, portal üzerinden yayına alma ve fiyatlandırma gibi API yaşam döngüsü adımlarını işletebilecekleri tek ve entegre bir platform sunma.
Apinizer ne değildir?
Apinizer birçok şeyi yapabilmekle birlikte, kendi alanlarında özelleşmiş yazılımların ya da çözümlerin yerine geçmek gibi bir hedefi yoktur. Bu çerçevede Apinizer ne değildir sorusuna da bazı örnekler ile yanıt vermek gerekir:
- Apinizer Service Mesh değildir: Mikroservis mimarisi ile çalışmayı planlıyorsanız, Apinizer size bir API Gateway olarak yardımcı olabilir, ancak Service Mesh yerine kullanılması doğru değildir.
- Apinizer Kubernetes Yönetim ya da İzleme Aracı değildir: Apinizer, Kubernetes üzerinde çalışır ve kendi kullanacağı Ortam (Environment) tanımlarının ve konfigürasyonlarının yapılması ve bunlar için Kubernetes üzerinde Podların açılması gibi işler için arayüzler sunar. Bu yönüyle, kullanıcıların Kubernetes bilme, yönetme gibi ihtiyaçları yoktur. Bununla birlikte, kullanıcılar eğer zaten Kubernetes ile çalışıyor ve Grafana, Prometheus gibi araçlar ile Kubernetes ortamlarını izliyorlarsa bunları kullanmaya devam edebilirler.
- Apinizer Opsgenie ya da PagerDuty değildir: Apinizer, API/Web Servisleri sürekli izleyerek hatalara ilişkin bir takım aksiyonlar alabilir. OpsGenie ya da PagerDuty gibi özelleşmiş sistemlerle entegre olabilir, ancak onların yerine geçmez.
- Apinizer ELK değildir: Apinizer log kayıtlarını saklamak için Elasticsearch kullanır ve Elasticsearch'ün içerdiği Index Lifecycle Management özelliğinin Apinizer ekranları üzerinden ayarlanmasına imkan sağlar. Kullanıcıların Elasticsearch ya da ilgili araçları kullanmayı bilmeden bu kayıtları sorgulamalarına olanak verir. Ancak kullanıcılar isterlerse Kibana kullanarak da detaylı sorgulama ya da raporlama işleri yapabilirler.
- Apinizer SIEM değildir: Apinizer loglarını SYSLOG'a yazarak SIEM cihazlarının okumasını sağlayabilir.
- Apinizer Firewall değildir: Apinizer yapılan konfigürasyonlar ile API/Web Servis bazında IP kısıtlama, mesaj içerik denetimi gibi işler yapabilir. Ancak bir Firewall'ın yerini alamaz. Firewall'ın arkasında konumlandırılır.
- Apinizer Load Balancer değildir: Apinizer, API/Web Servis bazında birden çok uç nokta tanımlanması durumunda anında trafik yükünü dengeleyebilir (load balancing) ya da yük devri (failover) yapabilir. Kendi yatay ölçeklemesi için de ayrıca bir yük dengeleyici (load balancer) ihtiyacı yoktur. Kurumun/firmanın var olan yük dengeleyicisinin arkasında konumlandırılabilir. TLS çözümlemenin bu cihaz/yazılım üzerinde yapılması performansa katkıda bulunabilir.
- Apinizer IDE değildir: Apinizer API/Web Servis oluşturma ya da API/Web Servislerin güvenlik, mesaj dönüşümü ve benzeri çeşitli alt düzey ihtiyaçlarını karşılamaya yönelik olanaklar sunar. Bu kapsamda zaman zaman XSLT, Jolt, JsonPath, XPath, JavaScript ya da Groovy gibi araçlarla, "konfigürasyon kodu" olarak adlandırılabilecek az miktarda kod yazmaya da imkan verir. Ancak bir API/Web Servis kodlamak, çalıştırmak ya da debug etmek gibi amaçlarla kullanılacak bir IDE değildir.
- Apinizer MailChimp değildir: Apinizer ile e-mail gönderme işlerinizi otomatikleştirebilir, e-mail adreslerini elle belirleyebilir ya da veri tabanı veya API/Web Servis gibi başka bir kaynaktan çekebilirsiniz. Ancak Apinizer bu özellikleri entegrasyon ve bildirim amaçlı kullanılmak üzere sunar, pazarlama ya da e-posta aboneliği yönetme gibi ihtiyaçlar için kullanılabilecek şekilde özelleşmiş bir yazılım değildir.
- Apinizer Zapier ya da BPM Yazılımı değildir: Apinizer, sunduğu konnektörler ile farklı sistem ya da yazılımlara entegre olma ve bunlar üzerinden tanımlanan görevleri birbirlerine ekleyerek Görev Akışları (Task Flows) tanımlama olanağı sunar. Hatta bu akışları, belirlenecek bir adres üzerinden API/Web Servis olarak açma imkanı da verir. Kurumların ya da firmaların birçok gereksinimini karşılamak için yeterli olmakla birlikte, genel amaçlı bir entegrasyon yazılımı olmadığından Zapier ya da benzeri bir yazılım kadar çok sisteme entegrasyon imkanı yoktur.
Apinizer kime ne fayda sağlayabilir?
Apinizer bir yazılım ürünüdür ve odağında API/Web Servisler ve entegrasyon vardır. Bu bakışla, API/Web Servis geliştiren, sunan, bunlara istemci olan ve başka sistem/paydaşlar ile entegrasyon ihtiyacı olan büyük ya da küçük bütün kurum, firma ya da ekipler Apinizer ile bir takım gereksinimlerini kolayca, hızla ve toplamda çok daha düşük maliyetle karşılayabilirler.
Aşağıda "Farklı profiller için Apinizer nasıl faydalı olabilir?" sorusuna kabaca çizilen profiller üzerinden yanıt verilmektedir.
- Bilgi İşlem (IT) Birimleri: Esas işi yazılım geliştirme olmayan ancak başka kurum/firmalar ile entegrasyon yapan kamu kurumları ya da özel sektör firmalarının bilgi işlem birimleri Apinizer ile aşağıdakiler başta olmak üzere birçok ihtiyaçlarını kolayca karşılayabilirler:
- Yazılım geliştirici personel olmadan, birkaç dakikada Web Servis geliştirme ve bütün güvenlik, loglama, istemci yönetimi ve benzeri gereksinimleri karşılayarak hizmete açabilme.
- Var olan eski SOAP Web Servisleri, kodlarına dokunmadan REST olarak açabilme.
- Aynı Web Servisi farklı istemcilere farklı şekillerde açabilme.
- Web Servislerin ne zaman, hangi protokolle/sözleşmeyle kime açıldığını takip edebilme.
- Web Servis envanteri oluşturma.
- Aksaklıkların hangi Web Servisten kaynaklandığını hemen tespit edebilme.
- Kimin ne zaman hangi veriye eriştiğinin takibini yapabilme.
- Web Servisler ile ilgili olmazsa olmaz güvenlik ve loglama gibi gereksinimleri kod yazmadan karşılayabilme.
- Birçok entegrasyon gereksinimini kod yazmadan karşılama. Örnekler:
- Her gün belirli bir saatte merkez bankası kurlarını çekip veri tabanına atma
- Her hafta Cuma günü saat 19:00'da veri tabanından çekilen kayıtlar ile bir Web Servise istek gönderip, belirlenen adreslere e-posta gönderme.
- Startup firmalar: Az sayıda insanın çok sınırlı kaynakla kurduğu ve belirli bir iş fikrine odaklanan küçük firmaların, hem sınırlı iş gücü hem de sınırlı kaynaklarını API/Web Servis geliştirmek ve/veya yönetmekle harcamasına gerek yoktur. Apinizer ile birçok ihtiyaçlarını kolayca, kısa zamanda ve daha ucuza karşılayabilirler:
- Özellikle mobil uygulama geliştirenlerin ya da entegrasyon yapanların hızla ve kolayca Mock API açabilmesi.
- Yazılım geliştirici olmayan kişilerin bile birkaç dakikada API/Web Servis açabilmesi.
- Firmanın kendi know-how ve uzmanlığı ile geliştirdiği ve özel bir işi yapan (yapay zeka, görüntü işleme, özel bir algoritma vb.) API'lerini; ücretlendirerek ve güvenlik, yük dengeleme ve benzeri gereksinimleri de karşılayarak ticarileştirebilmesi.
- Müşteriye özel yazılım geliştiren firmalar: Büyük ya da küçük birçok yazılım firması, bir kurum ya da firmaya özel geliştirilen yazılımlar üzerinde çalışmaktadır. Bu yazılımların müşterinin var olan sistemleriyle entegrasyonunun yapılması, yeni geliştirilen özellikleri mobil ya da Web istemciler üzerinden açma ihtiyacı, müşterinin var olan Web Servislerini düzenleme ve yönetme gibi ihtiyaçlar için Apinizer çok önemli kolaylıklar ve faydalar sağlayabilir.
- Müşterinin var olan eski SOAP Web Servislerini mobil uygulamaların da kullanabilmesi için kodlarına dokunmadan REST olarak açabilme.
- Var olan ya da iş sürecinde yeni geliştirilen API/Web Servisleri farklı profildeki istemcilere farklı şekillerde ve farklı adresler üzerinden açabilme.
- Hem müşterinin hem de yazılım firması personelinin kullanımına yönelik Web Servis envanteri oluşturma.
- Geliştirme sürecinde ve sonrasında, aksayan API/Web Servislerin hemen belirlenebilmesi için otomatik olarak sürekli izleme.
- Zaman içinde artan talebi ve bunun getireceği yükü karşılayabilecek şekilde esnek ve yatayda ölçeklendirilebilir bir altyapı sağlama.
- Geliştirilecek API/Web Servislere ait kaynak kodların, iş mantığı dışında kalan kısmı Apinizer üzerinde konfigürasyonla gerçekleştirilirse aşağıdaki maliyet tasarrufları sağlanabilir:
- Yazılacak kod miktarı ve bu kodlar için ihtiyaç duyulan teknik bilgi birikimi ve deneyim çok büyük oranda azalır.
- Kod miktarı ile birlikte bakım maliyeti de düşer.
- Artık yazılım geliştirilerek yapılmayacak olan bu işler, Apinizer üzerinde yazılımcı olmayan ya da görece daha az deneyimli kişiler tarafından yapılabilir. Böylece personel maliyeti çok ciddi oranda düşer.
- Müşteriye özel geliştirilen projelerde veri tabanı işlemleri için API/Web Servis açma ihtiyacı sıklıkla ortaya çıkar. Apinizer, veri tabanını ve sorgu yazmayı bilen, yazılım geliştirmeyi bilmesi gerekmeyen kişiler tarafından bu tip API/Web Servislerin dakikalar içinde hizmete alınmasını mümkün kılar. Bu özellik, zaman, geliştirme ve personel maliyetini önemli oranda azaltır.
- Birçok entegrasyon işinin kod yazmadan ve otomatik olarak yapılabilmesi.
- Yazılım ürünü ve/veya API ürünü geliştiren firmalar ile yazılım teknolojilerini yoğun kullanan ve birçok sistemle entegre olan e-ticaret, turizm, bankacılık, sigorta, finans gibi sektörlerdeki firmalar ya da kurumlar: Bu tip firma/kurumlar genel olarak geniş ve teknik bilgi becerileri oldukça yüksek yazılım ekipleri olan, yazılım geliştirme süreçlerini işleten, SDLC pratiklerini kullanan, CI/CD, DevOps gibi kavramlara aşina ekipleri bünyesinde bulunduran firmalardır. Apinizer, API/Web Servisler için SDLC ile paralel olan ancak bazı noktalarda farklılaşan API Lifecycle adımlarının yönetilmesi için işbirliğine dayalı bütünleşik bir platform sunar. Bu çerçevede;
- API Ürünleri (API Product) için gereksinim belirleme, tasarım, geliştirme, test etme, yükleme, izleme, analitik verisi toplama ve inceleme, yayına alma, ücretlendirme, versiyonlama, emekli etme gibi yaşam döngüsü adımlarında farklı rollerden kullanıcıların, rolleri gereği yürütecekleri işler için akışı yöneten ve yönlendiren ve çeşitli araçlarla destekleyen bir çalışma ortamı sunar.
- Proje, takım, dinamik rol ve kullanıcı yönetim imkanı ile çalışma alanı (Workspace) oluşturarak projeleri, ekipleri ve sorumlulukları birbirlerinden ayırarak çalışma imkanı verir.
- Jira, GitLab gibi araçlarla entegre olarak CI/CD süreçlerini destekler.
- İş akışı (Workflow) tanımlama ve güncelleme olanağı sunar.
- Testleri otomatikleştirme ve tekrar kullanma imkanı verir.
- Testleri monitör tanımı oluşturmak için kullanma imkanı verir.
- Versiyonlama yapma ve farklı versiyonları aynı anda farklı ortamlarda çalıştırma imkanı verir.
- Development & Test, Sandbox ve Production ortamları oluşturarak aynı anda farklı adresler üzerinden çalıştırma olanağı sağlar.
- Farklı ortamları farklı projeler ya da API'ler için farklı kaynaklarla işletme imkanı verir.
- API Ürünlerini API Tüketicilere (API Consumers) ücreti karşılığında kullandırabilecekleri, bunun için deneme imkanı ve dokümantasyon sağlayabilecekleri bir portal oluşturma olanağı verir.
Apinizer özelliklerine hızlı bir bakış
- Genel
- Kubernetes üzerinde çalışma
- On-prem ya da bulut (cloud) kurulumu yapabilme
- Otomatik versiyon yükseltme
- Yatayda ölçeklenebilme
- Çoklu proje yapısı
- Çoklu ortam yapısı
- Çoklu ve dinamik takım yapısı
- Dinamik rol yönetimi
- Kubernetes ortamını yönetme yeteneği
- Elasticsearch ile genişleyebilir log altyapısı
- SIEM entegrasyonu
- API Proxy
- Güvenlik
- OAuth2
- JWT
- Username/Password Authentication
- Basic Authentication
- mTLS Authentication
- Digest Authentication
- SAML Validation
- SSO entegrasyonları
- LDAP/Active Directory ile kimlik doğrulama ve yetkilendirme
- Veri tabanı ile kimlik doğrulama ve yetkilendirme
- Custom API ile kimlik doğrulama ve yetkilendirme
- Belirlenen istemci IP'lerinin erişimine kapatma
- Yalnızca belirlenen istemci IP'lerinin erişimine açma
- Ön tanımlı ve/veya özelleştirilebilir içerik filtreleri
- Şifreleme/Şifre Açma (Encryption/Decryption)
- İmzalama/İmza Doğrulama (Digital Signature/Signature Validation)
- WS-Security
- JOSE Doğrulama (JOSE Validation)
- JOSE Gerçekleştirim (JOSE Implementation)
- Gelişmiş erişim denetimi
- Rol bazlı erişim denetimi
- Metot/Endpoint bazlı erişim denetimi
- Kimlik ve istemci rolleri yönetimi
- Kimlik bazlı daraltma (throttling) uygulama
- Kimlik bazlı kota uygulama
- Trafik yönetimi, yük dengeleme ve yük devretme
- Adres sanallaştırma
- Koşullu yönlendirme
- Sistemi durdurmadan yeni adresler ekleyerek yük dağıtma
- Zaman aşımı ve tekrar deneme sayılarını özelleştirme
- Metot/Endpoint bazlı olarak erişime açma/kapama
- Hata mesajı özelleştirme
- Circuit-breaker
- İstemci banlama
- Proxy sunucu kullanımı
- API bazlı kota uygulama
- API bazlı daraltma (throttling)
- Mesaj Dönüşümleri
- XML mesajlarının dönüştürülmesi
- JSON mesajlarının dönüştürülmesi
- Mesaj Doğrulama
- Mesaj uzunluğu denetimi
- JSON Schema Validation
- XML Schema Validation
- Harici API çağırabilme ve istenirse yanıtını kullanabilme
- JavaScript ya da Groovy kodu ile akışa ve mesaj içeriklerine müdahale edebilme
- SOAP servisi REST olarak açma
- Mock API oluşturma ve koşula göre yanıt döndürebilme
- Mirror API oluşturma (Gelen isteği yanıt olarak döndürür)
- Versiyon yönetimi, farklı ortamlarda aynı API'nin farklı versiyonlarını aynı anda çalıştırabilme yeteneği
- API Spec oluşturma, içe/dışa aktarabilme ve farklı format ya da standart ile dışarı açabilme
- Test
- Test durumları tanımlama
- Test derlemleri oluşturma
- Test işletme tarihçesini saklama ve yeniden işletebilme
- Loglama
- Özelleştirilebilir ve detaylı loglama
- Log kayıtlarında full-text search imkanı
- Saklanacak verilerin özelleştirilmesi ve hassas verilerin korunması
- Özelleştirilebilir ve detaylı yanıt hata kodu ve hata mesajı yönetimi
- API çağrılarının adım adım izlenebilmesi
- CORS ayarları
- Cache kullanımı
- Projelerin dışa/içe aktarılabilmesi
- Politikalar
- Yeniden kullanılabilir politika ayarları
- Genelleştirilebilir ya da API'ye özel politikalar
- Politikaların dışa/içe aktarılabilmesi
- API Grup → API → Metod/Endpoint bazlı politika uygulayabilme
- Koşula göre işletilebilme
- Herhangi bir politikayı ya da tamamını tek tıklamayla geçici olarak kapatıp açabilme
- API gruplama ve istenirse tek adresten erişime açma
- İstek/Yanıt mesajlarını zenginleştirme, düzenleme olanağı
- Yanıtları istemci kimliğine göre özelleştirebilme yeteneği (redaction)
- Güvenlik
- API Creator
- DB-2-API: Veri tabanından REST API açma
- SQL yazıp endpoint olarak açabilme
- Stored Procedure çağırabilme
- Cursor sonucunu döndürebilme
- Batch işlem yapabilme
- Aynı API içinden farklı veri tabanlarına erişen endpoint'ler tanımlayabilme
- Script-2-API: Script kodu ile REST API açma
- JavaScript kodunu endpoint olarak açabilme
- Groovy kodunu endpoint olarak açabilme
- Mesaj bölümlerini kod içinde kullanabilme, güncelleyebilme ya da silebilme
- Mock API: Enpoint'leri ui üzerindende tasarlayarak REST API açma
- Gerçek veriyi taklit etme
- Aynı endpoint üzerinde koşula göre farklı yanıt dönme
- DB-2-API: Veri tabanından REST API açma
- API Monitor
- Uptime Monitor
- API'lerin ayakta ve doğru çalışır durumda olduğunu sürekli izleme
- Test durumlarından monitör oluşturabilme
- Bir endpoint için birden çok monitör oluşturabilme
- Bir monitör için birden çok doğrulama kuralı tanımlayabilme
- Bir monitör için birden çok aksiyon (mail, API çağırma, veri tabanı işlemi ya da özel görev zincirleri vb.) ekleyebilme
- Uptime Monitor
- API Analytics
- API performansını izleyebilme
- Metot/endpoint bazlı performans izleme
- Hazır raporlar ile sistemin genel durumunu görme
- Özelleştirilmiş sorgular tanımlama
- Özelleştirilmiş raporlar tanımlayıp otomatikleştirme
- Anormal durumların yakalanması için özel denetim tanımları yapabilme
- API Integrator
- Görev zincirleri tanımlama
- Görev zincirlerini otomatikleştirme
- Görev zincirlerini REST API olarak açabilme
- Görev zincirlerinin başarısız olma durumunda birden çok aksiyon işletebilme
- Developer API Portal
- Apinizer ile entegre
- API Dokümantasyonu sunma
- Kayıt olma
- Kullanıcıların API ürünlerine kaydolarak kendilerine Uygulama (API Grubu) oluşturması
- Uygulama (API Grup) için İstenildiği kadar API anahtarı oluşturma
- Kullanıcıların kendi kullanım detaylarını inceleyebilmesi
- Kullanıcıların sorularına yanıt bulabilmesi/yanıtlayabilmesi için işbirliği ortamı
API Yaşam Döngüsü Yönetim Platformu olarak Apinizer
API Yaşam Döngüsü farklı rollerden birçok kullanıcının görev aldığı, sonuçta her API de bir yazılım parçası olduğu için Yazılım Geliştirme Yaşam Döngüsü (SDLC) ile yer yer örtüşen, ancak farklılıkları da olan bir süreçtir. Apinizer bu süreçte API paydaşlarına birlikte çalışabilecekleri bir platform ve işlerini kolaylaştırıcı araçlar sunarken, SDLC araçları ve süreci ile de entegrasyon imkanı verir. Böylece hem yazılım geliştirici paydaşlar alışık oldukları ortam ve süreçlerinde çalışma imkanına, hem de API ve ilgili konular için özelleşmiş işleri yapmak üzere tasarlanmış araçları kullanma imkanına sahip olurlar.
Aşağıda API paydaşları ile Apinizer ürün ailesinin bu paydaşlara ne gibi araçlar sunduğu görülmektedir:
API Ürün Yöneticisi (API Product Manager): API satılabilen ticari bir üründür. Dolayısıyla bu ürünü geliştiren, üreten firmada bir Ürün Yöneticisi vardır. Ürü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. Apinizer bu roldeki kullanıcılar için Canvas Creator, Issue Tracker ya da API Portal entegrasyonu gibi araçlar sunar.
API Gereksinim Çözümleyici (API Requirements Analyzer): API isterlerinin belirlenip dokümante edilmesiyle ilgilenir. API Ürün Yöneticisi ve API Tasarımcısı rollerinin bazı yeteneklerini kullanabilen bir alt rol gibi düşünülebilir. Canvas Creator, Issue Tracker ve API Spec Creator araçlarından faydalanır. Bu nedenle aşağıdaki görselde ayrıca gösterilmemiştir.
API Tasarımcısı (API Designer): API tarafından sunulacak olan uç noktaların (endpoints) 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. Bu amaçla API Spec Creator ve Metadata Manager araçlarını kullanır.
API Geliştirici (API Developer): Birbirini tamamlayan iki ayrı iş tanımını gerçekleştiren kullanıcılardır.
- Bunlardan ilki, fiilen yazılım geliştirme işi olarak API kodunun yazılmasıdır. Apinizer bu çerçevede API Geliştirici rolündeki kullanıcılara kod yazmadan (no-code) ya da az kod yazma (low-code) seçenekleri ile anında ve ayrıca sunucu ya da kurulum gerektirmeden (on-the-fly) API açma imkanı sunar.
- İkinci iş tanımı ise, var olan API/Web Servislerin ihtiyaç duyduğu güvenlik, loglama, mesaj dönüşümü, mesaj doğrulama, zenginleştirme ve benzeri gereksinimlerin karşılanabilmesi için API Proxy'lerin oluşturularak gerekli olan konfigürasyonların API Proxy yazılımı üzerinde yapılmasıdır. Apinizer bu amaca yönelik olarak birçok işin kod yazmadan, sadece konfigürasyonla yapılabileceği araçlar sağlar. Böylece orijinal API/Web Servis sadece iş mantığı (business logic) ile ilgili kısımları gerçekleştirecek, geri kalan geliştirmeler Apinizer üzerinde yapılacak şekilde planlanabilir.
Apinizer, API Geliştiricilerin bu iş tanımlarının gerektirdiği işleri yapabilmeleri için Mock API, Mirror API, DB-2-API, Script-2-API, API Integrator ve API Proxy ürünlerini sunar.
API Test Uzmanı (API Tester): API testi, yazılım testlerine benzer. Yazılımsal olarak hedef API'yi çağıran ve döndürdüğü sonuçları test eden test durumları kodlamak mümkün olmakla birlikte, mesaj başlıklarının, parametrelerin ya da mesaj içeriğinin hazırlanması, iletilerin HTTP/S çağrıları şeklinde gönderilmesi ve bununla ilgili detayların ele alınması gibi konular, API Testi için özelleşmiş araçları kullanmayı daha pratik hale getirmektedir. Ayrıca, bir API üzerinde uygulanan politikaların anında test edilebilmesi gerekir. Test durumlarının kaydedilmesi, test derlemleri oluşturulabilmesi, bunların otomatikleştirilmesi, yeniden kullanılabilir olması ve tarihçenin saklanarak tekrar işletilebilmesi gibi detaylar, test uzmanlarının işlerini kolaylaştırmaktadır. Apinizer bu kapsamda API Test Console ve Test Toolbox araçlarını sağlar.
API Kalite Uzmanı (API QA Specialist): API Tüketicilere açılan her API, istemci ihtiyaçlarını karşılama düzeyi, doğru çalışma ve performans gibi farklı kriterler ile izlenmeli, gerekli iyileştirmeler yapılmalıdır. Apinizer bunun için test derlemleriAnomaly Detector ve özelleştirilmiş sorgulamalar yapılabilen API Analytics ürünlerini sunar.
API Destek Uzmanı (API Support Specialist): Firma ya da kurumda, hizmete sunulan API'lere ilişkin istemcilerden gelen soruların yanıtlanması, hata bildirimlerinin takibi, olası bug ya da güvenlik açıklarının belirlenerek dokümante edilmesi ve ilgili diğer paydaşlara geri bildirimlerde bulunularak sorunların en kısa zamanda giderilmesi gerekir. Apinizer bu roldeki kullanıcıların API'leri test edebilmesine, log kayıtlarına erişebilmesine, API bazlı olarak adım adım işletme adımlarını izlemesine olanak sağlar.
API Portal Yöneticisi (API Portal Manager): API Portal ile API Ürünleri API Tüketicilerin kullanımına sunulur. API Tüketiciler bu sayede kendilerine API anahtarları oluşturup ilgilendikleri API Ürünlerini deneme, dokümanlarını inceleme, tanımlı ücretlendirme seçeneklerinden uygun olanı seçerek API ürünlerini kullanma imkanı bulurlar. API Portal Yöneticisi, bu işlemlerin yapılabilmesi için gerekli konfigürasyonları yapmaktan, kısaca API Portal'i işletmekten sorumludur. Apinizer bu çerçevede bir API Portal ürünü ve portal üzerinde yapılabilecek işlere ilişkin gerekli rolleri sunar.
API Analizcisi (API Analytics): Açılan API'lerin genel başarı durumları, varsa hataların dağılımı ve sıklığı gibi veriler, API hizmet kalitesini sağlamak amacıyla sürekli izlenmelidir. Bunun için log verileri incelenir. Ancak log verileri hassas veriler içerebilir. Bu nedenle, analitik verilerine erişebilecek kullanıcıların kısıtlanması istenir. Apinizer, API Analizcisi rolü ile bu gereksinimi karşılar.
API Güvenlik Yöneticisi (API Security Manager): API Geliştiriciler, üzerinde çalıştıkları API için kimlik doğrulaması gibi güvenlik isterlerini belirler. Ancak API Geliştiricilerin kullanılacak kimlikleri yönetme izni olmaması istenir. Çünkü bir geliştiricinin istediği kişiye erişim hakkı vermesi sakıncalı olabilir. Apinizer bu gereksinimi API Güvenlik Yöneticisi rolü ile karşılar. Kullanıcı adı ve şifrelerini, veri tabanı ya da LDAP bağlantısı gibi tanımlamalarda ihtiyaç duyulan şifreler gibi güvenlik gerektiren bilgileri sadece bu role sahip olan kullanıcılar yönetebilir. Başka bir deyişle API Geliştirici bir kaynak için kimlik kontrolü yapılmasını gerektiğini belirtir, kontrol edilecek kimlikleri, yetkilerini ve nereye erişebileceklerini ise API Güvenlik Yöneticisi belirler. Buna ek olarak, istemcilere ait hassas verilerin nasıl filtreleneceği, maskeleneceği ya da loglanacağını belirlemek de API Güvenlik Yöneticisinin sorumluluğundadır.
API Tüketici (API Consumer): API'lere istemci olan, bunları kullanan taraflardır. API Portal varsa, API Tüketiciler portal üzerinde kendilerine uygulamalar tanımlayıp API Ürünlerini bu uygulamalara kaydetme, uygulamanın yetkili kullanıcılarını tanımlayıp bunlara API Anahtarı üretme, API Ürünlerini test etme gibi işlevleri gerçekleştirebilirler. API Portal yoksa, API Tüketiciler API Proxy üzerinden açılan API'leri kendilerine verilen adreslerden çağırarak kullanabilen, Apinizer üzerinde herhangi bir konfigürasyon işi yapamayan, buna ihtiyaç duymayan paydaşlardır. Başka bir ifade ile API Tüketiciler; API Ürünlerinin müşterileri ya da kurum/firmanın açtığı API'leri çağırarak kullanan kurum/firma içinden ya da dışından istemcilerdir.
Apinizer ile API Yaşam Döngüsünün tüm paydaşları işbirliği içinde çalışır;