12 ก.ย. 2022 เวลา 07:00 • ธุรกิจ
วันนี้ AI GEN จะพามารู้จักกับ API หรือ Application Programming Interface ว่าคืออะไร และจะเปลี่ยนแปลงโลกของการพัฒนาซอฟต์แวร์ได้อย่างไรบ้างจากบทความนี้
API คืออะไร และกำลังเปลี่ยนแปลงโลกของการพัฒนาซอฟต์แวร์อย่างไร
API ย่อมาจาก Application Programming Interface เป็นซอฟต์แวร์ที่ทำให้ระบบซอฟต์แวร์ต่าง ๆ เชื่อมต่อ และคุยกันได้ API แต่ละตัวจะกำหนด specification ของตนซึ่งเมื่อซอฟต์แวร์อื่นเรียกขอบริการจาก API นั้น ตามข้อกำหนดนี้ ก็จะได้รับผลการบริการตามที่กำหนดและตกลงกันไว้ โดยผู้เรียกใช้ไม่จำเป็นต้องรู้วิธีการ implement หรือรายละเอียดอื่นใดภายในโปรแกรมซอฟต์แวร์นั้น
ตัวอย่าง API ในชีวิตประจำวัน
Twitter มี API ที่ช่วยให้นักพัฒนาสามารถเข้าถึงข้อมูลหลักของ Twitter และ Search API ไว้ให้นักพัฒนาใช้ในการโต้ตอบกับ Twitter Search และข้อมูลแนวโน้มต่าง ๆ ได้ ทุกครั้งที่เราใช้ Facebook ก็จะมีการเรียกใช้งานผ่าน API เพื่อนำผลมาแสดง การใช้งานค้นหาและจองตั๋วเครื่องบิน API ก็รับข้อมูลที่เรากรอกไป เพื่อส่งผ่านไปยัง engine ที่ทำการค้นหาไฟลต์ และส่งผลกลับมาให้เราดู แพลตฟอร์มอย่าง Zapier สามารถสร้าง automation ให้งานต่าง ๆ ระหว่างแอปพลิเคชันได้ด้วยการสื่อสารจากแอปพลิเคชันหนึ่งไปยังอีกอันหนึ่ง
ชนิดของ API
เราอาจแบ่งชนิดของ API ได้ต่าง ๆ กัน ดังนี้
1. ตามลักษณะการเข้าถึง
o Private : เป็น API ที่ใช้เรียกภายในองค์กรหรือระบบซอฟต์แวร์เดียวกัน
o Partner : เป็น API ที่ไว้ให้ partner รายใดรายหนึ่งเรียกใช้ ซึ่งอาจมีการ customize ตามที่ต้องการ และข้อตกลงทางธุรกิจโดยเฉพาะ
o Public : เป็น API ที่เปิดให้ใครก็ได้เรียกใช้ด้วยมาตรฐานเดียวกัน
2. ตามลักษณะการทำงาน
o Synchronous : เมื่อมีการเรียก API นี้ โปรแกรมจะหยุดเพื่อรอคำตอบจาก API จึงจะทำงานต่อได้
o Asynchronous : ตรงข้ามกับ synchronous โปรแกรมไม่หยุดทำงานเพื่อรอคำตอบจาก API แต่จะใช้การ callback เมื่อได้รับการเรียกกลับมาจาก API
API ที่ดีเป็นอย่างไร
• API ที่ดีควรยึดตาม standard ที่เป็นที่รู้จักเพราะจะทำให้ง่ายต่อความเข้าใจและการนำไปใช้โดยนักพัฒนาอื่น ซึ่งปัจจุบันเรามักจะใช้ http protocol ซึ่งเป็น standard ของ internet และ REST API ซึ่งเป็น standard สำหรับการทำ API ส่วนข้อมูลที่ส่งกลับมาก็มักจะอยู่ในรูปแบบที่เป็นสแตนดาร์ด เช่น JSON format
• การพัฒนา API ควรทำเช่นเดียวกับการพัฒนาซอฟต์แวร์ทั่วไป ไม่ว่าจะเป็นเรื่องการออกแบบ การทำเทสต์ การจัดการเวอร์ชัน รวมถึงการทำเอกสารประกอบ (documentation) ซึ่งสำคัญต่อการนำไปใช้โดยผู้อื่น
• ต้องมีการ maintain และ support เวอร์ชันเก่าที่นักพัฒนาอื่นอาจจะยังมีการใช้งานอยู่ และให้เวลาในการเปลี่ยนไปใช้เวอร์ชันที่ใหม่กว่า หรือมี backward compatibility
• มีการรักษาความปลอดภัย ผ่านการใช้รหัสในการเรียกใช้บริการแต่ละครั้ง ซึ่งจะทำให้ข้อมูลภายในปลอดภัยและป้องกันการถูกโจมตีที่อาจทำให้บริการล่มใช้ไม่ได้
• มี Service Level Agreement (SLA) ที่เป็นที่ยอมรับได้ เช่น เวลาการให้บริการ 24/7 และอัตราการให้บริการได้ที่สูงกว่า 99% จากเวลาทั้งหมด เป็นต้น
Think AI Think AI GEN
อ่านบทความฉบับเต็มได้ที่ลิงค์ : https://bit.ly/3RBr3At
ผู้ที่สนใจเกี่ยวกับการนำโซลูชัน AI ไปใช้เพื่อเพิ่มขีดความสามารถให้กับธุรกิจ
สามารถดูข้อมูลเพิ่มเติมเกี่ยวกับ AI GEN ได้ที่
· Facebook : AI GEN : ไอเจ็น
· Line : @aigen
โฆษณา