เรามีผลิตภัณฑ์ซึ่ง UI ได้รับการจัดทำแพ็กเกจเป็น WAR แยกต่างหาก และเซิร์ฟเวอร์ได้รับการจัดทำแพ็กเกจเป็นไฟล์ WAR แยกต่างหาก ขณะนี้ WAR ทั้งสองนี้ถูกปรับใช้ในคอนเทนเนอร์แอปเดียวกัน ด้านล่างนี้คือข้อดีและข้อเสียของแนวทางนี้ที่ฉันพบ:
ข้อดีของการมีสงครามที่แตกต่างกัน: 1. ฉันรู้สึกว่าการมี WAR ที่แตกต่างกันสองรายการทำให้ฉันมีความยืดหยุ่นในการปรับโครงสร้าง UI หรือโค้ดฝั่งเซิร์ฟเวอร์ใหม่โดยไม่ส่งผลกระทบต่ออีกฝ่าย 2. เพื่อเพิ่มการใช้งานหน่วยความจำให้สูงสุด ฉันสามารถปรับใช้ในคอนเทนเนอร์ที่แตกต่างกันสองแห่ง ดังนั้นหากก่อนหน้านี้ฉันใช้ 2 GB สำหรับ jboss ทั้งหมด (บอกว่าฉันใช้ jboss) ตอนนี้ฉันสามารถใช้ 4 gb ได้หากปรับใช้ในเซิร์ฟเวอร์แอป jboss สองเซิร์ฟเวอร์ที่แตกต่างกัน (แน่นอนว่าหมายเลขพอร์ตต่างกัน) 3. ฉันสามารถปรับขนาดแอปพลิเคชันของฉันได้ หากพรุ่งนี้ ฉันเห็นว่าเซิร์ฟเวอร์นั้นเป็นคอขวดของฉัน ฉันสามารถสร้างเซิร์ฟเวอร์ฟาร์มได้ (สำหรับโมดูลเซิร์ฟเวอร์ของฉันเท่านั้น) เนื่องจากเซิร์ฟเวอร์นั้นเป็น WAR ที่แตกต่างออกไป โดยไม่ต้องกังวลกับ UI WAR 4. เชื่อมต่ออย่างหลวมๆ และให้คะแนนการบูรณาการต่างๆ แก่ฉัน
จุดด้อย: 1. สำหรับ UI ฉันใช้ไพรม์เฟซ ฉันไม่เห็นกรณีการใช้งานที่ฉันเห็นเฟรมเวิร์กการรวม เช่น การเพิ่มมูลค่าของตะเข็บ ใครช่วยบอกฉันได้ไหมว่าการมีกรอบการทำงานบูรณาการจะสมเหตุสมผลสำหรับสงคราม UI ของฉันหรือไม่ โดยพื้นฐานแล้ว ความสนุกทั้งหมดของตะเข็บคือการบูรณาการที่ยอดเยี่ยมที่มีให้กับ UI, EJB เหนือสิ่งอื่นใด ดังนั้นฉันจึงไม่เห็นคุณค่ามากเกินไปที่นี่ เพราะแบบฟอร์มของฉันจะขอให้ API ที่เหลือทำการประมวลผลทั้งหมด
ใครช่วยบอกฉันหน่อยได้ไหมว่าการมีสงครามหลายครั้งช่วยในการปรับขนาดและการบำรุงรักษาได้จริงหรือไม่ เช่น ข้อดีประการหนึ่งที่ฉันเห็นคือหากฉันมีสงครามสองครั้งและจำเป็นต้องอัปเกรดแพลตฟอร์มเซิร์ฟเวอร์ ฉันไม่จำเป็นต้องปิด UI ของฉัน ประโยชน์อื่นใดนอกเหนือจากที่ฉันได้ระบุไว้ข้างต้น?
นอกจากนี้ ฉันต้องการทำความเข้าใจว่าหากทุกอย่างถูกบรรจุเป็น EAR คุณจะปรับขนาดเลเยอร์เฉพาะของสถาปัตยกรรมของเราได้อย่างไร ตามที่กล่าวไว้ข้างต้น หากฉันรู้สึกว่าเลเยอร์เซิร์ฟเวอร์เป็นจุดคอขวด ในกรณีของ WAR/EAR หนึ่งรายการ ฉันจะปรับขนาดแอปพลิเคชันของฉันได้อย่างไร
ฉันยังไม่แน่ใจว่าฉันต้องดำเนินการกับโมเดลของ WAR ที่แตกต่างกันในเซิร์ฟเวอร์แอปพลิเคชันที่แตกต่างกันต่อไปหรือไม่ หรือฉันควรมี WAR เพียงอันเดียวสำหรับแอปพลิเคชันทั้งหมดของฉัน กรุณาชี้แนะ...