ความแตกต่างระหว่าง Web Service กับ API
ในยุคของเทคโนโลยีที่ผู้ใช้งานมีการเชื่อมต่อกันผ่านระบบเครือข่าย และมีการรับส่งข้อมูลข่าวสารบนอุปกรณ์ไม่ว่าจะเป็นคอมพิวเตอร์ มือถือ และอุปกรณ์อิเล็กทรอนิกส์ต่างๆ ซึ่งอุปกรณ์บางอย่างทำงานบนระบบปฏิบัติการต่างกัน ถูกพัฒนาด้วยภาษาโปรแกรมต่างกัน หรือในสภาพแวดล้อมของระบบที่ต่างกัน แต่กลับสามารถรับส่งข้อมูลระหว่างกันได้อย่างไม่มีปัญหา หลายๆ คนอาจจะเคยได้ยินคำว่า
Web Service หรือ API กันมาบ้างแล้ว ในบทความนี้เราจะมาทำความรู้จักกับทั้งสองคำ รวมถึงมาดูความแตกต่างระหว่าง Web Service กับ APIWeb Service เป็นบริการบนเครือข่ายเว็บไซต์ที่ออกแบบมาเพื่อใช้เป็นช่องทางสื่อสารระหว่างอุปกรณ์อิเล็กทรอนิกส์กับอุปกรณ์อิเล็กทรอนิกส์อื่นๆ ซึ่งจะทำงานผ่านทาง The Hypertext Transfer Protocol (HTTP) โดยการรับส่งข้อมูลของ Web Service จะนิยมใช้รูปแบบข้อมูล XML กับ JSON ซึ่งไม่ว่าระบบจะพัฒนาด้วยภาษาโปรแกรมใดๆ ก็สามารถอ่านข้อมูลและส่งกลับได้ โดยปกติการทำงานจะแบ่งเป็น 2 ฝั่ง คือ ฝั่งเซิร์ฟเวอร์ (Server) จะเตรียมช่องทางการทำงานที่จำเป็นให้ระบบที่เป็นฝั่งไคลเอนต์สามารถดึงข้อมูลไปใช้หรือส่งข้อมูลกลับมาได้ ส่วนฝั่งไคลเอนต์ (Client) จะสามารถเรียกใช้งานส่วนต่างๆ ได้เท่าที่ฝั่งเซิร์ฟเวอร์เปิดช่องทางไว้ให้เท่านั้น ซึ่งการทำงานหลักๆ ที่ Web Service ฝั่งเซิร์ฟเวอร์มักจะเปิดช่องทางไว้ให้ ได้แก่ การเข้าระบบ การเพิ่มข้อมูล การแก้ไขข้อมูล การอ่านข้อมูล และการลบข้อมูล โดยฝั่งไคลเอนต์อาจจะเป็นเครื่องคอมพิวเตอร์ มือถือ หรืออุปกรณ์อิเล็กทรอนิกส์อื่นๆ ก็ได้ที่สามารถทำงานผ่าน HTTP รูปแบบโมเดลสื่อสารของ Web Service นิยมใช้เป็น Representational state transfer (REST), Simple Object Access protocol (SOAP) และ XML-RPC
Application Programming Interface (API) เป็นช่องทางการสื่อสารคล้ายกับ Web Service แต่ไม่ได้จำกัดอยู่แค่บน HTTP แต่สามารถใช้สื่อสารกันได้ในระบบปฏิบัติการ ระบบฐานข้อมูล อุปกรณ์อิเล็กทรอนิกส์ หรือซอฟต์แวร์ต่างๆ โดยสามารถทำงานได้ทั้งแบบออนไลน์หรือแบบออฟไลน์ อาจจะเป็นการสื่อสารกันระหว่างซอฟต์แวร์ภายในอุปกรณ์อิเล็กทรอนิกส์ รูปแบบหรือโครงสร้างของ API สามารถพัฒนาได้หลายรูปแบบและหลายภาษาโปรแกรมขึ้นอยู่กับการใช้งาน เช่น API ที่ทำงานในระบบปฏิบัติการ Windows ก็จะพัฒนาจากภาษา C และ C++ หรือซอฟต์แวร์ที่เป็น Office อย่าง Word Excel จะใช้ VBA และ COM API ในการสื่อสาร การเรียกใช้งาน API ต่างๆ ส่วนใหญ่แล้วผู้พัฒนาจะทำเอกสารหรือคู่มือสำหรับการเรียกใช้งานเพื่ออำนวยความสะดวกให้กับผู้ที่ต้องการเรียกใช้ หากจะถามว่า Web Service กับ API เกี่ยวข้องกันอย่างไรนั้น เมื่อเราสร้าง API ที่ทำงานบนเว็บไซต์ จะเรียกได้ว่ามันคือ Web APIs หรือ Web Service นั่นเอง
สรุปความแตกต่างระหว่าง Web Service กับ API
- Web Service ทั้งหมดเป็น API แต่ตัว API ทั้งหมดไม่ใช่ Web Service
- Web Service จำกัดการทำงานอยู่บน HTTP ไม่สามารถทำงานได้ในระบบปฏิบัติการหรือสภาพแวดล้อมอื่นๆ แต่ API สามารถทำงานได้ในทุกระบบปฏิบัติการและสภาพแวดล้อม
- รูปแบบการสื่อสารของ Web Service จะมีเพียงไม่กี่รูปแบบ เช่น SOAP, REST และ XML-RPC แต่ API สามารถใช้รูปแบบการสื่อสารได้หลากหลาย
- Web Service จำเป็นต้องใช้ระบบเครือข่ายในการทำงาน แต่ API สามารถทำงานได้ทั้งแบบผ่านเครือข่ายและไม่ผ่านเครือข่าย
- API สามารถสื่อสารกับส่วนต่างๆ ได้โดยตรงอย่างรวดเร็ว ส่วน Web Service การสื่อสารจะต้องผ่านหลายขั้นตอน รวมถึงต้องมีการแปลงข้อมูลให้อยู่ในรูปแบบ XML หรือ JSON ก่อนส่งข้อมูล และต้องแปลงข้อมูลกลับเมื่อจะนำไปใช้งานต่อในระบบ
ในปัจจุบนความสามารถของ Web Servive และ API บนเว็บไซต์เป็นที่นิยมอย่างมาก