SOAP
ทีนี้ API มันมีอีกหลายแบบ เดี๋ยวจะพาไปดู ว่าแบบอื่น ๆ แต่ละแบบมันเป็นยังไง แล้วใช้ต่างกันยังไงบ้าง
Soap
Meaning ของ Soap คือการแยก logic ต่างๆของ Application ออกมาเป็น service และนำมาใช้
- จุดเด่น
- สามารถนำไปใช้ใน protocol ไหนก็ได้
- มีความปลอดภัยด้าน security ในระดับหนึ่ง
- อธิบาย service ที่แยกๆด้วย WSDL (Web Services Description Language)
- จุดสังเกต
- ด้วยการที่เราต้อง logic ต่างๆออกมาเป็น service ทำให้ยากต่อการพัฒนา
- รองรับ format ข้อมูลที่เป็น XML เท่านั้น
- ด้วยการที่เราแยกเป็นหลายๆ service มีโครงสร้างหลายส่วน เลยทำให้เวลา รับ-ส่งข้อมูลจะกิน bandwith มากกว่าปกติ
GraphQL
Meaning ของ GraphQL การที่เราขอข้อมูลจาก server และต้องการข้อมูลที่กระชับตามที่ต้องการเท่านั้น เรียกว่าการ Query ซึ่งการดึงข้อมูลจะคล้ายๆกับใน SQL แต่มันไม่เกี่ยวข้องกันนะ 🙂
- จุดเด่น
- สามารถคัดกรองข้อมูลได้ตามที่เราจะใช้จริงๆ ได้ข้อมูลที่กระซับ เช่น เราต้องการแค่ชื่อ ของนักศึกษารหัส 123 เราก็สามารถ เขียน querty เพื่อดึงแค่ชื่อของนักศึกษาออกมา ไม่จำเป็นต้องเอาข้อมูลอื่นๆที่ไม่เกี่ยวข้องมาด้วย
- Developer สามารถกำหนด TYPE ข้อมูลต่างๆให้ property ได้เพื่อง่ายต่อการพัฒนา
- Developer สามารถ generate document ออกมาเองได้โดยอัติโนมัติ
- จุดสังเกต
- ด้วยความที่เป็นเทคโนโลยใหม่ใน ณ ปัจจุบันจึงอาจจะต้องศึกษาเองจาก doc บางในบางเรื่อง
- ยากสำหรับผู้ที่เริ่มต้นเขียน API
- เวลาสร้างต้องระบุ TYPE ต่างๆ property ให้ชัดเจน เหมือนกัน Strong Datatype ใน ภาษา programming