giriiş
API terimini duymuş ve ne olduğunu ve ne işe yaradığını merak etmiş olabilirsiniz. Web API'si, web sitesi geliştiricilerinin web sunucularına bağlanarak talimat ve veri gönderip almalarını sağlayan bir dizi araçtır. Bugün kullandığımız web sitelerinin ve web uygulamalarının çoğu API'ler tarafından desteklenmektedir.
Web uygulamalarında, ön uç kodu veritabanıyla doğrudan iletişim kurmaz. Bunun yerine, veriler API adı verilen bir katman aracılığıyla gönderilip alınır. API, arka uç, veritabanı işlemleri ve kullanıcının etkileşim kurduğu ön uç uygulamaları arasında bir aracı katman görevi görür.
Temel olarak bir API katmanı:
- Bir web sayfasının istek gönderip alabilmesini sağlar.
- İsteğin arka uca gönderilmeden önce doğru formatta olduğunu doğrular.
- Beklenen formatta verileri, bazı ek bilgilerle birlikte döndürür.
- Web sayfasına verinin neden döndürülmediğini söyler.
API türleri
Farklı güvenlik ve gizlilik seviyelerine sahip farklı API türleri mevcuttur. Aşağıda her birini inceleyeceğimiz 4 ana API türü vardır:
1- Genel API'ler
Genel API'ler (harici API'ler olarak da bilinir), geliştiricilere ve diğer kullanıcılara minimum kısıtlamalarla sunulur. Bu tür API'leri kullanmak için kayıt olmanız ve bir API anahtarı kullanmanız gerekebilir veya tamamen açık olabilirler. Bu tür API'ler, harici kullanıcıların verilere veya hizmetlere erişmesini sağlamak için tasarlanmıştır.
2- Dahili API'ler
Açık API'lerin aksine, dahili API'ler dış kullanıcılardan gizlenecek şekilde tasarlanmıştır. Şirket içinde kaynakları paylaşmak için kullanılırlar. Bir işletmenin farklı ekiplerinin veya departmanlarının birbirlerinin araçlarını, verilerini ve uygulamalarını kullanmalarına olanak tanırlar.
3. Ortak API'leri
Bu tür API'ler teknik olarak açık API'lere çok benzer, ancak sınırlı erişime sahiptirler ve genellikle üçüncü taraf bir API ağ geçidi aracılığıyla kontrol edilirler. Genellikle ücretli bir hizmete erişim sağlamak gibi belirli bir amaç için tasarlanmıştır.
4. Hibrit API'ler
Hibrit API'ler, geliştiricilerin tek bir çağrıyla uç noktalara erişmesini sağlar. Bu uç nokta, tek bir API'de birden fazla uç nokta özelliğine sahip olabilir veya bir hizmet ya da kaynak olabilir. Hibrit API'ler, bir görevi gerçekleştirmek için birden fazla hizmetten bilgi gerekebileceği mikro hizmet mimarilerinde özellikle kullanışlıdır. Hibrit API'leri kullanmak, gecikmeyi azaltabilir ve bir uygulamanın kullanıcı deneyimini iyileştirebilir, çünkü tek bir çağrı gerekli tüm öğeleri döndürebilir.
API protokollerinin türleri
API'leri protokol türüne göre de kategorilere ayırabiliriz. Bir API protokolü, bir API'nin istemcilerle hangi bilgileri paylaşabileceğini ve verileri nasıl paylaşacağını belirleyen kurallardan oluşur. RPC, SABUN Ve DİNLENMEK Günümüzde kullanılan en popüler API protokollerinden bazıları şunlardır. Aşağıda bu protokollerin her birini daha ayrıntılı olarak ele alacağız.
Uzaktan Yordam Çağrısı (RPC)
RPC protokolü, üç mimarinin en basitidir. Veri aktarımını kolaylaştıran REST ve SOAP'ın aksine, RPC API'leri işlemleri çağırır. Başka bir deyişle, sunucuda betikleri çalıştırırlar. RPC API'leri çağrılarında JSON veya XML kullanabilir.
Hizmet Nesnesi Erişim Protokolü (SOAP)
SOAP, ağ üzerinden veri aktarımı için kullanılan bir protokoldür ve API'ler oluşturmak için kullanılabilir. SOAP, mesajların tam olarak nasıl gönderileceğini ve nelerin dahil edileceğini belirtir. Bu, SOAP API'lerini REST API'lerinden daha güvenli kılar.
Temsili Durum Transferi (REST)
Günümüzde çoğu web API'si REST üzerine kuruludur. REST, ölçeklenebilir, hafif ve kullanımı kolay API'ler için bir dizi kılavuzdur. REST API ise, REST yönergelerini izleyen ve verileri bir sunucudan istekte bulunan bir istemciye aktarmak için kullanılan bir API'dir.
Özetle, REST API yönergeleri aşağıdakileri içerir:
- İstemci-Sunucu Ayrımı: Tüm istemci-sunucu etkileşimleri, istemciden gelen bir isteğin ardından sunucudan gelen bir yanıt şeklinde olmalıdır.
- Tek tip arayüz: Tüm istekler ve yanıtlar iletişim protokolü olarak HTTP'yi kullanmalı ve istemci ile sunucu arasındaki uyumluluğu sağlamak için belirli bir şekilde biçimlendirilmelidir.
- Bağımsızlık: Her istemci-sunucu etkileşimi diğer etkileşimlerden bağımsız olmalıdır. Sunucu, istemci isteklerinden hiçbir veri depolamaz ve geçmiş etkileşimlere ait hiçbir şeyi hatırlamaz.
- Katmanlı sistem: İstekler ve yanıtlar, istemci ile API arasındaki ara sunucular üzerinden gönderildiğinde bile her zaman aynı şekilde biçimlendirilmelidir.
- Önbelleğe Alınabilir: Bu yönergeleri kullanarak, REST API'leri hızlı, kolay ve güvenli veri aktarımı için kullanılabilir ve bu da onları geliştiriciler arasında popüler bir seçim haline getirir.
Kullanım örnekleri açısından API türleri
API'ler için bir diğer sınıflandırma da kullanım durumlarına göre yapılabilir, bunlar şunlardır:
açık API
Yapısal olarak açık API, standart REST API'lerinin yapısını ve sözdizimini tanımlamak için kullanılan standart bir formattır. Açık API belgeleri hem makine hem de insan tarafından okunabilir olduğundan, herkes her API'nin nasıl çalıştığını kolayca belirleyebilir. Mühendisler, sunucuları programlamak ve tasarlamak, testler geliştirmek ve çalıştırmak için açık API'yi kullanabilirler.
API ağ geçidi
Çoğu kurumsal API, bir API ağ geçidi aracılığıyla dağıtılır. API ağ geçitleri, genellikle kullanıcı kimlik doğrulaması, hız sınırlaması vb. gibi bir API hizmetleri sisteminde kullanılan tipik görevleri gerçekleştirir. Bir API ağ geçidi hizmeti, uzak bir isteği kabul eder ve bir yanıt döndürür.
web API
Web API olarak bilinen bir uygulama, bir dizi işleve sahip bir arayüz türüdür. Bu işlev kümesi, programcıların bir uygulamanın belirli özelliklerine veya verilerine erişmesini sağlar. WEB API, adından da anlaşılacağı gibi, HTTP protokolünü kullanarak web'e erişen bir API'dir. HTTP için REST hizmetleri oluşturmanıza ve geliştirmenize yardımcı olabilir.
API'nin kullanımı nedir?
API'nin tanımında açıklandığı gibi, API'ler şirketlerin uygulamalarının verilerini ve işlevlerini harici üçüncü taraf geliştiricilere, iş ortaklarına ve şirket içi departmanlara açmalarını sağlar. Bu, hizmet ve ürünlerin birbirleriyle iletişim kurmasına ve belgelenmiş bir arayüz aracılığıyla birbirlerinin verilerini ve işlevlerini kullanmasına olanak tanır. Geliştiricilerin bir API'yi nasıl uygulayacaklarını bilmeleri gerekmez. Şirketin diğer hizmet ve ürünleriyle iletişim kurmak için bir arayüz kullanırlar.
API anahtarı nedir?
API anahtarı, bir API'ye yapılan çağrıları doğrulamak için kullanılan benzersiz bir tanımlayıcıdır. API anahtarı, istemciyi tanımlayan bir harf ve sayı dizisidir. Anahtar, istemcinin erişim izinlerine bağlı olarak istekleri onaylar veya reddeder ve kullanım ve faturalandırma amacıyla yapılan istek sayısını izler. Bir şirket, erişimi yalnızca anahtara sahip olanlarla sınırlayarak API'sine yapılan çağrı sayısını kontrol edebilir ve yalnızca belirli, güvenilir bir müşteri grubunun sunucu kaynaklarına erişebilmesini sağlayabilir.
GraphQL
GraphQL, mobil ve web uygulamalarına veri sunmak için kullanılan açık kaynaklı bir sorgu dilidir. Uygulama için veri almak amacıyla kullanılması bakımından REST'e benzer, ancak verilerin nasıl alınacağına ilişkin yaklaşımı tamamen farklıdır. REST API'leri harika ve en yaygın kullanılanlar olsa da, GraphQL verimliliği ve esnekliği artırmak için kullanılabilecek yeni bir API tekniği sunuyor.
Yazılım ile API arasındaki fark nedir?
Yazılımlar ve API'ler arasındaki en büyük fark, kullanıcıyı nasıl etkiledikleridir. Her ikisi de bir tür bağlantı sağlar; API'ler yazılım programları tarafından kullanılmak üzere tasarlanırken, yazılım programları insanlar tarafından kullanılmak üzere tasarlanmıştır.
API'ler genellikle belirli bir yazılım parçasının sadece bir parçasıdır ve kullandığınız uygulamaların çoğu bir şekilde birden fazla API'ye bağımlıdır.
Uygulamalar ise çok daha esnektir. Uygulamalar, kullanıcının bir görevi tamamlamasına yardımcı olmak için birden fazla API kullanabilir. API'ler, tercih ettiğiniz yazılımla kolayca entegre olacak şekilde tasarlanmıştır ve özellikle iş akışları ve bireyler için kullanılabilir.









