C# Software Development

Rest ve Soap Servisler Nelerdir?

Written by Burak Yılmaz

Web servisler; sunucular üzerinde çalıştırılan, başka uygulamalar tarafından çağrılan metodları barındıran, genellikle gelen isteği karşılayıp sonuç döndüren yapılardır.

SOAP(Simple Object Access Protocol), XML tabanlı mesajlaşma protokolüdür. Bir SOAP servisin içeriği hakkındaki bilgiler WSDL dosyası içerisinden okunabilir. Bu WSDL dökümanı kullanılarak servis generate edilebilir. SOAP mesaj yapıları 4 elementten oluşmaktadır.

  1. Envelope: Servisin istek ve cevap bilgilerini içerir.
  2. Header: Her zaman olmayabilir. Metadata bilgilerini iletir.
  3. Body: Yapılan isteğin adı ve parametleri, sunucudan gelen cevap bu kısımda tutulut. Her zaman olmak zorundadır.
  4. Hatayı ve durumunu içerir.

Örnek bir SOAP mesaj yapısı:

<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
	<soap:Header>
		...
	</soap:Header>
	<soap:Body>
		...
		
		<soap:Fault>
			...
		</soap:Fault>
	</soap:Body>
</soap:Envelope>

REST(Representational State Transfer), Http protokolünü kullanan, istemci-sunucu arasındaki hızlı veri akışını sağlayan yöntemdir. SOAP mimarisine göre daha esnek ve minimum içerikle veri akışını sağladığı için daha hızlıdır. Json,xml hatta text formatında veri aktarımını yapabilir. Restful servislerde genelde aşağıdaki HHTP metodları kullanılır:

  • POST = Insert
  • GET = Select
  • PUT, PATCH = Update
  • DELETE = Delete

* Hatırlanması Gereken Noktalar :

  • Soap yalnızca xml tabanlıdır. Rest json,xml,text olarak çalışabilir.
  • Rest için WSDL tanımlanma zorunluluğu yokken Soap’da vardır.
  • Rest için HTTP zorunluluğu varken Soap, Tcp Smtp protokollerinde de çalışabilir.
  • Rest, HTTP hatası döndüğü için hata ayıklamak daha kolaydır.
  • Soap güvenlik açısından daha geliştirmiştir çünkü hazır yapıları vardır.
  • Rest servis entegrasyonu çok daha kolaydır.

 

About the author

Burak Yılmaz