Web APIและบริการเว็บมีความแตกต่างกันอย่างไร หรือพวกเขาเป็นหนึ่งเดียวกัน?
Web APIและบริการเว็บมีความแตกต่างกันอย่างไร หรือพวกเขาเป็นหนึ่งเดียวกัน?
คำตอบ:
โดยทั่วไปบริการบนเว็บจะเสนอWSDLซึ่งคุณสามารถสร้างไคลเอนต์สตับได้โดยอัตโนมัติ Web Services จะขึ้นอยู่กับโปรโตคอล SOAP เว็บ ASP.NET API เป็นกรอบใหม่ไมโครซอฟท์ซึ่งจะช่วยให้คุณสามารถสร้างการเชื่อมต่อส่วนที่เหลือตาม การตอบสนองอาจเป็น JSON หรือ XML แต่ไม่มีวิธีสร้างไคลเอ็นต์โดยอัตโนมัติเนื่องจาก Web API ไม่มีคำอธิบายบริการเช่น WSDL จาก Web Services ดังนั้นจึงขึ้นอยู่กับความต้องการของคุณว่าคุณต้องการใช้เทคนิคใด บางทีWCFอาจจะเหมาะกับความต้องการของคุณมากกว่าเพียงแค่ดูเอกสาร MSDN
ความแตกต่างพื้นฐานระหว่าง Web Services และ Web API
บริการเว็บ:
1) เป็นบริการที่ใช้ SOAP และส่งคืนข้อมูลเป็น XML
2) รองรับโปรโตคอล HTTP เท่านั้น
3) ไม่ใช่โอเพ่นซอร์ส แต่สามารถใช้ได้กับไคลเอนต์ที่เข้าใจ XML
5) ต้องใช้โปรโตคอล SOAP เพื่อรับและส่งข้อมูลผ่านเครือข่ายดังนั้นจึงไม่ใช่สถาปัตยกรรมที่มีน้ำหนักเบา
Web API:
1) Web API เป็นบริการที่ใช้ HTTP และส่งคืนข้อมูล JSON หรือ XML ตามค่าเริ่มต้น
2) รองรับโปรโตคอล HTTP
3) สามารถโฮสต์ภายในแอปพลิเคชันหรือ IIS
4) เป็นโอเพ่นซอร์สและสามารถใช้ได้กับไคลเอนต์ที่เข้าใจ JSON หรือ XML
5) มีสถาปัตยกรรมน้ำหนักเบาและเหมาะสำหรับอุปกรณ์ที่มีแบนด์วิดท์ จำกัด เช่นอุปกรณ์เคลื่อนที่
เพิ่งวางข้อมูลสรุปของบทความที่เชื่อมโยง:
สรุป:
บริการเว็บทั้งหมดเป็น API แต่ API ทั้งหมดไม่ใช่บริการบนเว็บ
บริการเว็บอาจไม่ดำเนินการทั้งหมดที่ API จะดำเนินการ
บริการบนเว็บใช้รูปแบบการใช้งานเพียงสามรูปแบบ: SOAP, REST และ XML-RPC สำหรับการสื่อสารในขณะที่ API อาจใช้รูปแบบใดก็ได้สำหรับการสื่อสาร
บริการบนเว็บจำเป็นต้องมีเครือข่ายสำหรับการทำงานเสมอในขณะที่ API ไม่จำเป็นต้องมีเครือข่ายสำหรับการทำงาน
API ช่วยอำนวยความสะดวกในการเชื่อมต่อโดยตรงกับแอปพลิเคชันในขณะที่บริการบนเว็บคือ ...
อ่านเพิ่มเติม: ความแตกต่างระหว่าง API และบริการเว็บ | ความแตกต่างระหว่าง | API เทียบกับบริการเว็บhttp://www.differencebetween.net/technology/internet/difference-between-api-and-web-service/#ixzz3e3WxplAv
ดูลิงก์ด้านบนเพื่อดูคำตอบที่สมบูรณ์
บริการเว็บหากคุณต้องการคือ Web API โดยเฉพาะ Web API มักหมายถึงบริการเว็บ RESTful (ที่ใช้ HTTP) และ Web Service มักหมายถึง SOAP + WSDL (+ HTTP หรือ SMTP หรือ JMS .. )
บริการเว็บ RESTful แบบ Tipically ตรงข้ามกับ Web Services (WSDL, SOAP) แต่เมื่อไม่นานมานี้มีการเปิดตัวคำว่า RESTful Web services (ตัวพิมพ์ใหญ่ 'W') ซึ่งหมายถึง RESTful + WSDL + SOAP ..
ตรวจสอบความแตกต่างของแนวคิดทั้งสามในแผนภูมินี้: http://www2.mokabyte.it/cms/figureproviderservlet?figureId=IUS-6NS-OBV_7f000001_19624184_5621ef4e--Fig02.jpg
หวังว่าจะช่วยได้!
บริการบนเว็บนั้นเหมือนกับ Web API - มีข้อ จำกัด อีกเล็กน้อยในแง่ของรูปแบบข้อมูลพื้นฐาน ทั้งสองใช้โปรโตคอล HTTP และทั้งสองอนุญาตให้สร้างบริการ RESTful และอย่าลืมโปรโตคอลอื่น ๆ เช่น JSON-RPC - บางทีมันอาจจะเหมาะสมกว่า
ในบริบทของ ASP.Net Web API คือคอนโทรลเลอร์ที่มีคลาสพื้นฐานคือApiControllerและไม่ใช้ Views Web Service เป็นคลาสที่มาจากWebServiceและมีการสร้าง WSDL โดยอัตโนมัติ โดยค่าเริ่มต้นมันเป็น API SOAP แต่คุณยังสามารถใช้ JSON โดยการเพิ่มScriptServiceAttribute
API และบริการบนเว็บทำหน้าที่เป็นช่องทางในการสื่อสาร
ข้อแตกต่างเพียงอย่างเดียวคือบริการบนเว็บอำนวยความสะดวกในการโต้ตอบระหว่างเครื่องสองเครื่องผ่านเครือข่าย API ทำหน้าที่เป็นอินเทอร์เฟซระหว่างสองแอปพลิเคชันที่แตกต่างกันเพื่อให้สามารถสื่อสารกันได้ API เป็นวิธีการที่ผู้จำหน่ายบุคคลภายนอกสามารถเขียนโปรแกรมที่ติดต่อกับโปรแกรมอื่นได้อย่างง่ายดาย บริการบนเว็บได้รับการออกแบบให้มีอินเทอร์เฟซที่แสดงในรูปแบบที่เครื่องประมวลผลได้โดยปกติจะระบุไว้ใน Web Service Description Language (WSDL)
บริการเว็บทั้งหมดเป็น API แต่ไม่ใช่ API ทั้งหมดที่เป็นบริการบนเว็บ
บริการบนเว็บเป็นเพียง API ที่รวมอยู่ใน HTTP
นี้ที่นี่บทความให้ความรู้ที่ดีเกี่ยวกับการบริการเว็บและ API
TMK อาจจะถูกต้องในโลกของ Microsoft แต่ในโลกของซอฟต์แวร์ทั้งหมดรวมถึง Java / Python / etc ฉันเชื่อว่าไม่มีความแตกต่าง พวกมันเหมือนกัน
/software/38691/difference-between-web-api-and-web-service
บริการบนเว็บ - เป็นมาตรฐานที่กำหนดโดย W3C ดังนั้นจึงสามารถเข้าถึงได้แบบกึ่งอัตโนมัติหรือโดยอัตโนมัติ (WSDL / UDDI) ทั้งหมดนี้ขึ้นอยู่กับ XML ดังนั้นใคร ๆ ก็สามารถเรียกมันได้ และทุกแง่มุมของบริการได้รับการกำหนดไว้เป็นอย่างดี มีมาตรฐานคำอธิบายพารามิเตอร์มาตรฐานการส่งผ่านพารามิเตอร์มาตรฐานการตอบสนองมาตรฐานการค้นพบ ฯลฯ ฯลฯ คุณสามารถเขียนหนังสือได้ 2,000 หน้าซึ่งจะอธิบายถึงมาตรฐาน ยังมีมาตรฐาน "เพิ่มเติม" บางอย่างสำหรับการทำ "มาตรฐาน" เช่นการพิสูจน์ตัวตน
แม้ว่าความจริงแล้วการเรียกใช้และการค้นพบโดยอัตโนมัติแทบจะไม่ได้ผลเนื่องจากลูกค้าค่อนข้างแย่และคุณไม่มีการรับประกันอย่างแท้จริงว่าสามารถเรียกใช้บริการใด ๆ จากลูกค้ารายใดก็ได้
โดยทั่วไป Web API จะทำในรูปแบบ HTTP / REST โดยไม่มีการกำหนดเอาท์พุทเช่น JSON / XML อินพุตอาจเป็น XML / JSON / หรือข้อมูลธรรมดา ไม่มีมาตรฐานสำหรับสิ่งใด ๆ => ไม่มีการโทรอัตโนมัติและการค้นพบ คุณสามารถให้คำอธิบายบางอย่างในไฟล์ข้อความหรือ PDF คุณสามารถส่งคืนข้อมูลใน Windows-1250 แทน Unicode เป็นต้นสำหรับการอธิบายมาตรฐานจะเป็นโบรชัวร์ 2 หน้าพร้อมข้อมูลง่ายๆและคุณจะกำหนดทุกอย่างอื่น
เว็บกำลังเปลี่ยนไปใช้ Web API / REST Web Services ไม่ได้ดีไปกว่า Web API จริงๆ ซับซ้อนมากในการพัฒนาและกินทรัพยากรมากขึ้น (แบนด์วิดท์และ RAM) ... และเนื่องจากการแปลงข้อมูลทั้งหมด (REQUEST-> XML-> DATA-> RESPONSE-> XML-> VALIDATION-> CONVERSION-> DATA) เป็นอย่างมาก ช้า.
เช่น. ใน WebAPI คุณสามารถแพ็คข้อมูลส่งบีบอัดและยกเลิกการบีบอัด + ยกเลิกการแพ็คบนไคลเอนต์ ใน SOAP คุณสามารถบีบอัดคำขอ HTML เท่านั้น
WebServices ทั้งหมดเป็น API แต่ API ทั้งหมดไม่ใช่ WebServices API ที่เปิดเผยบนเว็บเรียกว่าบริการเว็บ
สองสิ่งที่เข้าใจง่ายมาก
หมายเหตุ: บริการเว็บทั้งหมดเป็นของ API แต่ไม่ใช่ API ทั้งหมดที่เป็นบริการบนเว็บ