SOAP VS REST API

Eyüp Bağdatlı
Pia-Team Tech
Published in
3 min readApr 4, 2022

Merhaba arkadaşlar;

Bu makalede web servisi pazarında popüler olan REST ve SOAP API üzerinde genel bir bilgilendirme yapıp aralarındaki farklardan bahsedeceğim.Uygulama başlangıcında mimari kararlarda etkili olabilecek detaylara değineceğim.

API Nedir?

API (Application Programming Interface), bir uygulamaya ait işlevlerin başka bir uygulamada da, kullanılabilmesi için oluşturulmuş bir arayüzdür. Yani birbirinden farklı uygulamaların birbiri ile sağlıklı bir şekilde iletişimde olmasını sağlar.

REST API Nedir?

JSON Veri Formatı Örneği

REST(en: Representational State Transfer ,tr: Temsili Durum Transferi).REST, HTTP üzerinde çalışan ve diğer alternatiflere göre daha basit ve minimum içerikle veri alıp gönderdiği için de daha hızlı olan bir veri transfer yöntemidir. 2000' de SOAP tanıtılalı 2 yıl olmuşken Roy Thomas Fielding tarafından doktora tezinde bir mimari dizin olarak kaleme alınan REST’in detaylarından bahsedeceğim.

  • Stateless : Stateless olması server’ın client hakkında bilgileri tutmaması demektir.Her istek arasında bir kayıt tutmadığı için kaynak tüketimi azdır ve mimarinin uygulanması daha kolaydır.
  • Uniform Interface : Bilgi, bir uygulamanın ihtiyaçlarına göre özel olmak yerine standart bir biçimde aktarılır.
  • Cacheable : Client gönderilen bilgilere göre bir cache mekanizması oluşturup ,cache(önbellek) bazı verileri kaydedebilir.
  • Client-Server : İki taraf da kendi sorumlukları haricinde olanlarla ilgilenmez.Böylece server ve client iki farklı aktör olarak çalışır ve bunun sonucunda ikisi de birbirinden bağımsız olarak geliştirilir.
  • Layered System : Client-server ilişkisinde aralarda güvenlik katmanı, cache katmanı gibi katmanlar olabilir. Bu katmanlar sadece iletişime geçtiği katmanları bilip request ve response’a etki etmemelidir.

Bu mimari dizin kurallarına uygun apilere de RESTful apiler denmektedir.

SOAP API Nedir?

XML Veri Formatı Örneği

SOAP(en: Simple Object Access Protocol ,tr: Basit Nesne Erişim Protokolu).Katı kurallar ve standartlara dayalı bir web hizmetleri erişim protokolüdür.En temel anlamda, internet üzerinden küçük miktarda bilgileri yada mesajları aktarma protokoludur. SOAP mesajları sadece XML formatındadırlar ve genellikle HTTP(Hyper Text Transfer Protocol) protokolu kullanılarak gönderilirler.

Aşağıda belirtilen bazı Web Hizmeti özelliklerine sahiptir:

  • Web Services security (WS-security) :İletilerin nasıl güvenli hale getirildiğini ve tokens adı verilen benzersiz tanımlayıcılar aracılığıyla aktarımını sağlar.
  • Web Services addressing : Bu tür bilgileri ağ içinde daha derinlerde tutmak yerine, SOAP başlıkları içinde meta veriler olarak tutar.
  • Web Services Description Language (WSDL) : WSDL, tüm SOAP isteklerinin kayıtlarını tutan, XML tabanlı web servisleri oluşturmak için tanımlanmış bir dildir.

Sonuç olarak SOAP API finansal hizmetler, kurumsal uygulamalar, ödeme ağları, yüksek güvenlik gerektirecek uygulamalar ve telekomünikasyon hizmetlerinde kullanılabilir.

REST API web hizmetleri, sosyal ağ ve mobil hizmetler gibi önceliği performans olan uygulamalarda kullanılabilir.

Test Araçları

Apache Jmeter, SOAPUI, Postman, Swagger.io gibi ücretsiz erişim sağlayan test araçlarıyla API’ler üzerinde yük ve performans testleri yapabilir ve uygulamalarınız için en doğru sonuçlara ulaşabilirsiniz.

Jmeter ile kurulum dahil baştan sona test senaryoları oldukça iyi işlenmiş bir makaleyi bırakıyorum.(Buradan ulaşabilirsiniz.)

Bu makaleyi sizlere yeni bir şeyler katabilme umuduyla sonladırıyorum.

İlk makalemi yazmama beni teşvik eden ve bu süreçte vermiş olduğu desteklerinden dolayı Abdullah Kaya ‘ ya teşekkür ederim.

Kaynaklar :

--

--