AFAIK Fielding ไม่ได้เรียกร้อง REST ว่าดีอะไรเขาแค่อธิบายสถาปัตยกรรมแบบพฤตินัยของเว็บ
ฉันคิดว่ามันคงน้อยไปหน่อย ที่เหลือก็เป็นหลังจากที่ทุกการแจกแจงของรูปแบบสถาปัตยกรรมที่ฟีลดิงถูกใช้เป็นหัวหน้าสถาปนิกของHTTP / 1.1 สเปค
แต่จริงๆแล้วมีเหตุผลใดที่จะคิดว่า REST เป็นสถาปัตยกรรมที่ต้องการสำหรับโดเมนนี้หรือไม่? มีหลักฐานว่า HATEOAS เป็นหลักการออกแบบที่มีประโยชน์สำหรับการสื่อสารระหว่างเครื่องจักรกับเครื่องหรือไม่?
"มันขึ้นอยู่กับ". HATEOAS เป็นส่วนหนึ่งของอินเตอร์เฟซเครื่องแบบข้อ จำกัด ของส่วนที่เหลือ
ด้วยการใช้หลักการทางวิศวกรรมซอฟต์แวร์ทั่วไปกับส่วนต่อประสานสถาปัตยกรรมระบบโดยรวมนั้นง่ายขึ้นและการมองเห็นของการโต้ตอบได้รับการปรับปรุง การติดตั้งใช้งานแยกจากบริการที่ให้ซึ่งสนับสนุนให้เกิดการเปลี่ยนแปลงได้อย่างอิสระ แม้ว่าการแลกเปลี่ยนจะเป็นประสิทธิภาพที่ลดลงเนื่องจากข้อมูลจะถูกถ่ายโอนในรูปแบบที่เป็นมาตรฐานมากกว่าหนึ่งซึ่งมีความเฉพาะเจาะจงกับความต้องการของแอปพลิเคชัน อินเทอร์เฟซ REST ได้รับการออกแบบให้มีประสิทธิภาพสำหรับการถ่ายโอนข้อมูลสื่อไฮเปอร์สื่อขนาดใหญ่เพิ่มประสิทธิภาพสำหรับกรณีทั่วไปของเว็บ แต่ส่งผลให้อินเทอร์เฟซที่ไม่เหมาะสำหรับการโต้ตอบสถาปัตยกรรมในรูปแบบอื่น ๆ
ลองคิดกันสักครู่ว่ามันหมายถึงอะไร เมื่อฉันมีปัญหากับเราเตอร์ไร้สายของฉันฉันสามารถสื่อสารกับมันโดยใช้เบราว์เซอร์เดียวกับที่ฉันใช้เพื่อส่งคำตอบให้กับสแต็คการแลกเปลี่ยน โดยเฉพาะอย่างยิ่งมันไม่สำคัญว่าเบราว์เซอร์ใดที่ฉันกำลังใช้หรือเบราว์เซอร์ของฉันคือการอัปเดตบางอย่างที่อยู่เบื้องหลัง (หรือข้างหน้า) ว่าเราเตอร์คาดหวังไว้หรือไม่ ไม่สำคัญว่าองค์กรวิศวกรรมที่เขียนเบราว์เซอร์นั้นจะเป็นอิสระจากองค์กรที่สร้างอินเทอร์เฟซเราเตอร์
มันใช้งานได้
แน่นอนว่ามันไม่ใช่สากล ฟีลดิงในปี 2551เขียนว่า:
ไม่ได้หมายความว่าฉันคิดว่าทุกคนควรออกแบบระบบของตัวเองตามสไตล์สถาปัตยกรรม REST REST มีไว้สำหรับแอปพลิเคชั่นที่ใช้เครือข่ายที่มีอายุการใช้งานยาวนานซึ่งครอบคลุมหลายองค์กร หากคุณไม่เห็นความต้องการของข้อ จำกัด อย่าใช้มัน
ข้อ จำกัด ที่เป็นรูปแบบสถาปัตยกรรม REST นั้นถูกเลือกสำหรับคุณสมบัติที่พวกเขาชักนำ หากคุณสมบัติเหล่านั้นไม่มีประโยชน์ต่อกรณีการใช้งานของคุณคุณควรพิจารณาที่จะลดข้อ จำกัด ที่เกี่ยวข้อง
ในกรณีที่เครื่องต่อเครื่องจักรยากขึ้นคือคุณสูญเสียความสามารถของมนุษย์ในการจับคู่ความหมายของการเป็นตัวแทน ลูกค้าสามารถรับรู้ได้ด้วยเพียงแค่ประเภทสื่อ แต่โดยปกติแล้วเราจะมีคนคอยดูความหมายที่แฝงเร้นเพื่อหาความหมาย
schema.orgเป็นส่วนหนึ่งของความพยายามในการสร้างคำศัพท์ที่เครื่องอ่านได้ ตัวแทนเครื่องใช้ไคลเอนต์เพื่อค้นหาคำแนะนำความหมายและใช้ความเข้าใจของตัวเองของความหมายในการเลือกการกระทำที่ถูกต้องที่จะใช้
แต่มันก็ใช้ได้ คุณต้องลงทุนในการพัฒนาแหล่งข้อมูลที่เป็นมิตรกับเครื่องจักรของคุณและสร้างความมั่นใจว่าการเป็นตัวแทนเหล่านั้นยังคงเป็นไปได้ทั้งด้านหน้าและด้านหลังเพื่อให้ลูกค้าสามารถพัฒนาได้อย่างอิสระ
เมื่อองค์กรเดียวควบคุมทั้งไคลเอนต์และเซิร์ฟเวอร์ประโยชน์ของความเป็นอิสระนี้มีขนาดเล็กมากซึ่งในกรณีนี้ข้อ จำกัด อาจไม่ใช่ตัวเลือกสถาปัตยกรรมที่เหมาะสม