คุณไม่สามารถเปรียบเทียบ REST และ SOAP REST เป็นสถาปัตยกรรมในขณะที่ SOAP เป็นโปรโตคอล
น่าเสียดายที่ REST กลายเป็นคำพูดที่ใช้คำพ้องกับบริการ RESTful HTTP ซึ่งหมายถึงการสร้างสถาปัตยกรรมสไตล์ REST ด้วยโปรโตคอล HTTP เป็น (แอปพลิเคชั่น)
ส่วนที่เหลือจะขึ้นอยู่กับหลักการดังต่อไปนี้ (ข้อ จำกัด และองค์ประกอบ) (ในวงเล็บสำนึกใน HTTP สงบ) [1]
- ไร้สัญชาติ (HTTP เป็นโปรโตคอลไร้สัญชาติ)
- ทรัพยากร (ระบุโดย URIs)
- ชุดอินเตอร์เฟส (วิธี HTTP)
- การเป็นตัวแทน (MIME-TYPE)
- HATEOS (ไฮเปอร์ลิงก์)
- แคช (แคช HTTP)
ในด้านอื่น ๆ หลายคนหมายถึงโดยกล่าวว่า SOAP บริการเว็บบนพื้นฐานของ WSDL และสบู่ซึ่งเป็นส่วนหนึ่งของสถาปัตยกรรมบริการเว็บ W3C [2]
- SOAP ใช้เป็นโปรโตคอลในการแลกเปลี่ยนข้อมูล (โดยทั่วไปคือชื่อเมธอด, พารามิเตอร์, ค่าส่งคืน, ชนิดข้อมูล, ... )
- WSDL ภาษานิยามอินเตอร์เฟสเพื่ออธิบายเว็บเซอร์วิส
SOAP * ปัจจุบันมีความสำคัญอย่างไร
SOAP เป็นมาตรฐาน W3C และใช้เป็นรูปแบบการแลกเปลี่ยนข้อมูลในบริการเว็บ W3C บริการเว็บเหล่านั้น - โดยเฉพาะอย่างยิ่งในช่วง hype ของ SOA (บริการที่มุ่งเน้นการบริการ) ประมาณ 2008 (+ - 3 ปี) - และ (น่าเสียดายที่) ยังคงมีการนำไปใช้ในแอปพลิเคชันขององค์กรเป็นส่วนใหญ่
เรื่องนี้มีสาเหตุหลายประการ ก่อนหน้านั้น RESTful HTTP นั้นไม่เป็นที่รู้จักและมันก็เข้าใจผิด น่าเสียดายที่มันยังคงเข้าใจผิดว่าลองดูคำตอบอื่น ๆ
„ [... ] REST จำกัด มากกว่า SOAP [... ] "
„ วัตถุประสงค์หลักของ REST คือการแสดงทรัพยากรบนอินเทอร์เน็ต [... ] "
นอกจากนี้ SOAP (และ WSDL) เป็นส่วนหนึ่งของสแต็คโพรโทคอลบริการเว็บ W3C ซึ่งให้มาตรฐานที่มากยิ่งขึ้นสำหรับการใช้งานเว็บเซอร์วิส
ผู้คนยังคงพัฒนา API ที่ใช้ SOAP ใหม่หรือไม่
ดังนั้นใช่ยังมีอยู่และจะมีในอนาคตด้วยเช่นกันซึ่งกำลังใช้ SOAP (อย่างน้อยในระบบขององค์กรซึ่งส่วนใหญ่อยู่หลังประตู) แต่ส่วนใหญ่พยายามทำ "REST" บางชนิดในปัจจุบัน
ใครสามารถโปรดแก้ไขให้ฉันถ้าฉันผิดเกี่ยวกับความแตกต่างระหว่าง SOAP และ REST นี้
การพูดว่าREST เป็นสถาปัตยกรรมไร้สัญชาติที่มีความยืดหยุ่นมากกว่าสำหรับการถ่ายโอนข้อมูลไม่ใช่คำอธิบายที่ดี REST ที่พูดง่าย ๆ คือสไตล์สถาปัตยกรรมที่มีข้อ จำกัด และองค์ประกอบเฉพาะ ในขณะที่ SOAP เป็นโปรโตคอลการแลกเปลี่ยนข้อมูล
อย่างที่ฉันเขียนไปแล้วคุณไม่สามารถเปรียบเทียบได้ แต่คุณสามารถเปรียบเทียบ RESTful HTTP Web Service กับ SOAP / WSDL Web Service