Jawaban:
WSDL adalah dokumen XML yang menjelaskan layanan web. Ini sebenarnya adalah singkatan dari Layanan Web Deskripsi Bahasa.
SOAP adalah protokol berbasis XML yang memungkinkan Anda bertukar info melalui protokol tertentu (misalnya HTTP atau SMTP) antar aplikasi. Itu adalah singkatan dari Simple Object Access Protocol dan menggunakan XML untuk format pesannya untuk menyampaikan informasi.
REST adalah gaya arsitektur sistem jaringan dan kependekan dari Representational State Transfer. Ini bukan standar itu sendiri, tetapi menggunakan standar seperti HTTP, URL, XML, dll.
"A WSDL is an XML document that describes a web service. It actually stands for Web Services Definition Language."
Ini benar-benar tidak menjelaskan apa itu ...
The current version of WSDL is WSDL 2.0. The meaning of the acronym has changed from version 1.1 where the "D" stood for "Definition".
Contoh: Secara sederhana jika Anda memiliki layanan web kalkulator.
WSDL: WSDL memberi tahu tentang fungsi yang dapat Anda terapkan atau tampilkan ke klien. Misalnya: tambah, hapus, kurangi dan sebagainya.
SOAP: Di mana seperti menggunakan SOAP Anda benar-benar melakukan tindakan seperti doDelete (), doSubtract (), doAdd (). Jadi SABUN dan WSDL adalah apel dan jeruk. Kita tidak harus membandingkannya. Keduanya memiliki fungsi yang berbeda.
Mengapa kami menggunakan SOAP dan WSDL: Untuk pertukaran data independen platform.
EDIT: Dalam contoh kehidupan sehari-hari yang normal:
WSDL: Ketika kami pergi ke restoran kami melihat Item Menu, itu adalah WSDL.
Kelas Proxy: Sekarang setelah melihat Item Menu, kami membuat Pikiran kami (Memproses pikiran kami tentang apa yang harus dipesan): Jadi, pada dasarnya kami membuat kelas Proxy berdasarkan Dokumen WSDL.
SOAP: Lalu ketika kita benar-benar memesan makanan berdasarkan Menu: Artinya kita menggunakan kelas proxy untuk memanggil metode layanan yang dilakukan menggunakan SOAP. :)
Setiap kali seseorang menyebutkan SOAP / WSDL, saya memikirkan objek dan kelas yang didefinisikan dalam xml ...
"Anda menggunakan SOAP dengan cara yang sama dengan yang Anda lakukan pada kelas PHP mana pun. Namun, dalam hal ini kelas tidak ada dalam sistem file aplikasi lokal, tetapi di situs jarak jauh yang diakses melalui http." ... "Jika kita berpikir untuk menggunakan layanan SOAP hanya sebagai kelas PHP lain maka dokumen WSDL adalah daftar semua metode dan properti kelas yang tersedia."
..dan setiap kali seseorang berbicara tentang REST saya memikirkan perintah HTTP (metode permintaan) seperti POST, DAPATKAN dan HAPUS
SOAP -> SOAP (Simple object access protocal) adalah level aplikasi protocal yang dibuat untuk interaksi mesin ke mesin. Protokol mendefinisikan aturan standar. Semua pihak yang menggunakan protokol tertentu harus mematuhi aturan protokol. Seperti TCP, Ia terurai pada lapisan transport, Protokol SOAP akan dipahami oleh lapisan Aplikasi (aplikasi apa pun yang mendukung SOAP - Axis2, .Net).
WSDL -> pesan SOAP terdiri dari SoapEnevelope-> SoapHeader dan SoapBody. Itu tidak menentukan apa yang akan menjadi format pesan? apa semua transport (HTTP, JMS) yang didukungnya? tanpa info ini, Sulit bagi klien yang ingin mengkonsumsi layanan web tertentu untuk membangun pesan SOAP. Bahkan jika mereka melakukannya, mereka tidak akan yakin, itu akan berhasil sepanjang waktu. WSDL adalah penyelamat. WSDL (Bahasa deskripsi Layanan Web) mendefinisikan operasi, format pesan, dan rincian transport untuk pesan SOAP.
REST -> REST (Transfer status perwakilan) didasarkan pada Transport. Tidak seperti SOAP yang menargetkan tindakan, REST lebih memperhatikan sumber daya. REST menempatkan sumber daya dengan menggunakan URL (contoh -http: // {serverAddress} / karyawan / employeeNumber / 12345) dan itu tergantung pada protokol transport (dengan HTTP - GET, POST, PUT, DELETE, ...) untuk tindakan untuk dilakukan pada sumber daya. Layanan REST menempatkan sumber daya berdasarkan URL dan melakukan tindakan berdasarkan kata kerja tindakan transportasi. Ini lebih didasarkan pada gaya arsitektur dan konvensi.
Anda tidak akan "sekadar" memahami sesuatu yang kompleks.
WSDL adalah bahasa berbasis XML untuk menggambarkan layanan web. Ini menjelaskan pesan, operasi, dan informasi transportasi jaringan yang digunakan oleh layanan. Layanan web ini biasanya menggunakan SOAP, tetapi dapat menggunakan protokol lain.
WSDL dapat dibaca oleh suatu program, dan karenanya dapat digunakan untuk menghasilkan semua, atau bagian dari kode klien yang diperlukan untuk memanggil layanan web. Ini adalah apa artinya memanggil layanan web berbasis SOAP "menggambarkan diri sendiri".
REST sama sekali tidak terkait dengan WSDL.
SOAP singkatan dari Simple (sic) Object Access Protocol. Itu dimaksudkan sebagai cara untuk melakukan Panggilan Prosedur Jauh ke objek jarak jauh dengan mengirim XML melalui HTTP.
WSDL adalah Bahasa Deskripsi Layanan Web. Permintaan yang diakhiri dengan '.wsdl' ke titik akhir akan menghasilkan pesan XML yang menggambarkan permintaan dan respons yang dapat diharapkan dari penggunaan. Ini menggambarkan kontrak antara layanan & klien.
REST menggunakan HTTP untuk mengirim pesan ke layanan.
SABUN adalah spec, REST adalah gaya.
Wikipedia mengatakan "Bahasa Deskripsi Layanan Web adalah bahasa berbasis XML yang menyediakan model untuk menggambarkan layanan Web". Dengan kata lain, WSDL adalah untuk layanan web, seperti javadoc ke perpustakaan java.
Hal yang benar-benar manis tentang WSDL adalah perangkat lunak dapat menghasilkan klien dan server menggunakan WSDL.
REST ringan dalam hal pengkodean, jauh lebih berguna untuk perangkat ringan yaitu API yang tidak ketat.
REST adalah format yang independen. XML, HTML, JSON semua opsi tersedia.
REST menyediakan kemampuan untuk transfer pesan 2 poin (tidak mengejutkan karena REST adalah singkatan dari REpresentational State Transfer) di mana interaksi WSDL / SOAP adalah interaksi pesan beberapa titik.
REST tidak memerlukan ekstensi baru untuk pesan XML, di mana dalam WSDL / SOAP ini terjadi.
WSDL / SOAP menggunakan beberapa protokol transport, REST hanya bergantung pada HTTP. Oleh karena itu WSDL / SOAP dapat digunakan seperti cara RESTful, namun permintaan sederhana dapat menjadi sangat rumit / sangat berat.
Sebuah analogi sederhana: REST seperti motoboy yang memberikan makanan Anda dengan mudah dan cepat. XML memperluas WSDL / SOAP lebih seperti pengiriman UPS, hal-hal yang lebih terstruktur dan serius tetapi disertai dengan biaya.
Beberapa penjelasan yang jelas (untuk SOAP dan WSDL) dapat ditemukan di sini juga.
Dokumen WSDL menjelaskan layanan web. Ini menentukan lokasi layanan dan metode layanan menggunakan elemen-elemen utama ini: tipe data yang digunakan dalam elemen data layanan web untuk setiap operasi menggambarkan operasi yang dapat dilakukan dan pesan yang dilibatkan
SOAP (Simple Object Access Protocol) adalah protokol pengiriman pesan yang memungkinkan program yang berjalan pada sistem operasi yang berbeda untuk berkomunikasi menggunakan http dan xml.