หลังจากที่ทำกันมานมนานมาก ในที่สุด JSR 220 EJB 3.0 ก็เดินทางมาถึงฝั่งฝันเสียที รุ่น Final Release ออกมาแล้วหลังจากออกรุ่นเค้าโครงร่างมาตลอด
ผมยังไม่สามารถหารายละเอียดว่ารุ่นนี้แตกต่างกับรุ่นเค้าโครงร่างสุดท้ายหรือไม่ แต่คาดไว้ว่าคงไม่ต่างกัน EJB3.0 มาพร้อมกับความสามารถที่น่าใช้กว่ารุ่น 2.0 มากมาย ไม่ว่าจะเป็นเรื่อง
* การใช้ Annotation ที่ผลิกโฉมการพัฒนาให้ทำได้ง่ายขึ้นมาก ลดการใช้ XML ลงอย่างเห็นได้ชัด และทำให้ผู้พัฒนาไม่ต้องสร้างคลาสบางส่วนที่เคยต้องสร้างในรุ่นก่อน * ห่อหุ้มความยุ่งยากของการมองหา dependency โดยการใช้ผ่าน JNDI แบบเก่าออกไป แล้วนำเทคนิกการใช้ dependency injection เข้ามาใช้แทน * Java Presistence API (JPA) เป็นส่วนหนึ่งของไฮไลต์ของ EJB3.0 ลาทีกับ EntityBean สุดนรก คุณสามารถทำกิจกรรมกับข้อมูลในคลาสให้เชื่อมโยงกับฐานข้อมูลอัตโนมัติ โดยยังทำงานอยู่บนมุมมองเชิงวัตถุ มันฉลาดพอที่จะจัดการคุณสมบัติการสืบทอดของคลาส คุณสมบัติ polymorphism ได้อย่างถูกต้อง โดยเราไม่ต้องเขียนคำสั่ง SQL เองโดยตรง * แต่ถึงกระนั้น ก็ยังมี EJB QL สำหรับเรียกใช้คำสั่งในการจัดการข้อมูลแบบขั้นสูงเตรียมไว้ให้ใช้ด้วยเหมือนกัน * และความสามารถอื่นๆ อีกมากมาย (แปะโป้งไว้ก่อนว่าจะทำ In-dept ให้ดู)
ใครสนใจจาวา ว่างๆ ก็โหลดมาลองเล่นกันดูนะครับ ที่ผมอยากแนะนำให้ลอง EJB3.0 อย่างนึงเพราะมันสามารถเรียนรู้ได้ง่าย และสามารถจะไต่ระดับไปยังงานขั้นสูงได้อย่างมีประสิทธิภาพ
ที่มา - JCP group
Comments
เดี๋ยวต้องเอามาลอง เล่น ดูซะแล้ว It's my life. Open your mind for the future.
เอ๋า คุณ dean4j ก็ฟิตๆ ไว้นะครับ BN ปลายปีได้มาสอนต่อ :)
Spring, EJB อยากให้ช่วยอธิบาย เทียบสองตัวนี้ ในความยากง่ายต่อการเข้าใจและใช้งาน รวมถึง เอกสาร tools ในการพัฒนา
plynoi - คงยากมั้งครับ คราวที่แล้วยังหาคนฟังผมรู้เรื่องน้อย
noyzilla - Spring ยืดหยุ่นกว่า EJB ครับ สามารถนำไปใช้ได้หลากหลายกว่า ทั้งระบบขนาดเล็ก ยัดลง Applet หรือเอามาสร้างเป็น enterprise app ก็ยังได้ ความสามารถส่วนที่ครอบคลุม EJB จะทำได้เก่งกว่า แต่บางความสามารถที่ EJB มีแต่ Spring ไม่มีหรือทำได้ด้อยกว่าก็มี เช่นเรื่อง distributed system
learning curve ผมให้ Spring เยอะกว่าแล้ว EJB encapsulate ความยากไว้มากกว่า ทำให้ EJB scale การเรียนรู้ของผู้ใช้มือใหม่ได้ง่ายกว่า สำหรับคนที่เป็นผู้ใช้ขั้นสูงแล้ว บางคนอาจชอบ Spring มากกว่า เพราะให้อำนาจในการควบคุมมากกว่า
ยังอ่าน Java Presistence ไม่จบเลย...
รอ (แปะโป้งไว้ก่อนว่าจะทำ In-dept ให้ดู) ครับ
กำลังจะเลือกซักตัวไว้ศึกษาระหว่า spring กับ EJB
* Java Presistence API (JPA) เป็นส่วนหนึ่งของไฮไลต์ของ EJB3.0 ลาทีกับ EntityBean สุดนรก คุณสามารถทำกิจกรรมกับข้อมูลในคลาสให้เชื่อมโยงกับฐานข้อมูลอัตโนมัติ โดยยังทำงานอยู่บนมุมมองเชิงวัตถุ มันฉลาดพอที่จะจัดการคุณสมบัติการสืบทอดของคลาส คุณสมบัติ polymorphism ได้อย่างถูกต้อง โดยเราไม่ต้องเขียนคำสั่ง SQL เองโดยตรง
จากตรงนี้หมายถึงไม่ตองใช้ hibernate เข้าช่วยหรือป่าวครับ ที่มาให้เกิด dali ใน eclipse หรือป่าวครับ