Thursday 4 October 2007

Oracle ADF Business Component (BC4J) ตอนที่ 1 แนะนำให้รู้จัก

เพื่อน ๆ ที่อยู่ในวงการ Java คงรู้จัก EJB กันบ้างแล้ว วันนี้ผมขอแนะนำ Software อีกตัวของ Oracle ที่คล้าย ๆ กันครับ นั่นคือตัว BC4J หรือ เรียกเต็มๆว่า Business Component for Java

ตัวนี้เป็น Light Weight Persistence ต่างกับ EJB ตรงที่มันเป็น Heavy Weight Persistence จึงทำให้ Application Server ของเราไม่จำเป็นต้องมี EJB Container การทำงานจึงไม่หนักเท่า

ส่วนเรื่องการใช้สร้างก็ง่ายแสนง่าย เพราะเนื่องจากเราใช้ IDE JDeveloper ช่วย Generate Code ออกมาได้รวดเร็ว เพียงเลือกติดต่อ Database คลิ๊กไม่กี่ครั้งก็ได้น้อง ๆ EJB มาใช้งานได้เลยครับ

แต่ข้อเสียอย่างนึงก็คือ ถ้าจะให้เหมาะสมควรใช้กับ Database Oracle จึงจะดี เพราะ Feature ในการแปลงเป็น SQL ต่างๆนั้นจะ Support กับ SQL ของ Oracle เป็นส่วนใหญ่

แต่จริงๆแล้วจากที่ผมลองเล่นดูต่อกับ MySQL หรือว่า DB2 ก็ได้นะครับก็ไม่มีปัญหาอะไร ติดตรง License นี้หละครับ ^^ ถ้าจะเอาไปใช้งานจริงก็ต้องมี License


BC4J แบ่ง Layer การทำงานเป็น 3 Layer ตามรูปดังนี้

1. Entity Object Layer ชั้นนี้ถ้าเปรียบเทียบกับ EJB ก็คือ Entity Bean นั้นเองครับ หรือเปรียบเทียบได้กับ ORM ต่างๆ เช่นพวก Hibernate, Toplink, iBATIS เป็นต้น มันจะทำการ Map กับแต่ละ column ของ Table ให้อัตโนมัติ โดยแต่ละ Class ที่เกิดขึ้นก็จะ Map กับ 1 Table

2. View Object Layer ชั้นนี้ถ้าเปรียบเทียบกับ EJB ก็คือ Session Bean ของ Entity Bean นั้นเอง หรือเปรียบเที่ยบได้กับ DAO ของ ORM แบบต่างๆนั้นเอง มันจะทำการ สร้าง DML method หลักๆ เช่น Insert Update Delete ติดต่อกับ Entity Object ครับ รวมทั้งยังมี API ที่ช่วยจัดการในการ Search ที่อำนวยความสะดวกด้วยครับ

3. Application Module Layer ชั้นนี้ถ้าเปรียบเทียบกับ EJB ก็คือ Session Bean ที่เป็น Business Service นั้นเอง หรือเปรียบเทียบได้กับ Service ของ ORM แบบต่างๆนั้นเอง โดยหน้าที่หลักๆ คือเป็นชั้นที่รวม View Object เอาไว้ และรวม method ที่เกี่ยวกับ Business ต่างๆที่เกิดขึ้นในแต่ละ Module ครับ

คราวหน้าผมจะลงลึกแต่ละ Layer ให้นะคับ พร้อมกับตัวอย่างการสร้าง BC4J ด้วย JDeveloper ครับ

บทความที่เกี่ยวข้อง

1 comment:

JiChi said...

อ่านแล้วเห็นภาพดีครับ เปรียบเทียบ BC4J กัีบ EJB ^^