在這個技術專欄中,Brett McLaughlin 將向大家講述EJB開發(fā)中的最佳實踐,通過這個系列文章學習,可以使EJB開發(fā)人員了解到如何更好的使用EJB技術。
驗證助手類
設計良好的驗證過程可以提高數(shù)據(jù)完整性、確保您的應用程序順利運行并使未來的數(shù)據(jù)更改更易于處理。在這一期的 EJB 最佳實踐中,Brett McLaughlin 擴充了上一篇技巧文章中討論的驗證技術,并改進了最初的概念。
構建更好的異常處理框
企業(yè)應用程序在構建時常常對異常處理關注甚少,這會造成對低級異常(如 java.rmi.RemoteException 和 javax.naming.NamingException)的過度依賴。在 EJB 最佳實踐的這篇專欄文章中,Brett McLaughlin 解釋了為什么對異常處理投入一點關注就會給我們帶來很大的幫助,并向您展示了兩種簡單技術,它們將幫助您正確地構建更健壯且有用的異常處理框架。
改進遠程對象設計
在這一新系列文章中,您將學習如何最佳設計和優(yōu)化 Enterprise JavaBeans 組件、如何減少 RMI 通信和 JNDI 訪問以及最有效地使用企業(yè)應用程序。在每篇技巧文章中,企業(yè) Java 編程方面的主要權威人士 Brett McLaughlin 將提供最佳實踐或設計模式。許多技巧文章將建立在前面的文章之上。建議您按順序閱讀這些技巧文章,因為它們將幫助您構建有助于您自己的企業(yè)應用程序編程的策略和設計方法。在本篇(也是第一篇)技巧文章中,Brett 演示了業(yè)務接口模式如何能夠改進遠程對象設計。
用值對象加速您的 RMI 事務
EJB 組件的一個比較常見的用途是在關系型數(shù)據(jù)管理領域。與 RMI 結合起來,EJB 組件讓您不必鉆研 JDBC 就可以從關系數(shù)據(jù)庫訪問數(shù)據(jù)。但這種抽象是要付出代價的:RMI 很慢,通常是極慢。那么,竅門就是找到一種方法來保持 EJB 技術的所有優(yōu)點而又沒有使用 RMI 的巨大開銷。在這篇技巧文章中,您將看到值對象(也稱為對象映射)是如何幫助您繞開最嚴重的 RMI 速度障礙的。您將首先從一個工作示例開始,然后了解代碼是怎樣工作的。
工業(yè)強度的 JNDI 優(yōu)化
Brett McLaughlin 在這篇 EJB 最佳實踐專欄文章中研究了 JNDI 查找,它是幾乎所有的 EJB 交互中不可或缺并且常見的部分。遺憾的是,JNDI 操作幾乎總是需要性能開銷。在本技巧文章中,Brett 向您展示了 home 接口工廠是如何降低您 EJB 應用程序中 JNDI 查找開銷的。
實體 bean 保護
如何才能使用戶可以訪問您的應用程序數(shù)據(jù),又不會將您的實體 bean 直接暴露給 Web 層,從而不會使您的應用程序面臨安全性威脅?Brett McLaughlin 提供了一個解決方案,它可使您的實體 bean 很安全,并且使您的整個應用程序有效率地運行。
動態(tài)委派
盡管業(yè)務委派類確實給您的企業(yè) Java 設計帶來了激動人心的新靈活性,但為您應用程序中的每個會話 bean 都編碼一個業(yè)務委派還是太麻煩了。在 EJB 最佳實踐系列的這篇文章里,Brett McLaughlin 向您展示了如何創(chuàng)建業(yè)務委派類的更通用的版本:動態(tài)委派。
數(shù)據(jù)驗證出現(xiàn)在什么地方最合適
盡管數(shù)據(jù)驗證是所有企業(yè)應用程序的必需組件,但人們對數(shù)據(jù)驗證過程的理解通常很膚淺,并且不能很好地執(zhí)行。在這篇 EJB 最佳實踐專欄文章中,Brett McLaughlin 解釋了對基于 EJB 技術的系統(tǒng)進行數(shù)據(jù)驗證的一些幕后概念,并向您展示了如何避免意外的或不可理解的錯誤消息。