วันศุกร์ที่ 3 เมษายน พ.ศ. 2558

RESTful Web Services

Rest ไม่ใช่มาตรฐานในการสื่อสาร โดยย่อมาจาก  Representational State Transfer ซึ่งใช้ Http protocal ในการสื่อสาร เป็นรูปแบบของ architecture ที่ออกแบบเพื่อลดขนาด ความซับซ้อน และข้อจำกัดของการเชื่อมต่อสื่อสาร ซึ่งอาจเรียกได้ว่าเป็น Lightweight Web Service
SOAP and REST Architecture Overview
SOAP Architecture
- ต้องรับ-ส่งข้อความ XML ตามรูปแบบที่กำหนดไว้โดย SOAP Protocol และต้องมี WSDL ซึ่งเป็นเอกสารประกอบ 
(ซึ่งผู้ใช้ต้องเข้าใจเอกสาร หรือมีเครื่องมือที่เข้าใจเอกสาร)
- Response Message เป็น XML

REST Architecture (Lightweight Web Service)
-       - ใช้ URI เป็นตัวชี้ web service ต่างๆ ประกอบกับ HTTP Method (GET, POST, PUT, DELETE)
-       - ลดความซับซ้อนด้วยการใช้เพียง Http protocol เท่านั้น ในการติดต่อสื่อสาร
-       - Response Message เป็นได้ทั้ง HTML, XML, JSON หรือ Format อื่นๆ โดยกำหนดที่ Header

Why REST is Lightweight Web Service
การเรียกใช้ Web Service ด้วย SOAP Architecture
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
 <soap:body pb="http://www.acme.com/phonebook">
  <pb:GetUserDetails>
   <pb:UserID>12345</pb:UserID>
  </pb:GetUserDetails>
 </soap:Body>
</soap:Envelope>

การเรียกใช้ Web Service ด้วย REST Architecture
http://www.acme.com/phonebook/UserDetails/12345

แนวโน้ม
       บริษัทใหญ่ ๆ เริ่มที่จะเลิกสนับสนุนการเรียกใช้ SOAP Web services และบางบริษัทไม่ได้สนับสนุนตั้งแต่แรก เช่น บริษัทGoogle ได้หยุดการพัฒนาฟังก์ชันใหม่ของ SOAP Search API ตั้งแต่วันที่ ธันวาคม 2549 บริษัท Amazon กำลังจะหยุดการให้บริการAmazon Web services โดยใช้ SOAP กับภาษา Ruby on Rails ส่วนบริษัท Yahoo ไม่เคยสนับสนุนการเรียกใช้ SOAP Web servicesตั้งแต่เริ่มให้บริการต่าง ๆ​

ไม่มีความคิดเห็น:

แสดงความคิดเห็น