คือผมต้องการแยก jar file ในส่วนของ domain และ servince ออกไปจาก war ที่มัดรวมอยู่กับ view และ controller ประเด็นคือต้องการแยก tier ไห้ domain และ servince อยู่ใน business tier server และอยู่ต่างเครื่อง กับ view และ controller จะทำยังไงไห้มันสามารถคุยกันได้ครับ ใช้ remote plugin เข้ามาช่วยรึปร่าวครับ ช่วยแนะนำหน่อยครับว่า เป็นไปได้ไหม และยังไง

3 Responses to “ขอปรึกษาเรื่อง grials ในการแยก tier หน่อยครับ”

  1. ประเด็นนี้ผมแนะนำ 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 เป็นต้นครับ

  2. ตอนนี้ผมใช้ Remote plugin อยู่ครับ ใช้ hessian ในการคุยครับ อยากทราบว่าจะมีปัญหาไหม เนื่องจากทั้ง โปรเจ็กต้องคุยกัน แบบนี้หมด แล้ว view จะ inspect domain ยังไง เช่น ${customer.name} เพราะมันมองไม่เห็นนิครับ

  3. ผมว่าแต่ละส่วนให้คุยผ่าน REST APIs หรือ WebServices น่าจะดีกว่านะครับ

Leave a Reply