Ana içeriğe geç

SOAP

Simple Object Access Protocol

Okunuşu
sop
Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/soap

Kısaca

SOAP, her isteği ve yanıtı genellikle resmi bir WSDL sözleşmesiyle tanımlanan katı bir zarfa saran, XML tabanlı bir web servisi mesajlaşma protokolüdür.

SOAP nedir?

SOAP, uygulamalar arasında çoğunlukla HTTP üzerinden yapılandırılmış mesajlar alışverişi için kullanılan bir protokoldür. Her mesaj, güvenlik token'ları gibi meta veriler için isteğe bağlı bir Header ve asıl istek ya da yanıtı tutan bir Body içeren bir Envelope taşıyan XML belgesidir. 2000'lerin başında W3C tarafından standartlaştırıldı ve REST ile JSON yeni API'lerin çoğunu devralmadan önce kurumsal web servislerinin belkemiği oldu.

Bir SOAP servisi genellikle bir WSDL (Web Services Description Language) dosyasıyla tanımlanır; bu, XML Schema ile tanımlanmış işlemleri, girdi ve çıktılarını ve veri tiplerini listeleyen bir XML sözleşmesidir. Araçlar WSDL'yi okuyup istemci kodu üretir; böylece servisi çağırmak yerel bir metodu çağırmak gibi hissettirir ve bu da SOAP'u bir RPC biçimi yapar. WS-* standartları olarak bilinen bir uzantı ailesi, mesajları imzalamak ve şifrelemek için WS-Security, garantili teslimat için WS-ReliableMessaging gibi özellikler ekler; hatalar ise standart bir Fault öğesi içinde döner.

SOAP, gerekli bir formu içeren resmi bir zarfla gönderilen resmi bir taahhütlü mektup gibidir: hızlı bir kısa mesajdan daha ağır ve yavaş, ancak kesin, doğrulanabilir ve yanlış okunması zordur. Bankacılıkta, sigortacılıkta, telekomünikasyonda, sağlıkta, kamuda ve ödeme sistemlerinde, ayrıca katı sözleşmelere ve yerleşik güvenlik standartlarına değer verilen eski kurumsal yazılımlarla entegrasyonlarda hâlâ yaygındır.

Olağan karşılaştırma SOAP ile REST arasındadır. SOAP, sabit bir XML mesaj biçimi ve resmi bir sözleşmesi olan bir protokoldür ve genellikle her çağrıyı tek bir endpoint'e POST olarak gönderir. REST ise kaynaklar için URL'leri, standart HTTP metotlarını ve durum kodlarını ve çoğunlukla JSON olmak üzere herhangi bir veri biçimini kullanan bir mimari stildir. REST daha hafiftir ve tarayıcılardan çağrılması daha kolaydır; SOAP ise daha katı tiplendirme ve standartlaştırılmış mesaj düzeyinde güvenlik sunar. Özgün adına rağmen SOAP özellikle basit ya da nesne tabanlı değildir ve 1.2 sürümünden beri ad resmi olarak artık bir kısaltma sayılmaz.

Önemli noktalar

  • SOAP mesajları; bir zarf, isteğe bağlı bir başlık ve bir gövde içeren XML belgeleridir.
  • Bir WSDL dosyası, servisin işlemlerini ve veri tiplerini resmi olarak tanımlar.
  • WS-* standartları mesaj düzeyinde güvenlik ve güvenilir teslimat ekler.
  • SOAP bankacılıkta, kamuda, telekomünikasyonda ve kurumsal entegrasyonlarda hâlâ yaygındır.
  • SOAP katı bir protokoldür; REST ise genellikle JSON kullanan daha hafif bir mimari stildir.

Örnek

Bir SOAP 1.2 istek mesajıxml
<!-- Usually sent with HTTP POST to a single service URL -->
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
               xmlns:acc="http://example.com/accounts">
  <soap:Header>
    <!-- Metadata such as authentication tokens goes here -->
  </soap:Header>
  <soap:Body>
    <acc:GetBalance>
      <acc:AccountId>12345</acc:AccountId>
    </acc:GetBalance>
  </soap:Body>
</soap:Envelope>

Sık sorulan sorular

SOAP ile REST arasındaki fark nedir?

SOAP, her zaman XML zarfları ve genellikle bir WSDL sözleşmesi kullanan resmi bir protokoldür. REST ise kaynak URL'leri ve standart HTTP metotları üzerine kurulu, tipik olarak JSON alışverişi yapan bir mimari stildir; bu da çoğu web API'si için onu daha basit ve hafif yapar.

SOAP hâlâ kullanılıyor mu?

Evet. Birçok banka, ödeme ağı, kamu kurumu ve büyük kurumsal sistem SOAP servislerini hâlâ çalıştırıyor ve bunlara bağımlı. Ancak yeni herkese açık API'lerin çoğu REST, GraphQL veya gRPC kullanıyor.

WSDL dosyası nedir?

WSDL (Web Services Description Language) dosyası, bir SOAP servisini tanımlayan XML belgesidir: işlemlerini, mesaj biçimlerini, veri tiplerini ve ağ adresini. Araçlar onu istemci kodunu otomatik üretmek için kullanır.

Sık karşılaştırılanlar

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar