SOAP Nedir?
Merhaba arkadaşlar bu makalemizde SOAP nedir ne için kullanılır öğrenmeye çalışacağız. SOAP (Simple Object Access Protocol) yani Türkçe anlamıyla basit nesne erişim protokolü dür.Dağıtık, tek merkezli olmayan uygulamalar veya farklı platformlardaki nesnelerin iletişimi sağlayan bir protokoldur. SOAP dağıtık uygulamalar ve web servisler arasındaki ilişkinin belirli bir standarda göre yapılmasını sağlamayı amaçlar. SOAP dağıtık uygulamalar ve web servislerin iletişimini sağlamak için RPC(Remote Procedure Call) modelini kullanır yani istemci sunucu mantığına dayalı bir protokoldür.
RPC(Remote Procedure Call):
RPC temel anlamda clientlar ve serverların iletişimi için dizayn edilmiş bir servisdir. Server ve client arasında gerçekleşecek olan işlemin güvenliği ve kolayca gerçekleşmesini sağlar.
Konumuza dönecek olursak. SOAP web üzerinde kullanılmak amacıyla geliştirilen fonksiyonların XML kuralları çerçevesinde iletişimini sağlayan bir yapıdır. SOAP la ilgili tüm mesajlar XML formatıyla iletilir. SOAP mesajları 3 şekilde oluşur.
· Metod Çağırımı
· Cevap Mesajı
· Hata Mesajı
Mesajları incelersek
Metod Çağırma: Servera istenilen metod ve parametrelerin gitme işlemidir. Metodun ismi ve parametreler bilinmesi gerekmektedir.
Cevap Mesajı: Serverdan geri dönen mesaj veya mesajlardır.
Hata Mesajı : Bu iki mesajın başarısız olması durumunda dönen mesajdır.
Peki şimdi de bir mesajın içeriğini açıklamaya çalışalım.
|
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
....
</SOAP-ENV:Header>
<SOAP-ENV:Body>
....
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
|
Envelope: Bütün SOAP mesajlarının içinde olduğu elemandır.Envelope elemanı içinde header ve body gibi elemanlar bulunur.Bu elemanlardan body her zaman bulunmak zorundadır.Header elemanı olmak zorunda değildir.Envelope içerisinde bir header elemanı bulunuyor ise envelope da en baştaki eleman olmalıdır.SOAP kullanılan mimarilerde kesinlikle TCP protokolü kullanılır.
Header: Bu bölüm metodun çağırılmasıyla ilişkili değildir. Genelde header kısmında servisle ilgili meta-data bilgileri gönderilir.
Body:SOAP mesajlarında en önemli bölümdür. Metodun adı ve parametreleri body bölümünde yollanır. Geri dönen mesajda body bölümüne eklenerek geri yollanır. Hata mesajlarında ise body bölümünde hatanın adı ve tanımı gibi bilgiler geri döner. Body bölümünde gönderilen ve alınan tüm mesajlar XML formatındadır.
Tolga AYAS,MCT
tolga@infopark.com.tr