Appication Programming Interface yani API, programcılık ve web tabanlı uygulamalarda yer alan, bu alanda sıklıkla anılan bir kavram olarak bilinmektedir. Türkçe karşılığı ise Uygulama Programlama Arayüzü olarak geçmektedir. API ara yüzlerinin birden fazla alanda, farklı amaçlarla kullanıldığı da bilinenler içerisindedir. Bir programın verilere, sunucuya ait yazılıma ya da farklı programlara erişebilmesi için kullanılmakta olan arayüz bağlantısı olarak tanımlanmaktadır. İki makinenin kendi arasında konuşmasının nasıl olacağına dair kurallara da API ile belirlenmektedir. Örnekler üzerinden bilgi vermek gerekirse kurmuş olduğunuz e-ticaret sitesi, API ile birlikte banka kredi kartının para çekilmesine izin vermektedir. Bu sayede kredi kartı ile site üzerinden alışveriş yapabilmeniz mümkün olmaktadır.
Bir örnek daha verecek olursak Facebook App, Uygulama Programlama Arayüzü aracılığıyla kullanıcılara ait olan verileri belirleyerek yine kullanıcılara gösterebilmektedir. Uygulama Programlama Arayüzü kullanımı ile önceden hazırlanan bir altyapıya da erişim sağlayabilirsiniz. Böylece yeniden altyapı erişimine gerek kalmadan kullanmaya devam edebilirsiniz. Genel bir özet geçmek gerekirse özel olan verilere, telefonunuzla zorlanmadan erişebilirsiniz. API kullanımı ile var olan bazı özelliklerden de yararlanabilirsiniz.
Uygulama Programlama Arayüzü terimi ilk olarak 1974 yılında yayımlanmıştır. Crhistopher J. Date tarafından yayınlanmış olan bu terim, bir makale içerisinde geçmektedir. Bu makalenin ismi ise, “The Relational and Network Approaches: Comparison of the Application Programming Interface” olarak bilinmektedir. Giderek daha da yaygın hale gelmesinin yanı sıra söz konusu yazılım farklı alanlarda da kullanılmaktadır. Kullanım amaçlarının çeşitlenmesi de mesajlaşma, e-ticaret ve hatta hava durumu gibi noktalarda yer aldığını göstermektedir. Özellikle günümüzde program geliştiricileri ve web geliştiricileri tarafından aktif bir şekilde kullanılmaktadır. HTML, JSON ve XML protokolleri ile birlikte de kullanıma uygundur.
Türleri Nelerdir?
Uygulama Programlama Arayüzü iki farklı türe ayrılmaktadır. Bunlardan birisi kullanım şekillerine göre birisi ise mimarilere göre şeklinde sınıflandırılmaktadır. Detaylı olarak incelemek gerekirse;
Kullanım Amaçlarına Göre API Türleri
- Dâhili API
Yalnızca belirli kişiler tarafından kullanılmakta olan, harici kullanıcılara gizli olan Uygulama Programlama Arayüzü türü olarak bilinmektedir. Genellikle şirketlerin belirli departmanları için uygun görülmektedir. Üçüncü taraflardan gizlenmesinin yanı sıra yeniden kullanım, üretim işlemlerinde de kullanıldığı bilinmektedir.
- Open API
Geliştiricilere olduğu gibi diğer kişilere de açık olan API çeşitlerini kapsamaktadır. Herkesin kullanımına açık API veyahut Public API olarak da bilinmektedir. Kendi arasında ücretli ve ücretsiz şeklinde ikiye ayrılmaktadır.
- Partner API
İş ortaklıkları ile birlikte çalışmalarına devam eden şirketin operasyonlarında kullanılmaktadır. Söz konusu ortak operasyonların sistemlerinin koordineli bir şekilde devam etmesinde önemli bir etkisi vardır. Bu yüzden de Partner Uygulama Programlama Arayüzü olarak isimlendirilmektedir. Herkesin kullanımına açık olmayan Partner API, örnek vermek gerekirse e-ticaret sitesi ve kargo firması arasında iletişim için kullanılmaktadır.
- Composite API
Composite API birden fazla veri ve hizmet Uygulama Programlama Arayüzü seçeneklerini birleştirmek, geliştiricileri tek bir aramada birden fazla uç noktaya ulaşmasına izin vermek için kullanılmaktadır.
Mimari Yapısına Göre API Türleri
- REST API
Representational State Transfer Türkçe karşılığıyla temsili durum aktarımı anlamına gelmektedir. REST API olarak kısaltılan bu kavram http protokolü kullanılarak çalışmaktadır. HTTP istekleri içerisinde POST, GET, DELETE gibi bazı işlevlerinin olduğu da bilinmektedir. Modern web tabanlı uygulamaların hazırlanması amacıyla sıkça kullanımı söz konusudur. Kullanışlı bir seçenek olmasının yanı sıra bakım kolaylığına sahiptir. Hafif yapısı ve kolay bir şekilde uyumluluk göstermesi de sıkça tercih edilmesinin nedenleri arasında yer almaktadır.
- SOAP
Simple Object Access Protocol kavramının kısaltması olan SOAP, Türkçe karşılığı ile Basit Nesne Erişim Protokolü anlamına gelmektedir. Sıkı bir güvenlik yapısına sahip olan veri transfer işlemlerinin güvenlikle tamamlanmasını sağlayan API mimari olarak geçmektedir. Bu mimari sırasında XML formatından destek alınmaktadır. Böylece iletişim gerçekleşmektedir. Yapılandırma işlemleri REST API ile kıyaslandığı zaman daha zor olarak geçmektedir. Buna karşın güçlü bir güvenlik yapısının olması ilgi çekmesinin temel nedenleri arasında yer almaktadır.
API Nasıl Çalışır?
Uygulama Programlama Arayüzü çalışma şeklinden bahsedecek olursak öncelikli olarak alıcı taraf olarak bilinen program, Uygulama Programlama Arayüzü çağrısında bulunmaktadır. Bu çağrı sonucunda web sunucusuna istekte bulunulmuş olmaktadır. İsteğin alınmasının ardından API, harici program ya da web sunucusuna çağrı yapmaktadır. Sunucu talep edilen bilgileri ise Uygulama Programlama Arayüzü seçeneğine yanıt olarak iletmektedir. API, isteğin yapılmış olduğu alıcı programa da verileri iletmektedir.
Uygulama Programlama Arayüzü çalışma şeklini farklı bir şekilde anlatacak olursak da karşınızda büyük, farklı türlerde kitapların, belgelerin bulunduğu bir kütüphane hayal edebilirsiniz. Sizler bir işiniz olduğunda, bu işi halledebilmek için kütüphane içerisinden bazı verileri düzenli olarak kullanmak isteyebilirsiniz. Böylece verilerden yararlanarak işlerinizi tamamlayabilirsiniz. Ancak kütüphanenin bazı odaları özel veriler barındırmaktadır. Bu da söz konusu katların herkese açık olmadığı anlamına gelmektedir. Sizler de bu kattaki belgeleri, kitapları kullanmak için bazı anahtarlar verilmektedir. Yani kütüphanede sahip olduğunuz yetkiye bakarak size en uygun anahtar verilmektedir. Bu anahtarı kullanarak ilgili kata çıkabilir, kilitli oda içerisindeki bilgilere erişebilirsiniz. Böylece çalışmalarınızı da tamamlamış olabilirsiniz. Bu örnek üzerinde size verilmiş olan anahtar, Uygulama Programlama Arayüzü olarak tanımlanabilmektedir.
Son zamanlarda özellikle internet bankacılığının bu denli yaygın kullanılması API kullanımının da öne çıkmasını sağlamıştır. Sizler cep telefonlarınızda yer alan aplikasyonlara, bankanın sunmuş olduğu Uygulama Programlama Arayüzü ile girebilirsiniz. Aynı zamanda uygulama ve bankadaki hesap bilgileriniz arasındaki köprüyü de API oluşturmaktadır. İşletim sistemleri ve yazılımların arasında iletişimin sorunsuz bir biçimde devam etmesinde de bu faktör yer almaktadır. API kullanımında programlama dilinin ya da cihazların farklılık göstermesi de mümkündür. Buna karşın gerekli çalışmalarla beraber köprü kurulabilmektedir.
Avantajları Nelerdir?
Uygulama Programlama Arayüzü kullanımı sayesinde araçları yönetebilir, yenileri daha kolay bir şekilde oluşturabilirsiniz. Söz konusu avantajlardan bahsetmek gerekirse de;
- API ile bir güvenlik duvarı elde edilmektedir. Veriler ortak sunucuyla paylaşılmaz. Ortak sunucunun yerine sadece bir tane API talebi söz konusudur. Bu sayede verilerin ulaştırılması sırasında güvenli bir sistem kullanılmış olmaktadır.
- Web sitesi ya da mobil uygulamaların görünürlüğü ve trafiği artmaktadır.
- Birden fazla işlem Uygulama Programlama Arayüzü ile çözülmektedir. Aynı zamanda süreçlerin kolay ve hızlı bir biçimde devam etmesinde de rolü bulunmaktadır. Özellikleri, kullanım alanları açısından kolaylıkla da test edilebilmektedir.
- Sıfırdan uygulama geliştirme ihtiyacını ortadan kaldırmaktadır. Bununla birlikte hem zamandan tasarruf edebilir hem de yeni harcamalardan korunmuş olursunuz. Genel olarak incelendiği zaman bakım maliyetinin de daha az olduğu gözlemlenmektedir.
- Uygulama Programlama Arayüzü ile program geliştirme işlemleri daha kolaydır. Yazılım süreçleri karmaşık olmasına rağmen, yeniden kullanılabilmesi, çözülmesi gibi fırsatlar sunmaktadır. Uygulama Programlama Arayüzü kullanımı sadece uygulama geliştirmeyi zorunlu tutmamaktadır. Bunun dışında yeni özellikler üzerinde de çalışabilmek mümkün olmaktadır.