# เจไฟร์
JFire เป็นระบบ ERP รวมกับ CRM ที่เปิดตัวครั้งแรกเมื่อเดือนมกราคม 2549 ภายใต้เงื่อนไขของ LGPL JFire จึงเป็นซอฟต์แวร์เสรี ที่ทุกคนสามารถที่จะเปลี่ยนแปลง แก้ไข หรือแจกจ่ายต่อได้โดยไม่เสียค่าใช้จ่ายใด ๆ

JFire ทั้งหมดถูกเขียนขึ้นโดยใช้ Java และเทคโนโลยีอื่น ๆ เช่น Java EE 1.4 (J2EE เดิม) JDO 2, Eclipse RCP 3 ดังนั้นในส่วนของผู้ใช้และส่วนของเซิฟเวอร์สามารถพัฒนาต่อได้อย่างง่ายดาย และการปรับให้เข้ากับหน่วยงานหรือบริษัทหนึ่ง ๆ นั้นก็ทำได้โดยง่ายดายเช่นกัน

JFire ขณะนี้เป็นรุ่นที่อยู่ในขั้นกำลังพัฒนาระดับ beta ประกอบด้วยส่วนจัดการพื้นฐานที่สำคัญได้แก่ โมดูลการจัดการโดยผู้ใช้ โมดูลบัญชี โมดูลจัดการร้านค้า โมดูลสำหรับออนไลน์เทรดดิ้ง (ผ่านระบบเว็บชอป) เครื่องมือในการสร้างกราฟิกสองมิติ และ plugin อื่นๆที่มีประโยชน์ โมดูลการทำรายงานอยู่บนฐานของ BIRT ที่สามารถจัดการแก้ไขรูปแบบรายงาน สถิติ และเอกสารอื่น ๆ (เช่น ใบจัดซื้อจัดจ้าง ใบเสนอราคา เอกสารเรียกเก็บเงิน เป็นต้น)

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

เนื่องจาก JFire เป็นระบบที่พัฒนาโดยใช้ JDO ในส่วนการจัดการฐานข้อมูล ทำให้เป็นอิสระต่อระบบฐานข้อมูล (DBMS) ที่ใช้ และเปิดช่องให้ใช้ SQL ได้ด้วย นอกจากนั้นการใช้ JDO ทำให้สามารถใช้ฐานข้อมูลแบบ DBMS ชนิดอื่นได้ (เช่น object databases) ในการนำเอา JFire ไปใช้ จะได้ JDO2/JPOX ไปด้วยซึ่งสามารถใช้งานกับ relational databasesและ db4o ด้วย

แม้ว่า JavaEE, JDO และ Eclipse RCP จะมีข้อดีหลายอย่าง แต่ก็ยังจะมีข้อเสีย นั่นคือต้องการระยะเวลาในการอบรมที่นานกว่าเทคโนโลยีก่อน ๆ อยู่บ้าง เมื่อเทียบกับ SQL

 เป้าหมาย 
โปรเจกต์นี้มีเป้าหมายเพื่อสร้างและแจกจ่าย framework ที่สามารถพัฒนาระบบ ERP ได้สะดวก ซึ่งทำให้แตกต่างจากระบบ ERP อื่นส่วนใหญ่ โดยเน้นไปที่การให้ผู้ใช้สามารถปรับแต่งส่วนต่าง ๆ ได้เอง

กลุ่มนักพัฒนา JFire เชื่อว่าความต้องการซอร์ฟแวร์ระบบ ERP มีความหลากหลายและ แตกต่างกันในแต่ละองค์กร ห้างร้าน บริษัท ซึ่งระบบที่สำเร็จรูปไม่สามารถตอบสนองความต้องการได้ทั้งหมด เพราะระบบถูกจำกัดความสามารถตามผู้ผลิตต้องการ ซึ่งทำให้ผู้ใช้ต้องตั้งค่าต่าง ๆ มากมายและยังไม่มีความยืดหยุ่นเพียงพอ
ดังนั้นโมดุลส่วนใหญ่ของ JFire สนับสนุนการขยายความสามารถซึ่งผู้ใช้ (ส่วนหนึ่ง) ไม่สามารถใข้ได้โดยตรง

 สถาปัตยกรรม 
JFire ประกอบไปด้วยสองส่วนหลัก ๆ คือส่วนเครื่องแม่ข่ายและส่วนเครื่องลูกข่ายหลากหลายชนิด ซึ่งเน้นไปที่ rich client นอกจากนั้นยังมีส่วนของเครื่องลูกข่ายที่เป็น JSP ที่รองรับการทำงานในส่วนของระบบบางส่วนเช่น ระบบซื้อขายหน้าร้าน บางโปรแกรมที่สร้างบน JFire ก็นำเครื่องลูกข่ายชนิดอื่นไปใช้ได้เช่นกัน (เช่น เครื่องลูกข่ายที่เป็นเครื่องมือไร้สายต่าง ๆ ผ่านทางระบบการควบคุมการเข้าถึงที่เรียกว่า Yak และเพราะว่า JFire เป็นระบบที่สามารถเชื่อมต่อระหว่างต่างองค์กร บริษัทได้โดยตรง ดังนั้นเครื่องแม่ข่ายจึงทำงานเสมือนเป็นเครื่องลูกข่ายเช่นกัน โดยแต่ละองค์กรจะมีฐานข้อมูล JDO ขององค์กรที่มีความปลอดภัยสูง ดังนั้นการติดต่อกันระหว่างองค์กรจึงต้องการข้อมูลที่จำเป็นสำหรับการแลกเปลี่ยนเท่านั้น

จากแนวความคิดของ framework JFire ถูกสร้างขึ้นโดยแบ่งเป็นหน่วยย่อย ๆ ที่อิสระต่อกัน ในส่วนของลูกข่ายนั้น จะประกอบไปด้วย plug-in ของ OSGi ที่อยู่บนพื้นฐานของ Eclipse Rich Platform (RCP) และในส่วนแม่ข่าย JFire จะประกอบด้วยส่วน JavaEE หลาย ๆ ส่วน และเนื่องจากการที่แบ่งเป็นส่วนย่อย ๆ นี้เอง JFire ถูกใช้ในโปรแกรมที่ไม่ใช่ระบบ ERP ด้วย เช่นระบบจัดการองค์กร เป็นต้น