Application Programming Interface (API), geliştiricilerin karmaşıklığını gizler, sistemleri genişletir, kod düzenler ve bileşenleri yeniden kullanılabilir hale getirir. API, komut satırı araçlarından kurumsal Java koduna, web uygulamalarına kadar her yerde uygulanan bir kavram olan uygulama programlama arayüzü anlamına gelir. Bir API, programatik olarak ayrı bir yazılım bileşeni veya kaynağı ile etkileşime girmenin bir yoludur.
Her bir kod satırını sıfırdan yazmazsanız, her biri kendi API’sine sahip harici yazılım bileşenleri ile etkileşime geçersiniz. Tamamen sıfırdan bir şeyler yazsanız bile, iyi tasarlanmış bir yazılım uygulamasında kodu düzenlemenize ve bileşenleri daha fazla yeniden kullanılabilir duruma getirmenize yardımcı olacak dahili API’ler bulunur. Ayrıca, web üzerinden başka bir yerde geliştirilen işlevsellikten yararlanmanıza izin veren çok sayıda genel API vardır.
Application Programming Interface (API) Nedir?
Bir API, bir yazılım bileşeniyle olası etkileşimlerin bir özelliği olarak tanımlanır. Bu tam olarak ne anlama geliyor? Bir arabanın bir yazılım bileşeni olduğunu hayal edin. API, yapabilecekleri hakkında hızlandırma, frenleme, radyoyu açma vb. bilgileri de içerecektir. Mesela, hızlandırmak için ayağınızı gaz pedalına sokup itiyorsunuz. API, ayağınızı gaz pedalına bastığınızda motorun içinde neler olduğunu açıklamak zorunda değildir. Bu nedenle, içten yanmalı motorlu bir araba kullanmayı öğrendiyseniz, tamamen yeni bir beceri seti öğrenmek zorunda kalmadan bir elektrikli otomobilin direksiyonuna geçebilirsiniz.
Akılda tutulması gereken bir şey, bazı Application Programming Interface (API)’lerin adının, hem etkileşimlerin özelliklerine hem de etkileşime girdiğiniz asıl yazılım bileşenine atıfta bulunmak için kullanıldığıdır. Örneğin, “Twitter API” ifadesi yalnızca Twitter ile programatik olarak etkileşime girmeye yönelik kurallar kümesi değildir. Aynı zamanda Twitter’dan alınan tweetleri de analiz eden bir API’ye işaret eder.
Soyutlama Katmanı Olarak API
Yazılım söz konusu olduğunda, API’ler kelimenin tam anlamıyla her yerdedir. API, bilgisayar bilimindeki en temel kavramlardan biriyle paralel gider. Soyutlama, karmaşık eylemlerin basit bir şekilde ele alınabilmesi için bir sistemin karmaşıklığını düzenlemenin bir yoludur. Bu, API’lerin programcılar için nasıl bir şey olduğunu ifade eder. Muazzam miktarda karmaşıklığı alırlar ve hepsini kendiniz yapmak yerine kullanabileceğiniz nispeten basit bir etkileşimler kümesi olarak tanımlarlar. Herhangi bir yazılım projesinde, doğrudan yüzlerce olmasa da onlarca API kullanırsınız. Bu API’lerin her biri diğer API’lere dayanmaktadır.
Genel API’ler ve API Entegrasyonu
API’ler bilgisayar programlamasında uzun süredir devam eden bir konsepttir ve yıllardır geliştiricilerin araç setlerinin bir parçası olmuştur. Geleneksel olarak, API’ler aynı makinede çalışan kod bileşenlerini bağlamak için kullanıldı. Her yerde ağ oluşumunun artmasıyla, bazen açık API olarak adlandırılan daha fazla sayıda genel API mevcuttur. Herkese açık API’ler dışa dönük ve İnternet üzerinden erişilebilir durumdadır, böylece diğer üreticilerin çevrimiçi kodlarıyla etkileşime giren bir kod yazmanıza izin verir; Bu işlem API entegrasyonu olarak bilinir. Bu tür kod birleştirmeler, kullanıcıların farklı üreticilerin işlevselliğini kendi sistemlerinde karıştırmasını ve eşleştirmesini sağlar.
Web Servisleri ve API’ler
Aslında, bir web servisi, bir XML varyantı olan Web Servisleri Tanımlama Dili’nde (WSDL) belirtilmeleri de dahil olmak üzere oldukça katı bir spesifikasyonlar setini karşılayan spesifik bir açık API türüdür. Web servislerinin servis odaklı bir mimarinin (SOA) bir parçası olarak kullanılması amaçlanmıştır. Bu, SOA’ların potansiyellerini tam olarak karşılamadığı için web servislerinin kötü anılmasına yol açmıştır. Servis-hizmet iletişimi için kullanılan tekniklerdeki (özellikle daha hafif, daha esnek REST) gelişmeler, genel API dünyasında da web servislerini biraz geride bırakmıştır.
REST API’leri
Web servisleri başlangıçta, XML belgeleri HTTP üzerinden gönderen bir mesajlaşma protokolü olan SOAP (Basit Nesne Erişim Protokolü) kullanarak iletişim kurmak için tasarlanmıştır. Bununla birlikte, bugün web tabanlı çoğu API, mimari bir stil olarak REST – Temsili Durum Transferi’ni kullanır. REST, her türlü medyayı (metin, video vb.) İçeren dağıtık sistemler inşa etmek için kullanılan mimari bileşenler, tasarım ilkeleri ve etkileşimler kümesidir. Özünde, REST genel amaçlı bileşenleri kolayca oluşturmak için gereken yapıyı sağlarken, web üzerinde esnek iletişim ve bilgilerin görüntülenmesini sağlayan bir yapı sistemleri tarzıdır. Bir REST API’sinde, bir kaynak hemen hemen her şey olabilir.
REST’in en büyük farklılıklarından biri, talep eden uygulamaya veri göndermeyi içermesidir. Bu, uygulamanın verilerle istediğini yapmasına izin vererek, büyük esneklik sağlarken, verimlilik maliyeti bulunur. Verileri web üzerinden işlenmek üzere göndermek, verilerin bulunduğu işlemi yapmak ve sonuçları göndermekle karşılaştırıldığında oldukça yavaştır. Tabii ki, verimlilik yaklaşımla ilgili sorun, verileri barındıran sistemlerin önceden ne yapmak istediğini bilmesi gereken uygulamalardır. Bu nedenle, genel amaçlı kullanılabilirlik ve esnekliğe sahip bir API oluşturmak için REST, en uygun yoldur.
API Örnekleri
Sizinle etkileşime girebilecek, pek çok sektörden birçok ortak Application Programming Interface (API) bulunur. Bazı platform şirketlerinin kodlarına bir API üzerinden programlı olarak erişebilme yeteneği, temelde onları bir platform yapan şeydir. Bazı belirgin API örnekleri şunları içerir:
- Kodunuzu Google Haritalar hizmetinden tüm Google hizmetlerine bağlayabilmenizi sağlayan Google API’ları. API’ler Google için çok önemlidir ve lider bir API yönetim platformu olan Apigee’yi satın almışlardır.
- Facebook’un sosyal grafik ve pazarlama araçlarına programlı olarak erişmenizi sağlayan Facebook API’ları. (Şirket, Cambridge Analytica ve diğer skandallardan kaynaklanan bu API’ler üzerinden erişebildiğiniz kullanıcı verilerini kısıtlamaktadır.)
Bir yorum bırakınız...