WSDL, SOAP และ REST

บทความนี้จะพูดถึง WSDL ,SOAP และ REST การทำงานของแต่ละตัวทำงานอย่างไร

2022-02-07 11:28:12 - @ratanon

----------------------------


WSDL คืออะไร?

Web Services Description Language หรือ WSDL คือ เอกสารข้อมูลในรูปแบบ XML ใช้ในการบอกหน้าที่การทำงานของ web service มีลักษณะเป็น file (.wsdl) ซึ่งสามารถอ่านออกได้ทั้ง human และ machine บ่งบอกถึงลักษณะการเรียกใช้งาน web service ค่า parameter อะไรบ้างที่ต้องใส่ และ โครงสร้างของ response กลับมาจะเป็นอย่างไร โดย WSDL อ่านว่า วิส-เต้าว์

ปัจจุบัน version ของ WSDL อยู่ที่ WSDL2.0 ซึ่งความหมายของตัวย่อได้เปลี่ยนไปจาก version 1.1 ที่ D หมายถึง “Definition”

หน้าที่ของ WSDL

WSDL ใช้ในการอธิบายถึงการให้บริการ ของฝั่ง endpoint ที่อยู่ในรูป XML format document มักถูกใช้งานควบคู่กับ SOAP เพื่อให้ข้อมูล XML Schema หรือโครสร้างของ Web service บน Internet โดยฝั่ง client program จะทำการเชื่อมต่อไปยัง web service เพื่ออ่านข่อมูล WSDL file และทำการวิเคราะห์คำสั่งที่สามารถใช้งานได้บน server ส่วนข้อมูล datatype แบบพิเศษที่จำเป็นก็ถูกรวมอยู่ใน WSDL file เช่นกัน ทำให้ client สามารถใช้งาน SOAP เพื่อส่งคำสั่งจากชุดข้อมูลใน WSDL file ไปบน HTTP

สำหรับ version 2.0 ในปัจจุบันจะทำการรับคำสั่ง HTTP ได้ทั้งหมดแล้วทั้ง GET, PUT, POST, DELETE (ไม่ใช่แค่ GET, POST ใน version1.1) แน่นอนว่าย่อมรองรับได้ดีขึ้นสำหรับ RESTful webservice อย่างไรก็ตามการทำให้รองรอบตามมาตราฐานยังค่อยข้างยากสำหรับชุด software ที่มีอยู่ เพราะส่วนใหญ่รองรับ WSDL 1.1 ซะมากกว่า

----------------------------

SOAP คืออะไร?

SOAP ย่อมาจาก Simple Object Access Protocol ถูกกำหนดขึ้นมาตั้งแต่ปี 1998 เป้าหมายเพื่อใช้ในตลาด enterprise โดยเฉพาะ SOAP นั้นต้องสร้างให้ application logic ออกมาเป็น service โดยเป้าหมายเพื่อเป็น protocol ใหม่ของการติดต่อสื่อสาร

ข้อดี

ข้อเสีย

เมื่อไรถึงควรใช้ SOAP

ดังนั้นจึงไม่แปลกว่า ทำไมในองค์กรใหญ่ ๆ เหล่านี้ใช้ SOAP กันมาก

----------------------------

REST คืออะไร?

REST ย่อมาจาก Representational State Transfer ถูกกำหนดขึ้นมาตั้งแต่ปี 2000 เป้าหมายเพื่อเป็นรูปแบบหนึ่งในการออกแบบ open web technology โดยต้องการทำให้ข้อมูลอยู่ในรูปแบบของ resource ส่วนการกระทำต่าง ๆ เป็นไปตาม HTTP Verb หรือ HTTP Method (GET, POST, PUT, DELETE) และทำงานแบบ Stateless

ข้อดี

ข้อเสีย

เมื่อไรถึงควรใช้ REST

ดังนั้นจึงไม่แปลกว่า ทำไมระบบ web และ api ต่าง ๆ ผ่าน web จึงเป็น REST

More Posts