SOAP(Simple Object Access Protocol) ve REST(Representational State Transfer) Nedir

Merhaba

         Bugünkü yazımda REST(Representational State Transfer) ve SOAP(Simple Object Access Protocol) hakkında kısaca derlediğim bilgileri paylaşacağım.

Öncelikle REST den başlayayım

REST (Representational State Transfer)
          REST ; HTTP protokolü ile çalışan, bir yazılım mimarisidir. REST client-server iletişimiyle ilgili bir servistir. www(World Wide Web) sistemlerinde kullanılır. Basit ve esnek bir yapıdadır ve basit olmasına karşın oldukça kullanışlıdır. Platform bağımsızdır birçok platformda, ekstra kütüphaneye ihtiyaç duymadan çalışabilir. Kolay öğrenilir ve kolay kullanılır.

          REST de proxy kullanmak zorunda değilsiniz. REST'te birden fazla biçimde veri alışverişi yapabilirsiniz. En yaygın olanı JSON dır. Bunun dışında XML,CSV hatta Text olarak bile veri alışverişini yapabilirsiniz. Bunlar data yapısı bakımından REST'i daha zengin yapar. Gelen ve giden datanın boyutu ufaktır. REST servisini tasarlaması ve implemente etmesi kolaydır.

          REST servisleri HTTP methodlarından yararlanır. Bunlar Delete, Get, Post, Put methodlarıdır. Eğer data boyutları ve uygulama hızı sizin için önemliyse REST kullanımı uygun olur.

REST kullanan bir kaç popüler şirket olarak Twitter ve Amazonu örnek verebilirim

SOAP(Simple Object Access Protocol)
          SOAP ; Web servisleri ile istemciler arasında gidip gelecek mesajların XML tabanlı olarak belirlenen standartlara uygun formatta taşınmasını sağlayan protokoldür. Çoğunlukla HTTP protokolü üzerinde kullanılır. TCP/IP de kullanılabilir.
          SOAP, veri alışverişinde bilginin nasıl paketleneceğini belirtir. SOAP sayesinde mesajlar güvenlik engeline takılmadan taşınır.
          SOAP da sadece XML kullanılır. Bu nedenle esnek bir yapıya sahip değildir. Eğer projenizde güvenlik önemliyse SOAP kullanılmalıdır.


(Yazılarımda başka sitelerden alıntılar olabilir. Okuduklarımdan anladığım kadarını burada anlatmaya çalıştım. )

Yorumlar

Bu blogdaki popüler yayınlar

Spring Boot ve Hibernate Anotasyonları

CI(Continuous Integration) / CD(Continuous Delivery)

Tasarım Desenleri(Design Patterns) Nedir?