คือผมต้องการแยก jar file ในส่วนของ domain และ servince ออกไปจาก war ที่มัดรวมอยู่กับ view และ controller ประเด็นคือต้องการแยก tier ไห้ domain และ servince อยู่ใน business tier server และอยู่ต่างเครื่อง กับ view และ controller จะทำยังไงไห้มันสามารถคุยกันได้ครับ ใช้ remote plugin เข้ามาช่วยรึปร่าวครับ ช่วยแนะนำหน่อยครับว่า เป็นไปได้ไหม และยังไง
April 16th, 2010 at 1:39 pm
ประเด็นนี้ผมแนะนำ REST ครับ โดยข้อมูลที่ส่งและรับจะเป็นพวก XML หรือว่า JSON ก็แล้วแต่ความชอบ
ในการ implement ระบบไม่จำเป็นต้องแยก domain/controller/view ออกจากกัน แต่ผมแนะนำให้สร้าง Grails Project แยกกันเลยดีกว่า ซึ่งให้ทำงานแยกกันไป เช่น
Project 1 :: ทำงานเกี่ยวกับการแสดงผลอย่างเดียว โดยจะเรียกใช้งาน REST APIs จาก project 2 ผ่าน AJAX หรือพวก HTTP Client หรือ curl ก็เป็นไปได้
Project 2 :: ทำงานเกี่ยวกับการให้บริการข้อมูลต่างๆ ผ่าน REST APIs
ส่วนถ้าต้องการทำส่วนของ business หนักๆ ผมแนะนำให้เขียนด้วย java เช่น Spring , EJB3 มาควบคุม และ แยกเครื่องไปเลย [ Business Logic Server ] แล้วติดต่อผ่านพวก Remote Protocol เช่น RMIIOP, RMI, XML-RPC เป็นต้นครับ
April 16th, 2010 at 2:25 pm
ตอนนี้ผมใช้ Remote plugin อยู่ครับ ใช้ hessian ในการคุยครับ อยากทราบว่าจะมีปัญหาไหม เนื่องจากทั้ง โปรเจ็กต้องคุยกัน แบบนี้หมด แล้ว view จะ inspect domain ยังไง เช่น ${customer.name} เพราะมันมองไม่เห็นนิครับ
April 27th, 2010 at 10:34 am
ผมว่าแต่ละส่วนให้คุยผ่าน REST APIs หรือ WebServices น่าจะดีกว่านะครับ