Local and Remote EJB Interfaces

posted on 12 Nov 2004 14:57 by somkiat

ใน EJB 2.0 specification นั้นจะกำหนด remote client view และ local client view โดย local client view จะมีทั้งใน session bean และ entity bean ประกอบด้วย local home interface และ local component interface ไม่ได้มาแทน remote home interface และ remote component interface แต่ว่าใช้ในกรณีที่แตกต่างกัน ซึ่งจะอธิบายต่อไป

1. เมื่อไรควรจะใช้ Local หรือ Remote Component

1.1 เมื่อจำเป็นต้องใช้ในระบบ distributed (ejb จะถูก deploy ที่ใดก็ได้) ต้องเลือกใช้ Remote Clent View
1.2 ใช้ Remote Client View เมื่อต้องการ pass parameter แบบ pass-by-value
1.3 ใช้ LocalClient View เมื่อต้องการ pass parameter แบบ pass-by-reference
โดยการ pass parameter แบบ pass-by-reference นั้นจะช่วยเพิ่มประสิทธิภาพการทำงาน bean เนื่องจากไม่จำเป็นต้องทำการ copy data

1.4 ใช้ Remote Client View เมื่อต้องการให้ bean ที่อยู่ต่าง JVM สามารถเรียกใช้งานได้
1.5 ใช้ Local Client View เมื่อต้องการให้ bean ที่อยู่ต่าง JVM สามารถเรียกใช้งานได้
1.6 ในการใช้งานจริงนั้น Entity Bean จะใช้ Local Client View เนื่องจากส่วนใหญ่จะทำงานใน JVM/Container เดียวกัน
แต่จะใช้ Remote Client View กับ Session Bean เพื่อควบคุมการเรียกใช้งาน Entity Bean ซึ่ง Session Bean นี้จะเรียกว่า
Session Facase นั่นเอง
1.7 Entity Bean ถ้าต้องการใช้ CMR (Container Managed Relationship) แล้วจะต้องใช้ Local Client View เสมอ

ถ้าในเรื่องของ performance ของ Local/Remote Client View

1. ในการสร้าง Remote Client View นั้นจำเป็นจะต้องสร้าง Stub, Skeleton ซึ่งใช้ resource จำนวนมาก
2. ในการส่งข้อมูลที่มีความซับซ้อนเช่น Collection ผ่าน network แล้วนั้น จะมี overhead จำนวนมาก ซึ่งทำให้เปลือง bandwidth อย่างมาก

แก้ไขเมื่อ 12/11/2547 15:51:44

Comment

Comment:

Tweet