soap-ve-rest-servislerin-ferqi

SOAP və REST servislərin fərqi

Veb Servislərin yazılması son zamanlar Azərbaycanda da daha geniş vüsət alıb. Bir çox şirkətlər namizədləri işə dəvət edərkən onların mütləq veb servis yazma bacarıqlarını ölçürlər.

               Bu məqaləmdə maraqlı intervyu suallarından olan “SOAP və REST arasındakı fərqlər nələrdir?” sualına cavab verməyə çalışacam.

               Müəllif qeydi: ”Mənim fikrimcə əslində sualın məğzi yalnışdır. Çünki SOAP bir protokoldur amma REST arxutektur stildir. Ona görə onların müqayisəsini düzgün görmürəm.Amma nəisə.. Sualı veriblərsə cavablandırmaq lazımdır..”

Qısa olaraq deyim ki , əgər WCF texnologiyasının nə olduğunu bilirsinizsə deməli ən azından SOAP haqqında eşitmisiniz. SOAP (Simple Object Access Protocol) web-servislər yazan zaman istifadə etdiyimiz protokoldur. 90-ci illərdən istifadə olunur,dil və platformadan asılı olmayan bir mexanizmdir. REST(Representational State Transfer) isə son bir neçə ildə geniş yayılmış veb-servis yazılması üçün istifadə olunan sürətli,öyrənilməsi asan, effektiv arxitektura formasıdır.



               SOAP və REST-in fərqlərini aşağıdakı kimi müəyyən edə bilərik:

1)     SOAP XML əsaslı protokoldur, REST isə arxitektur stildir.

2)     SOAP komminukasiya üçün WSDL istifadə edir , REST isə sadə XML və ya JSON istifadə edir.

                                                               Şəkil 1.1 Sadə WSDL



                                                              Şəkil 1.2 Bir REST servisin cavabı

 

3)     SOAP servislər adətən RPC(Remote Procedure/Processing Call) ilə qalxıb icraya başlayır, REST isə sadəcə URL path yazmaqla icra olunur.

4)     SOAP insanın rahat başa düşəcəyi cavab qaytarmır, REST-in isə oxunulması asandır.

5)     SOAP HTTP, SMTP, FTP və başqa protokollarla işləyə bilirsə REST yalnız HTTP ilə işləyir.

6)     Javascript ilə SOAP-ı çağırmaq olsa da bu çətin prosesdir amma REST-i çox sadə formada Javascript ilə çağırmaq olar

7)     REST SOAP-dan daha sürətlidir

8)     REST-i öyrənmək SOAP-a nisbətən çox çox asandır

9)     REST SOAP-a nisbətən daha dinamikdir və SOAP-da olduğu kimi UDDİ-yə ehtiyac yoxdur (UDDİ- WSDL servislərin digər təşkilat və servislər tərəfindən görünməsi üçün publish mexanizmidr)

10)  SOAP yalnız XML-lə işləyir, REST bir neçə texnologiya (XML,JSON və.sə) ilə işləyir.

11)  SOAP REST-i istifadə edə bilmir amma REST SOAP-ı istifadə edə bilir

12)  SOAP BL(Business Logic)-i təsvir etmək üçün servis interfeysləri istifadə edir, REST-in buna ehtiyacı yoxdur

13)  SOAP-in özünün security sistemi var amma REST security-si transportlara dayanır.

14)  SOAP Layer, platforma və transportdan asılı deyil, REST isə HTTP tələb edir

15)  Distributed Enterprise mühitlər üçün REST-ə görə SOAP daha məsləhətlidir

16)  SOAP Standartlaşdırılıb, REST-in özəl bir standartı yoxdur.

17)  SOAP-ı avormatlaşdırılması mümkündür, çünki müəyyən bir standarta malikdir amma REST avormatlaşdırılmır

18)  SOAP-in özünün build-in error handling mexanizmi var hansıki REST-də bunlar yoxdur

19)  SOAP nisbətən çətin olduğuna görə bahalı tool-ları var amma REST-in tool-ları olsa da ucuz və ya pulsuzdur

20)  SOAP-in xeyli sayda özəl keywordları var amma REST-in SOAP-a nisbətən cəmi bir neçə (success,payload, errorcode,errormessage) “açar söz”ü var.

 

 

Tural

Tural Süleymani

Süleymani Tural Microsoft-un MCSD statuslu mütəxəssisidir, 2008-ci ildən bu yana proqramlaşdırma üzrə tədris aparır

Müəllifin bu dildə ən son postları

Bu yazıları da bəyənə bilərsiniz