Bolu Beyi tarafından yazıldı Haziran - 14 - 2011 0 Yorum

Daha önceki yazımda Web servislerden bahsetmiştim sizlere. Web servis deyince ilk akla gelen terimlerden biri SOAP’tır. Bugünkü yazımda SOAP’ı biraz daha detaylı anlatacağım.

SOAP, http üzerinden veri alışverişi sağlayan, xml tabanlı, geliştirilebilir iletişim protokoldür. Kısacası web servisine ulaşmak için kullanılan protokoldür. Farklı dillerin birbirleriyle konuşmasını sağlamaktadır. Mesela iki site düşünün, biri asp ile diğeri java ile yazılmış olsun. Bu iki site arasında iletişim kurmak için ortak bir protokole ihtiyaç duyulmuştur. İşte burada SOAP devreye girmektedir. Hatırlarsanız yakın bir zamanda web standardı olan W3C ile ilgili bir yazı yazmıştım. SOAP da bu W3C standardı olarak geliştirilmektedir.

SOAP’ın avantajlarına gelecek olursak, az önce de belirttiğim gibi farklı programlama dilleri ile oluşturulan uygulamalar arasında sorunsuz bir şekilde iletişim kurabilmektedir. Bir de HTTP(hyper text transfer protocol) üzerinden XML verisi olarak taşındığı için güvenlik duvarlarına takılmazlar. HTTP üzerinden uygulamalar arasında bilgi iletişimini sağlamak iyi bir yoldur, çünkü HTTP’yi bütün internet tarayıcıları ve sunucuları destekler. SOAP bunu sağlamak(başarmak) için oluşturulmuştur.

Aklınıza şöyle bir soru gelebilir: “Niye HTML yeterli olmuyor?” HTML, sadece hypertext taşır ve nesne taşıyamaz. SOAP, bu eksikliği gidermektedir ve HTML ile SOAP birbirini tamamlamaktadır. SOAP, HTML paketlerinin içine gömülü olarak gönderilmektedir. SOAP, 4 ayrı kısımdan oluşmaktadır:

1-SOAP Envelope: Mesajın içeriğini, mesajı kimin proses edeceğini ve bu mesajın isteğe bağlı ya da zorunlu olup olmadığını içerir.

2-SOAP Encoding rules: Serializasyon mekanizmasını tanımlar.
3-SOAP RPC(Remote Procedure Calls) representation: Uzaktan prosedür çağırımı ve bunların geri dönüşlerini tanımlar.
4-Protocol binding: SOAP’ın HTTP içinde nasıl kullanılacağını tanımlar.
Burada RPC ve Encoding kısımlarını, .NET Framework otomatik olarak halletmektedir.
Dilerseniz .NET’te basit bir SOAP örneği yazalım:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

[WebService(Namespace = “http://bolubeyi.net/”,Name=”emrullah”,Description=”bolubeyinden selam olsun…”)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
public Service ()

    {

}
[WebMethod]
public string ilkwebservisprogramim()

   {
return “İlk Web servis programım”;
}
[WebMethod]
public int Merhabadunya()
{
return 14;
}
}
Bu projeyi çalıştırdığınızda localhost’ta tarayıcınızda bir sayfa açılacak ve gördüğünüz linklere tıkladığınızda XML kodlarına ulaşabileceksiniz. Bu arada Visual studio’da projeyi açarken 3.5 sürümünü kullanmanızı tavsiye ederim. Çünkü 4.0’da şahsen web servis proje açma seçeneği bulamadım. Ben de bu konuyu yeni öğrendiğim için çok fazla detaylı anlatamadım sizlere, umarım faydalı olmuştur…
Bu konu ile ilgili diğer yazılar:
Web servis
WSDL
W3C

Time limit is exhausted. Please reload CAPTCHA.