เปิดโลกของ Software ด้วย API

เปิดโลกของ Software คุณให้สื่อสารกับทุกคนด้วย API วันนี้

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

เมื่อสมัยก่อน การทำแบบนั้น น่าจะนับว่า เป็นเรื่องที่ยากมากๆ เรื่องนึงเลยทีเดียว โดยเฉพาะยิ่ง software มีขนาดใหญ่ๆ เท่าไหร่ ก็ยิ่งยากไปอีก และการมอง เรื่องความปลอดภัย ของข้อมูล ก็เป็นเรื่องสำคัญ

แต่ในยุคสมัยนี้ มีสิ่งที่เรียกว่า API หรือที่ย่อมาจากคำว่า Application Programming Interface นั้นแหละ ความหมาย หรือหน้าที่หลักๆของมันก็คือ การทำหน้าที่ เป็นตัวกลาง ให้ Software ตัวเอง พูดหรือคุย และเข้าถึง ฐานข้อมูล ร่วมกันได้ ตามข้อตกลงที่ให้ไว้

ส่วน software ขนาดเล็กๆ ที่ไม่ได้จำเป็น ต้องคุยกับใคร ทำงานด้วยตัวเอง จบในตัวเอง ก็ไม่จำเป็น ต้องคิดเรื่องนี้เผื่อเอาไว้ ตรงนี้ปล่อยให้เป็น หน้าที่ของระบบ ที่เค้าจำเป็นครับต้องใช้ครับ

บางคนอาจจะ ยังนึกภาพไม่ออก ลองนึกถึงว่า เดี๋ยวนี้เวลา เราไปใช้งานเว็บต่างๆบน internet เราจะเห็นเค้าให้เรา login ด้วย username กับ password ของระบบ social ที่เราชอบเล่น

( บางคน น่ากลัวกว่านั้น เพราะทุก social ใช้ password เดียวกัน 555 )

ทำไมเว็บอื่นๆ ถึงได้ข้อมูลของเรา จากเว็บไซต์ ที่เราใช้งาน นั้นก็เป็น การพูดคุยกันระหว่าง application รูปแบบหนึ่งครับ

ถัดมา นึกถึงการสร้าง software ใหญ่ๆซักระบบ จริงๆ ความใหญ่ของแต่ละคน อาจแตกต่างกัน ของผมนี่แค่เกิน 1000 บรรทัดก็ใหญ่แล้ว 555

AIS food solution

AIS food solution

Software ระบบร้านอาหาร ก็แล้วกัน ดูใกล้ตัวดี ลองคิดภาพตามนะครับ วันนึงคุณเปิด ระบบบริหารจัดการหน้าร้านคุณ เสร็จแล้ว ส่งข้อมูลการขาย เข้าไปที่ระบบบัญชี จากนั้นตัดยอดหนี้ ลูกค้าที่มากินผ่านบัตรเครดิต บนธนาคาร แล้วบันทึก เข้าบัญชีอีกรอบ สุดท้าย ตัดเข้าสต็อก ของร้านว่า วัตถุดิบที่ใช้ไป เหลือเท่าไหร่ เมนูไหนขายต่อได้ ขายต่อไม่ได้

TMB

TMB

การทำงานข้างต้น ที่ยกตัวอย่างไป มีการเชื่อมต่อกัน ของระบบ 3 ระบบคือ ระบบจัดการหน้าร้าน ระบบบัญชี และระบบชำระเงินจากธนาคาร

เป็นแค่ตัวอย่างใกล้ๆ  ตัวให้พอเห็นภาพ ทีนี้ในปัจจุบัน ถ้าคุณทำ software ขึ้นมาหนึ่งระบบ มันก็อาจจะเป็นไปได้ ว่ามีการรับ เชื่อมต่อ พูดคุย หรือร้องขอข้อมูล จากระบบอื่นๆ

ทีนี้ก็จะเป็น เรื่องของการออกแบบ API แล้วว่า คุณจะให้มัน ทำหน้าที่อะไรบ้าง จะมีข้อกำหนด ข้อตกลงอย่างไรบ้าง มันเป็นคนละส่วนกับหน้า UI นะครับ อย่าไปคิดว่าใช้แบบเดียวกันก็ได้

ส่วนใครที่แบ่งปัน ข้อมูลของระบบ กับระบบอื่นๆด้วยการ export เป็นไฟล์ excel หรือ csv อะไรก็แล้วแต่อยู่ ลองมองมุมใหม่ ได้แล้วนะครับ

วันนี้ ใครเริ่มต้นทำ application ใหม่ คุณมี API เตรียมเอาไว้ สำหรับ คุยกับคนอื่น แล้วรึยัง ระวัง!! จะคุยกับเค้า ไม่รู้เรื่องนะครับ

ขอบคุณ ที่ติดตาม กันมาตลอดครับ

ธีรภัทร เกษสกุล

ขอบคุณรูปภาพ จาก unsplash.com

ตัวอย่าง เบื้องต้น ของการเริ่มต้นกับ API ด้วย Slim Framework