Perbedaan antara REST dan SOAP

Artikel ini membahas beberapa aspek perbedaan mendasar antara REST dan SOAP.

Ups ... sebenarnya membandingkannya sedikit seperti membandingkan apel dengan jeruk, karena SOAP adalah format protokol berbasis XML, sedangkan REST adalah pendekatan arsitektur.



Kamu akan belajar


  • Apa itu REST?
  • Apa itu sabun?
  • Apa perbedaan antara REST dan SOAP?

API SISA


Ini adalah artikel kedua dari serangkaian artikel tentang REST API:

  • Pengantar REST API - RESTful Web Services
  • Perbedaan antara REST dan SOAP
  • REST API development - apa itu Contract First (kontrak pertama)?
  • REST API development - apa itu Code First (kode pertama)?
  • REST API - Apa itu HATEOAS?
  • Rekomendasi API REST - Contoh Desain Layanan Web di Jawa dan Musim Semi

SISA dan SABUN


REST dan SOAP tidak benar-benar sebanding. REST adalah gaya arsitektur. SOAP adalah format pesan. Mari kita bandingkan implementasi populer dari gaya REST dan SOAP.

  • Contoh implementasi yang tenang : JSON melalui HTTP
  • Contoh implementasi SOAP : XML di atas SOAP melalui HTTP

Di tingkat atas, SOAP membatasi struktur pesan Anda, sementara REST adalah pendekatan arsitektur yang berfokus pada penggunaan HTTP sebagai protokol transportasi.

  • Kekhususan SOAP adalah format pertukaran data. Dengan SOAP, selalu SOAP-XML, yang merupakan XML yang mencakup:
    - Amplop (amplop) - elemen root yang mendefinisikan pesan dan namespace yang digunakan dalam dokumen,
    - Header (header) - berisi atribut pesan, misalnya: informasi keamanan atau informasi perutean jaringan,
    - Tubuh (tubuh) - berisi pesan yang dipertukarkan antara aplikasi,
    - Kesalahan - elemen opsional yang menyediakan informasi tentang kesalahan yang terjadi selama pemrosesan pesan. Baik permintaan dan responsnya harus sesuai dengan struktur SOAP.
  • Kekhususan REST adalah penggunaan HTTP sebagai protokol transport. Ini menyiratkan penggunaan terbaik fitur yang disediakan oleh HTTP - metode permintaan, tajuk permintaan, respons, tajuk respons, dll.

Format olahpesan


  • Di SOAP, Anda menggunakan format XML SOAP untuk permintaan dan tanggapan.
  • Tidak ada format tetap seperti itu di REST. Anda dapat bertukar pesan berdasarkan XML, JSON atau format praktis lainnya. JSON adalah yang paling populer di antara format yang digunakan.

Definisi Layanan


  • SOAP menggunakan WSDL (Bahasa Deskripsi Layanan Web), bahasa berbasis XML untuk menggambarkan dan mengakses layanan web.
  • REST tidak memiliki bahasa definisi layanan standar. Terlepas dari kenyataan bahwa WADL adalah salah satu standar yang diusulkan pertama, itu tidak terlalu populer. Lebih populer adalah penggunaan Swagger atau Open API.

Transportasi


SOAP tidak memberlakukan batasan pada jenis protokol transportasi. Anda dapat menggunakan protokol HTTP Web atau MQ.

REST menyiratkan penggunaan terbaik dari protokol transport HTTP

Kemudahan implementasi


Layanan web RESTFful umumnya lebih mudah diimplementasikan daripada layanan web berbasis SOAP.

  • REST biasanya menggunakan JSON, yang lebih mudah diurai dan diproses. Selain itu, REST tidak memerlukan definisi layanan untuk menyediakan layanan web.
  • Namun, dalam kasus SOAP, Anda perlu mendefinisikan layanan Anda menggunakan WSDL, dan ada banyak overhead saat memproses dan menganalisis pesan SOAP-XML.

Ada juga video penulis tentang subjek ini.

Ringkasan


Dalam artikel ini, kami telah memeriksa secara rinci perbedaan antara REST dan SOAP.

Bacaan tambahan


5 Kursus untuk Belajar Layanan Web RESTful Dengan Java dan Spring di 2019

10 Tips Pengujian API untuk Pemula (SOAP dan REST)

Source: https://habr.com/ru/post/id483204/


All Articles