เมื่อวันก่อนผมเขียนบทความเรืีอง API Econmy ตอนแรก เพื่อชี้ให้เห็นถึงตัวอย่างของบริษัทในต่างประเทศที่ใข้ API ในการเปลี่ยนโมเดลธุรกิจและสร้างนวัตกรรมใหม่ๆ วันนี้เลยขอมาเขียนต่อเพื่อให้เห็นถึงความจำเป็นในการขับเคลื่อนสู่การพัฒนา API รูปแบบของ API ต่างๆ กลยุทธ์การพัฒนา API ขององค์กร และข้อที่ควรคำนึงถึงในการพัฒนา API ขององค์กร
ทำไมต้องพัฒนา API
ในปัจจุบันหลายๆองค์กรก็เริ่มที่จะก้าวเข้าสู่ดิจิทัล มีการพัฒนาระบบไอทีในองค์กร พัฒนาเว็บไซต์ Mobile App แต่สิ่งที่พบก็คือการเปลี่ยนแปลงอย่างรวดเร็วของไอที มีอุปกรณ์ใหม่ๆมากมาย ทำให้การพัฒนาไอทีในองค์กรไม่สามารถตอบสนองความต้องการใหม่ๆได้เพราะจำนวนนักพัฒนาซอฟต์แวร์มีไม่พอ นอกจากนี้การพัฒนาไอทีเองก็ไม่สามารถที่จะทำให้ผู้ใช้ออนไลน์จำนวนมากเข้าถึงระบบเราได้ ลองพิจารณาดูจากรูปที่ 1 จะเห็นว่าถ้าบริษัทต้องทำซอฟต์แวร์เอง สร้างข้อมูลและ Application เอง ก็จะมีผู้เข้าถึงระบบได้เพียงแค่จำนวนหนึ่ง แต่ถ้าเรามีการเปิด Web APIs ให้คนอื่นเข้ามาใช้ได้ จะทำให้เกิดนวัตกรรมใหม่ๆ เช่นเว็บไซต์อื่นๆที่เข้าถึงระบบของเรา Application หรือ Mobile App ที่พัฒนาโดยคนอื่นๆ ทำให้มีผู้เข้าถึงข้อมูลธุรกิจเราได้มากขึ้น ทำให้ธุรกิจโตขึ้นได้มากขึ้นจากนวัตกรรมที่คนอื่นมาช่วยกันพัฒนา
รูปที่ 1 การเปิด APIs จะทำให้เราเข้่าถึงผู้คนที่อยู่บนโลกออนไลน์ได้มากขึ้น
เหตุผลหลักๆที่ต้องพัฒนา API มีสองประเด็น
1) การเติบโตของอุปกรณ์โมบายที่มีหลากหลายทั้งในแง่ของ OS และยี่ห้อที่อาจมีขนาดที่แตกต่างกัน และยังมีเรื่องของ Internet of Things ที่มีอุปกรณ์ใหม่ๆที่สามารถเชื่อมต่ออินเตอร์เน็ตได้เช่น Smart TV, Smart Watch ซึ่งในปัจจุบันผู้ใช้อินเตอร์เน็ตอาจเข้าถึงอินเตอร์เน็ตโดยใช้อุปกรณ์เหล่านี้มากกว่าใช้พีซี องค์กรจำเป็นต้องพัฒนาเว็บหรือ Application ให้ใช้กับอุปกรณ์เหล่านี้ ซึ่งการที่จะให้ทีมไอทีในองค์กรมาพัฒนาระบบเองทั้งหมดย่อมเป็นไปได้ยากมาก การเปิด API จะช่วยทำให้มีนักพัฒนาซอฟต์แวร์มาช่วยสร้าง Application ให้กับองค์กรได้มากขึ้น
2) การเชื่อมต่อกับธุรกิจอื่นๆ (B2B Integration) โดยการเปิด APIs เพื่อเปิดโอกาสให้คู่ค้าสามารถเข้าถึงข้อมูลต่างๆของระบบธุรกิจ เป็นการขยายช่องทางธุรกิจและการพัฒนานวัตกรรมใหม่ๆ
ประเภทของ APIs
เราสามารถที่จะแบ่งประเภทของ API ออกมาได้เป็นสี่กลุ่มดังแสดงในรูปที่ 2
รูปที่ 2 ประเภทของ APIs
1) Internal APIs คือการเปิด APIs ในองค์กรเพื่อให้นักพัฒนาซอฟต์แวร์ในองค์กรสามารถเรียกใช้คำสั่งหรือดึงข้อมูลจากระบบต่างๆในองค์กรได้ องค์กรโดยมากจะประกอบด้วยไอทีหลายๆระบบถูกพัฒนาขึ้นโดยนักพัฒนาซอฟต์แวร์หลายกลุ่ม แต่ทุกครั้งที่เราจะพัฒนาระบบใหม่และตัองเชื่อมต่อกับระบบอื่นๆ เรามักจะมีปัญหาในการที่จะหาวิธีการในการเชื่อมต่อระบบอื่นๆ การสร้าง APIs ภายในองค์กรจะช่วยทำให้การพัฒนาซอฟต์แวร์ขององค์กรในอนาคตเป็นไปได้รวดเร็วขึ้น
2) B2B APIs คือ APIs ที่ต้องการเปิดให้กับคู่ค้า (Partner) ในการที่จะให้เข้าถึงระบบหรือข้อมูลของหน่วยงานเรา เพื่อเปิดโอกาสให้นักพัฒนาซอฟต์แวร์ของคู่ค้ามาพัฒนา Application หรือนวัตกรรมต่างๆในการขยายธุรกิจของทั้งหน่วยงานเราและคู่ค้า
3) Open Web APIs คือ APIs ที่เปิดกว้างให้นักพัฒนาซอฟต์แวร์ทั่วไปเข้าไปเรียกใช้ได้ โดยอาจมีโมเดลธุรกิจที่สร้างรายได้ให้กับนักพัฒนาซอฟต์แวร์
4) Product APIs คือ APIs สำหรับผลิตภัณฑ์เช่นซอฟต์แวร์หรือฮาร์ดแวร์ที่ต้องการให้นักพัฒนาซอฟต์แวร์ทั่วไปหรือคู่ค้าสามารถเข้ามาพัฒนาโปรแกรมเิ่มเติมเพื่อใช้ผลิตภัณฑ์เหล่านั้น ทำให้เกิดระบบนิเวศน์(ecosystem) ของผลิตภัณฑ์ ต้วอย่างของ Product APIs มีอาทิเช่น Salesforce APIs หรือ google Glass APIs
โมเดลธุรกิจของการเปิด APIs
การเปิด APIs จำเป็นต้องหาวิธีการในการสร้างแรงจูงใจให้นักพัฒนาซอฟต์แวร์ทั่วไปเข้ามาเรียกใช้งาน จึงจำเป็นต้องมีโมเดลทางธุรกิจที่ดี ซึ่งทาง Programmableweb ได้สรุปให้เห็นรูปแบบธุรกิจต่างๆที่เป็นไปได้ดังนี้
รูปที่ 3 โมเดลธุรกิจรูปแบบต่างๆของการเปิด APIs [Source: ProgrammableWeb]
- นักพัฒนาซอฟต์แวร์ใช้ได้ฟรี: ตัวอย่างเช่น Facebook APIs ที่อนุญาตให้นักพัฒนาซอฟต์แวร์สามารถเรียกใช้งานได้โดยไม่มีค่าใช้จ่าย
- นักพัฒนาซอฟต์แวร์เป็นผู้จ่าย: ตัวอย่างเช่น AWS APIs ให้นักพัฒนาจ่ายตามบริมาณการใช้งาน หรือ Paypal APIs จะให้นักพัฒนาจ่ายตามจำนวน Transaction
- นักพัฒนาซอฟต์แวร์เป็นผู้ได้รายได้: ตัวอย่างเช่น Google AdSense APIs จะจ่ายเงินให้นักพัฒนาตามจำนวนครั้งที่ถูกเรียก หรือ Amazon Product Advertise APIs จะแบ่งรายได้จากการโฆษณาให้กับนักพัฒนา
- นักพัฒนาซอฟต์แวร์ได้รายได้ทางอ้อม: ตัวอย่างเช่นการเรียก content ของ eBay ทำให้นักพัฒนาซอฟต์แวร์ได้รายได้จากการการพัฒนา Application ของตัวเองหรือการใช้ salesforce APIs ทำให้นักพัฒนาสามารถพัฒนา Application ที่ต่อยอดจาก SalesForce.com แลัวมาขายผ่าน Salesforce Marketplace ได้
เครื่องมือการบริหาร APIs
การสร้าง APIs เพื่อเปิดให้กับคนอื่นๆใช้จริงๆแล้วไม่ได้มีความซับซ้อนมาก แต่เรื่องที่ยากคือการบริหาร APIs การควบคุมการเข้าถึง การบริหารเวอร์ชั่นของ APIs การควบคุม Life Cycle การจัดการเรื่องเอกสาร โดยมากเราจะใช้เครื่องมือในการบริหาร APIs ตัวอย่างของเครื่องมือเหล่านี้คือ 3Scale, APIgee ดังนั้นการพัฒนา APIs จำเป็นต้องเข้าใจการใช้เครื่องมือต่างๆ และการบริหารจัดการ APIs มิใช่แค่การสร้าง APIs ที่อาจเป็นเพียงการสร้าง Web Services
รูปที่ 4 ตัวอย่างของเครื่องมือการบริหาร APIs
ธนชาติ นุ่มนนท์
IMC Institute