REST, Soap'a karşı. Bir süredir sorun oldu. Ve aslında, aynı sorunun iki yanıtı: web hizmetlerine nasıl erişilir. Ancak birini diğerine tercih etmek şaşırtıcı derecede zor olabilir. SOAP (Basit Nesne Erişim Protokolü), uzun süredir var olan standartlara dayalı bir web hizmetleri erişim protokolüdür. Başlangıçta Microsoft tarafından geliştirilen SOAP, kısaltmanın önerdiği kadar basit değildir. REST (Temsili Durum Transferi), SOAP'ın eksikliklerine yanıt olarak yapılan başka bir standarttır. SOAP ile ilgili sorunları çözmeyi ve web servislerine erişim için daha basit bir yöntem sağlamayı amaçlamaktadır. Peki ya GraphQL? Tabii ki, GraphQL son zamanlarda büyük bir sıçrama yaptı, bundan başka makalelerde uzun uzadıya bahsettik. Ama yine de REST ve SOAP kadar standart değil, bu yüzden bu yazıda sadece bu ikisine odaklanacağız. Hem SOAP hem de REST, hangi protokolün kullanılacağına karar verirken dikkate alınması gereken sorunlara sahiptir.
Genişletilebilir İşaretleme Dili veya XML girin. XML verileri düz metin olarak saklanır. Hem insan hem de makine tarafından okunabilir ve donanımdan bağımsızdır, bu da XML verilerini çok taşınabilir hale getirir. Bir XML API kullanarak, XML verilerini farklı uygulamalar, tarayıcılar veya işletim sistemleri arasında kolayca paylaşabilirsiniz. XML API, bir veritabanından veri alır, ardından XML girdilerini kabul eden başka bir uygulamaya gönderilmek üzere XML biçimine dönüştürür. Bu, veritabanınıza XML'de yapılandırılmış gibi davranmanıza etkili bir şekilde izin verir.
Uygulama programlama arabirimi (API), iki veya daha fazla bilgisayar programının birbiriyle iletişim kurmasının bir yoludur. Diğer yazılım parçalarına hizmet sunan bir tür yazılım arayüzüdür. Böyle bir bağlantının veya arabirimin nasıl oluşturulacağını veya kullanılacağını açıklayan bir belgeye veya standarda API özelliği denir. Bu standardı karşılayan bir bilgisayar sisteminin bir API uyguladığı veya kullanıma sunduğu söylenir. API terimi, spesifikasyona veya uygulamaya atıfta bulunabilir.
Bir bilgisayarı bir kişiye bağlayan bir kullanıcı arayüzünün aksine, bir uygulama programlama arayüzü, bilgisayarları veya yazılım parçalarını birbirine bağlar. Onu yazılıma dahil eden bir bilgisayar programcısı dışında bir kişi (son kullanıcı) tarafından doğrudan kullanılması amaçlanmamıştır. Bir API genellikle programcının kullanabileceği araçlar veya hizmetler olarak işlev gören farklı parçalardan oluşur. Bu parçalardan birini kullanan bir program veya programcının API'nin o bölümünü çağırdığı söylenir. API'yi oluşturan çağrılar ayrıca alt programlar, yöntemler, istekler veya bitiş noktaları olarak da bilinir. Bir API spesifikasyonu bu çağrıları tanımlar, yani bunların nasıl kullanılacağını veya uygulanacağını açıklar.
API'lerin amaçlarından biri, bir sistemin nasıl çalıştığına ilişkin dahili ayrıntıları gizleyerek yalnızca bir programcının yararlı bulacağı ve dahili ayrıntılar daha sonra değişse bile tutarlı kalmalarını sağlamak. Bir API, belirli bir sistem çifti için özel olarak oluşturulmuş olabilir veya birçok sistem arasında birlikte çalışabilirliğe izin veren paylaşılan bir standart olabilir.