คำตอบ:
WSDL เป็นเอกสาร XML ที่อธิบายบริการเว็บ จริง ๆ แล้วย่อมาจากคำอธิบายบริการเว็บภาษา
SOAP เป็นโปรโตคอลบน XML ที่ให้คุณแลกเปลี่ยนข้อมูลผ่านโปรโตคอลเฉพาะ (สามารถเป็น HTTP หรือ SMTP เป็นต้น) ระหว่างแอปพลิเคชัน มันย่อมาจาก Simple Object Access Protocol และใช้ XML สำหรับรูปแบบการส่งข้อความเพื่อถ่ายทอดข้อมูล
REST เป็นรูปแบบสถาปัตยกรรมของระบบเครือข่ายและย่อมาจาก Representational State Transfer ไม่ใช่ตัวมาตรฐาน แต่ใช้มาตรฐานเช่น HTTP, URL, XML และอื่น ๆ
"A WSDL is an XML document that describes a web service. It actually stands for Web Services Definition Language."
สิ่งนี้ไม่ได้อธิบายว่ามันคืออะไร ...
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".
ตัวอย่าง: พูดง่ายๆถ้าคุณมีเว็บคิดเลขของเว็บเซอร์วิส
WSDL: WSDL บอกเกี่ยวกับฟังก์ชั่นที่คุณสามารถนำไปใช้หรือเปิดเผยกับลูกค้า ตัวอย่างเช่น: เพิ่มลบลบและอื่น ๆ
SOAP: ในกรณีที่ใช้ SOAP คุณจะต้องดำเนินการเช่น doDelete (), doSubtract (), doAdd () ดังนั้น SOAP และ WSDL จึงเป็นแอปเปิ้ลและส้ม เราไม่ควรเปรียบเทียบมัน พวกเขาทั้งสองมีฟังก์ชั่นที่แตกต่างกัน
ทำไมเราใช้ SOAP และ WSDL: สำหรับการแลกเปลี่ยนข้อมูลที่เป็นอิสระของแพลตฟอร์ม
แก้ไข: ในตัวอย่างปกติในชีวิตประจำวัน:
WSDL:เมื่อเราไปที่ร้านอาหารเราจะเห็นรายการเมนูนั่นคือ WSDL
คลาสของพร็อกซี:ตอนนี้หลังจากเห็นรายการเมนูแล้วเราก็ทำตามความคิดของเรา (ประมวลผลความคิดของเราเกี่ยวกับสิ่งที่จะสั่งซื้อ): ดังนั้นโดยพื้นฐานแล้วเราทำคลาสพร็อกซีตามเอกสาร WSDL
สบู่:จากนั้นเมื่อเราสั่งอาหารตามจริงของเมนู: ความหมายเราใช้คลาสพร็อกซีเพื่อเรียกใช้วิธีการบริการที่ใช้ SOAP :)
ทุกครั้งที่มีคนพูดถึง SOAP / WSDL ฉันคิดว่าวัตถุและคลาสที่กำหนดใน xml ...
"คุณใช้ SOAP ในลักษณะเดียวกับคลาส PHP ใด ๆ อย่างไรก็ตามในกรณีนี้คลาสไม่มีอยู่ในระบบไฟล์แอปพลิเคชันในเครื่อง ... "ถ้าเราคิดว่าจะใช้บริการ SOAP เป็นเพียงคลาส PHP อื่นเอกสาร WSDL คือรายการวิธีและคุณสมบัติของคลาสที่มีอยู่ทั้งหมด"
.. และเมื่อใดก็ตามที่มีคนพูดถึง REST ฉันคิดว่าคำสั่ง HTTP (วิธีการร้องขอ) เช่น POST, GET และ DELETE
SOAP -> SOAP (Simple object access protocal) เป็นระดับแอพพลิเคชั่นที่สร้างขึ้นสำหรับการโต้ตอบระหว่างเครื่องจักรกับเครื่อง โปรโตคอลกำหนดกฎมาตรฐาน ทุกฝ่ายที่ใช้โปรโตคอลนี้ควรปฏิบัติตามกฎของโปรโตคอล เช่นเดียวกับ TCP มันคลายที่ชั้นการขนส่งโปรโตคอล SOAP จะถูกเข้าใจโดย Application เลเยอร์ (แอปพลิเคชันใด ๆ ที่รองรับ SOAP - Axis2, .Net)
WSDL -> ข้อความ SOAP ประกอบด้วย SoapEnevelope-> SoapHeader และ SoapBody ไม่ได้กำหนดว่าอะไรจะเป็นรูปแบบข้อความ การขนส่งทั้งหมด (HTTP, JMS) รองรับอะไรบ้าง หากไม่มีข้อมูลนี้จะเป็นการยากสำหรับลูกค้าที่ต้องการใช้บริการเว็บเฉพาะเพื่อสร้างข้อความ SOAP แม้ว่าพวกเขาจะทำพวกเขาจะไม่แน่ใจว่ามันจะทำงานตลอดเวลา WSDL คือการช่วยเหลือ WSDL (Web Service description Language) กำหนดการดำเนินงานรูปแบบข้อความและรายละเอียดการขนส่งสำหรับข้อความ SOAP
REST -> REST (การถ่ายโอนสถานะตัวแทน) ตั้งอยู่บนพื้นฐานของการขนส่ง ซึ่งแตกต่างจาก SOAP ซึ่งกำหนดเป้าหมายการดำเนินการ REST เกี่ยวข้องกับทรัพยากรมากขึ้น REST หาทรัพยากรโดยใช้ URL (ตัวอย่าง -http: // {serverAddress} / พนักงาน / employeeNumber / 12345) และขึ้นอยู่กับโปรโตคอลการขนส่ง (ด้วย HTTP - GET, POST, PUT, DELETE, ... ) สำหรับการดำเนินการ ที่จะดำเนินการเกี่ยวกับทรัพยากร เซอร์วิส REST จะหารีซอร์สตาม URL และดำเนินการตามกริยาการดำเนินการขนส่ง มันเป็นมากกว่ารูปแบบสถาปัตยกรรมและการประชุมตาม
คุณจะไม่ต้อง "เข้าใจ" สิ่งที่ซับซ้อน
WSDL เป็นภาษาที่ใช้ XML สำหรับอธิบายบริการเว็บ มันอธิบายข้อความการดำเนินงานและข้อมูลการขนส่งเครือข่ายที่ใช้โดยบริการ บริการเว็บเหล่านี้มักใช้ SOAP แต่อาจใช้โปรโตคอลอื่น
WSDL สามารถอ่านได้โดยโปรแกรมและอื่น ๆ อาจถูกใช้เพื่อสร้างทั้งหมดหรือบางส่วนของรหัสไคลเอนต์ที่จำเป็นในการเรียกบริการเว็บ นี่คือความหมายในการเรียกบริการบนเว็บของ SOAP ว่า "การอธิบายตนเอง"
REST ไม่เกี่ยวข้องกับ WSDL เลย
SOAP ย่อมาจาก Simple Access Object Protocol มันตั้งใจที่จะเป็นวิธีที่จะทำการเรียกขั้นตอนระยะไกลไปยังวัตถุระยะไกลโดยการส่ง XML ผ่าน HTTP
WSDL เป็นเว็บคำอธิบายบริการเว็บ คำขอที่ลงท้ายด้วย '.wsdl' ถึงปลายทางจะส่งผลให้ข้อความ XML อธิบายถึงคำขอและการตอบสนองที่การใช้งานสามารถคาดหวังได้ มันสืบทอดสัญญาระหว่างบริการและลูกค้า
REST ใช้ HTTP เพื่อส่งข้อความไปยังบริการต่างๆ
SOAP เป็นข้อมูลจำเพาะ REST เป็นสไตล์
Wikipedia กล่าวว่า "ภาษาคำอธิบายบริการเว็บเป็นภาษาที่ใช้ XML ซึ่งเป็นแบบจำลองสำหรับอธิบายบริการเว็บ" อีกวิธีหนึ่ง WSDL คือเว็บเซอร์วิสเนื่องจาก javadoc เป็นไลบรารี java
อย่างไรก็ตามสิ่งที่น่ารักจริงๆเกี่ยวกับ WSDL คือซอฟต์แวร์นั้นสามารถสร้างไคลเอ็นต์และเซิร์ฟเวอร์โดยใช้ WSDL
REST นั้นมีน้ำหนักเบาในแง่ของการเข้ารหัสซึ่งมีประโยชน์มากกว่าสำหรับอุปกรณ์ที่มีน้ำหนักเบาเช่น API ที่ไม่เข้มงวด
REST เป็นรูปแบบอิสระ XML, HTML, JSON มีตัวเลือกให้เลือกทั้งหมด
REST จัดเตรียมความสามารถสำหรับการถ่ายโอนข้อความ 2 จุด (ไม่น่าแปลกใจเนื่องจาก REST ย่อมาจาก REpresentational State Transfer) โดยที่การโต้ตอบ WSDL / SOAP เป็นการโต้ตอบกับข้อความหลายจุด
REST ไม่ต้องการส่วนขยายใหม่สำหรับข้อความ XML โดยที่ใน WSDL / SOAP เป็นกรณีนี้
WSDL / SOAP ใช้โปรโตคอลการส่งผ่านหลายโปรโตคอล REST พึ่งพา HTTP เท่านั้น ดังนั้น WSDL / SOAP จึงสามารถใช้งานได้เหมือนวิธี RESTful อย่างไรก็ตามการร้องขอที่เรียบง่ายอาจมีความซับซ้อน / หนักเกินไป
การเปรียบเทียบง่ายๆ: REST เปรียบเสมือน motoboy ให้อาหารของคุณง่ายและรวดเร็ว XML ขยาย WSDL / SOAP มากขึ้นเช่นการส่งมอบ UPS สิ่งที่มีโครงสร้างและจริงจังมากขึ้น แต่มาพร้อมกับค่าใช้จ่าย
คำอธิบายที่ชัดเจนบางอย่าง (สำหรับ SOAP และ WSDL) สามารถพบได้ที่นี่เช่นกัน
เอกสาร WSDL อธิบาย webservice มันระบุตำแหน่งของบริการและวิธีการของการบริการโดยใช้องค์ประกอบที่สำคัญเหล่านี้: ชนิดข้อมูลที่ใช้ในองค์ประกอบข้อมูลเว็บเซอร์สำหรับการดำเนินงานแต่ละครั้งอธิบายการดำเนินงานที่สามารถทำได้และข้อความ envolved
SOAP (Simple Object Access Protocol) เป็นโปรโตคอลการส่งข้อความที่อนุญาตให้โปรแกรมที่ทำงานบนระบบปฏิบัติการที่แตกต่างในการสื่อสารโดยใช้ http และ xml