Java Rule Engine คืออะไร
ปรกติเวลาเราเขียนโปรแกรม ที่มี Business logic ที่ซับซ้อน
เรามักจะนึกถึงการเช็คเงื่อนไข ด้วย control statement
พวก if else อะไรต่างๆ ตามแต่ละโครงสร้าง ภาษาก็ว่ากันไป
ถ้าโปรแกรมเล็กๆ ที่ไม่ซับซ้อน หลายขึ้นตอนมากก็ไม่เป็นไร
แต่ถ้าเป็นโปรแกรมใหญ่ๆ แถมมี Business logic ที่ซับซ้อน
งานนี้มี if else กันกระจาย งานนี้ implement ก็ลำบาก
แถมตอน แก้ไขเปลี่ยนแปลงก็ทำได้ยาก
การ implement business logic ด้วย Rule Engine
เป็นการยกเงื่อนไขต่างๆ มาสร้างเป็น Rule แล้วนำมาร้อยเรียงกันเป็น Flow
จะช่วยให้ โปรแกรมมีความยืดหยุ่น ง่ายต่อการแก้ไขในภายหลัง
ตัวอย่าง Rule Engine ของ java ตัวที่ถูกพูดถึง
และเป็น Open source ก็คือ Drools
ตัวนี้สามารถเขียน Rule ลงใน config แล้ว ก็เรียกใช้ได้แบบ real time กันเลยทีเดียว
ทำให้สามารถ ปรับเปลี่ยน Rule ได้ทันทีและไม่มี downtime