วันนี้ได้อ่านบทความเรื่อง Frankenstein APIs Explained! - API Cyber Security Series
แต่ได้ฟังชื่อก็แปลกดี ไม่เคยได้ยินเลย
ดังนั้นจึงลองอ่านและสรุปไว้นิดหน่อย
ว่าคืออะไร มีรูปแบบอย่างไร ?
จากบทความได้แบ่งหมวดหมู่ของ API เป็น 7 หมวดคือ
- Public API
- Internal API
- Partner API
- Composite API
- Shadow API
- Zombie API
- Frankenstein API
มาดู Frankenstein API ว่าคืออะไร เป็นอย่างไร
เริ่มด้วยคำถาม
ถ้าเราต้องการ API เพื่อทำงานหรือใช้งานบางสิ่งบางอย่าง
แต่ระบบงานของเราไม่มี API เหล่านั้นเตรียมไว้ให้
เราจะทำอย่างไร ?
หนึ่งวิธีการคือ ทำระบบหรือ API ครอบอีระบบ API เดิมอีกชั้น
หรืออาจจะทำการดึงข้อมูลบางอย่างมาใช้งานในระบบใหม่
เหมือนเป็นระบบที่สร้างขึ้นมาเพื่อตอบสนองการใช้งาน
แน่นอนว่า ระบบเดิมไม่ได้เกี่ยวข้องหรือไม่รู้เรื่องอะไรด้วยเลย
ส่วนคนใช้งานก็มาใช้ผ่านระบบใหม่ที่สร้าง
ผลที่อาจจะเกิดขึ้นมาคือ
เรื่องของ function การทำงานอาจจะทำได้ตามที่ต้องการ
แต่อาจจะขาดเรื่องของการจัดการ security
รวมทั้งอาจจะก่อให้เกิดผลกระบทบต่อ API เดิมที่มาครอบอีกด้วย
แต่ไม่ได้บอกว่าไม่ดี แต่เพียงต้องระวังเท่านั้นเอง
เช่นการ bypass การตรวจสอบ Token ต่าง ๆ ทิ้งไป
จาก Client -> API เปลี่ยนเป็น Client -> API ใหม่ -> API เก่า
อีกอย่างเป็นการทำงานแบบต่างคนต่างทำงาน
อาจจะส่งผลหรือมีปัญหาเมื่อ เกิดการเปลี่ยนแปลงจากระบบเก่า
ทำให้ระบบใหม่เกิดปัญหาก็เป็นได้
รวมทั้งชี้ให้เก็นถึงปัญหาของการทำงานภายในบริษัทหรือไม่ !!
หรือเป็นการเพิ่มภาระงานให้ API เก่าเพิ่มด้วยหรือไม่ ?
คำถามคือ ในระบบงานของเรามี Frankenstein API บ้างไหมนะ ?