ความแตกต่างระหว่าง Web API และ Web Service หรือไม่


84

ฉันเคยได้ยินมามากมายเกี่ยวกับ Web Services และ Web APIs มีความแตกต่างระหว่างพวกเขาหรือพวกเขาเหมือนกันหรือไม่


คำตอบ:


86

บริการบนเว็บ - เป็นมาตรฐานที่กำหนดโดย W3C เพื่อให้สามารถเข้าถึงได้แบบกึ่งอัตโนมัติหรืออัตโนมัติ (WSDL / UDDI) ทุกอย่างขึ้นอยู่กับ XML เพื่อให้ทุกคนสามารถเรียกมันได้ และทุกแง่มุมของการบริการที่กำหนดไว้เป็นอย่างดี มีมาตรฐานคำอธิบายพารามิเตอร์, พารามิเตอร์ผ่านมาตรฐาน, มาตรฐานการตอบสนอง, การค้นพบมาตรฐาน ฯลฯ ฯลฯ คุณอาจจะเขียนหนังสือหน้า 2000 ที่ต้องการอธิบายมาตรฐาน มีแม้กระทั่งมาตรฐาน "เพิ่มเติม" สำหรับการทำสิ่ง "มาตรฐาน" เช่นการตรวจสอบสิทธิ์

แม้จะมีความจริงที่ว่าการเรียกใช้และการค้นพบอัตโนมัติแทบจะไม่ทำงานเพราะลูกค้าค่อนข้างยากจนและคุณไม่รับประกันว่าบริการใด ๆ ที่สามารถเรียกได้จากลูกค้าใด ๆ

โดยทั่วไปแล้วเว็บ API จะทำในรูปแบบ HTTP / REST ไม่มีอะไรถูกกำหนดเอาท์พุทสามารถใช้ได้เช่น JSON / XML อินพุตสามารถเป็นข้อมูล XML / JSON / หรือข้อมูลธรรมดา ไม่มีมาตรฐานสำหรับอะไร => ไม่มีการโทรและค้นหาอัตโนมัติ คุณสามารถให้คำอธิบายบางอย่างในไฟล์ข้อความหรือ PDF คุณสามารถส่งคืนข้อมูลใน Windows-1250 แทน unicode เป็นต้นสำหรับการอธิบายมาตรฐานมันจะเป็นโบรชัวร์ 2 หน้าพร้อมข้อมูลง่าย ๆ และคุณจะกำหนดทุกอย่างอื่น

เว็บกำลังเปลี่ยนไปใช้ Web API / REST บริการบนเว็บนั้นไม่ได้ดีไปกว่า Web API ซับซ้อนมากในการพัฒนาและพวกเขากินทรัพยากรมากขึ้น (แบนด์วิดท์และ RAM) ... และเนื่องจากการแปลงข้อมูลทั้งหมด (REQUEST-> XML-> DATA-> RESPONSE-> XML-> VALIDATION-> CONVERSION-> DATA) เป็นอย่างมาก ช้า.

เช่น. ใน WebAPI คุณสามารถแพ็คข้อมูลส่งการบีบอัดและ un-compress + un-pack บนไคลเอนต์ ใน SOAP คุณสามารถบีบอัดคำขอ HTML เท่านั้น


1
ขอบคุณ @Slawek มึงอธิบาย better..and ขอบคุณสำหรับตัวอย่างเกินไป ...
Harish Kurup

2
ในความเป็นจริงฉันได้ยินคนพูดถึง SOAP และ REST ว่า "บริการเว็บ" Web API มีแนวโน้มที่จะเป็น REST
Ben Thurley

@Slawek วิธีที่คุณพูดมัน 2,000 หน้าเทียบกับสองหน้าตัวเองอธิบายความซับซ้อนลดลง เป็นวิธีที่ดีที่จะพูดง่ายๆ ..
Jaqen H'ghar

20

บริการบนเว็บช่วยให้สามารถสื่อสารกับเครื่องผ่านทาง HTTP เว็บ API เป็นส่วนหนึ่งของบริการเว็บที่ใช้การประชุม REST (สรุปบทความ Wikipedia ) แนวคิดทับซ้อนกันอย่างแน่นอน ฉันเชื่อว่ายังคงมีลิงก์ในใจของคนส่วนใหญ่ในการให้บริการเว็บ -> SOAP / XML-RPC ซึ่งอาจสร้างความสับสนให้กับเรื่องโดยไม่จำเป็น

ในท้ายที่สุดคุณจะต้องถามคำถามสองสามข้อเพื่อชี้แจงความหมายของผู้คน ไม่ใช่ทุกคนที่สร้างความแตกต่างหรือใช้ข้อกำหนดแทนกันได้


ขอบคุณ @Berin Loritsch ใช่แล้วใช่ว่ามันจะทำให้เกิดความสับสนระหว่าง API กับ WS ..
Harish Kurup

6

บริการเว็บเป็นสถาปัตยกรรมและวิธีการที่ปัญหาโดเมนที่กำหนดไว้ดังกล่าวโดยW3C

บริการบนเว็บจัดให้มีวิธีการมาตรฐานในการทำงานร่วมกันระหว่างแอพพลิเคชั่นซอฟต์แวร์ต่างๆทำงานบนแพลตฟอร์มและ / หรือกรอบงานที่หลากหลาย

Web API เป็นแนวคิดและบทคัดย่อเกี่ยวกับวิธีการนำแนวคิดมาใช้

ในแง่คนธรรมดา ... เว็บ API เป็นมอเตอร์ขณะ WS คือBMW N53

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.