Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

ความแตกต่างระหว่าง SOAP และ RESTful Web Services ในความปลอดภัยข้อมูล

SOAP Web Services

SOAP ย่อมาจาก Simple Object Access Protocol เป็นโปรโตคอลที่พัฒนาจาก XML สำหรับการเข้าถึงเว็บเซอร์วิส ถูกสร้างขึ้นเป็นภาษากลาง (Intermediate Language) เพื่อให้แอปพลิเคชันที่สร้างในภาษาการเขียนโปรแกรมหลายภาษาสามารถสื่อสารกับกันและกันได้อย่างมีประสิทธิภาพ เว็บเซอร์วิสใช้ SOAP สำหรับการแบ่งปันข้อมูล XML ระหว่างแอปพลิเคชัน

SOAP ให้การดำเนินการทั้งแบบมีสถานะ (Stateful) และไม่มีสถานะ (Stateless) Stateful หมายถึงเซิร์ฟเวอร์เก็บข้อมูลที่ได้รับจากไคลเอ็นต์ข้ามคำขอหลายครั้ง คำขอเหล่านี้ถูกเชื่อมโยงกันเพื่อให้เซิร์ฟเวอร์ทราบเกี่ยวกับคำขอก่อนหน้า ตัวอย่างคือธุรกรรมธนาคาร การจองเที่ยวบิน ฯลฯ การส่งข้อความแบบ Stateless มีข้อมูลเพียงพอเกี่ยวกับสถานะของไคลเอ็นต์ ทำให้เซิร์ฟเวอร์ไม่ต้องกังวล

RESTful Web Service

REST ย่อมาจาก Representational State Transfer เป็นแนวทางสถาปัตยกรรมสำหรับวัตถุประสงค์การสื่อสารที่มักใช้ในการพัฒนาเว็บเซอร์วิสหลายอย่าง เป็นโมเดลไคลเอ็นต์-เซิร์ฟเวอร์แบบไม่มีสถานะ (Stateless) เว็บเซอร์วิสที่นิยามบนข้อกำหนดของ REST คือ RESTful Web Services

เมื่อไคลเอ็นต์สร้างคำขอผ่าน RESTful API มันส่งการอธิบายสถานะของทรัพยากร (Resources) ไปยังเซิร์ฟเวอร์ ข้อมูลนี้สามารถส่งผ่านในรูปแบบหลายรูปแบบผ่าน HTTP เช่น JSON, HTML, XLT และ Plain Text แต่ JSON เป็นภาษาที่ใช้มากที่สุดเพราะความอ่านง่ายของเครื่องและมนุษย์

ในสถาปัตยกรรม REST ทุกอย่างคือทรัพยากร (Resource) RESTful Web Services ให้การสอดคล้องระหว่างแอปพลิเคชันการเขียนโปรแกรมที่ทำงานบนขั้นตอนและระบบหลายอย่าง สามารถพิจารณาเว็บเซอร์วิสเป็นโค้ดตามคำขอ (Code on Demand) RESTful Web Service คือความสามารถหรือเทคนิคที่สามารถรู้จักได้โดยการส่งคำขอ HTTP ไปยัง URL และการบริหารคืนผลลัพธ์เป็นการตอบสนอง (Response)

ลองดูการเปรียบเทียบระหว่าง SOAP และ RESTful Web Service

SOAPRESTful
SOAP ย่อมาจาก Simple Object Access Protocol.
RESTful ย่อมาจาก Representational State Transfer.
SOAP web service เชื่อมโยงการตอบสนองกับ XML เพราะการตอบสนองจริงถูกห่อหุ้มอยู่ในข้อความ SOAP ซึ่งเป็นรูปแบบ XML เสมอ.
RESTful web service สามารถคืนค่าการตอบสนองในหลายรูปแบบ เช่น JSON, XML, และ HTML.
SOAP ใช้ข้อความ XML เพื่อระบุกระบวนการเว็บหรือทรัพยากรที่ต้องการเรียกใช้.
RESTful web services ใช้ URL เพื่อระบุทรัพยากรที่ต้องการเข้าถึง.
SOAP ไม่ได้กำหนดข้อจำกัดบนการขนส่ง สามารถใช้ได้ เช่น HTTP หรือ MQ.
RESTful services ใช้โปรโตคอล HTTP ที่มีชื่อเสียง.
SOAP ไม่สามารถใช้ RESTful services ได้ เพราะมันเป็นโปรโตคอล.
RESTful service สามารถใช้ SOAP web services ได้ เพราะมันเป็นแนวทางสถาปัตยกรรมที่สามารถใช้โปรโตคอลใดๆ ได้ เช่น HTTP และ SOAP.
XML เป็นรูปแบบแลกเปลี่ยนข้อมูลที่นิยมใน SOAP web services.
JSON เป็นรูปแบบแลกเปลี่ยนข้อมูลที่นิยมใน RESTful web services.