最重要的Java EE最佳实践 - 编程入门网
够的粒度访问控制以满足复杂的业务规则。尽管事实是这样的,但这也不应该 成为不使用 Java EE 安全性的理由。相反地,应该将 Java EE 验证及 Java EE 角色与特定的扩展规则结合起来。如果复杂的业务规则需要做出安全性决策,那 就编写相应的代码,其安全性决策要基于可以直接使用的以及可靠的 Java EE 验 证信息(用户 ID 和角色)。(有关授权的更详细的信息,请参见 [Ilechko]。 )
最重要的Java EE最佳实践(5)时间:2011-08-26 IBM Keys Botzum等6. 创建您所知道的。 反复的开发工作将使您能够逐渐地掌握所有的 Java EE 模块。要从创建小 而简单的模块开始而不是从一开始就马上涉及到所有的模块。 我们必须承认 Java EE 是庞大的体系。如果一个开发团队只是开始使用 Java EE,这将很难一下子就能掌握它。在 Java EE 中有太多的概念和 API 需要掌握 。在这种情况下,成功掌握 Java EE 的关键是从简单的步骤开始做起。 这种方法可以通过在您的应用程序中创建小而简单的模块来得到最好的实现。 如果一个开发团队通过创建一个简单的域模型以及后端的持久性机制(也许使用 的是 JDBC),并且对其进行了完整的测试,这会增强他们的自信心,于是他们会 使用该域模型去掌握使用 Servlet 和 JSP 的前端开发。如果一个开发团队发现 有必要使用 EJB,他们也会类似地开始在容器管理的持久性 EJB 组件之上使用简 单的会话 Facade,或者使用基于 JDBC 的数据访问对象(JDBC-based Data Access Objects,DAO),而不是跳过这些去使用更加复杂的构造(例如消息驱动 的 Bean 和 JMS)。 这种方法并不是什么新方法,但是很少有开发团队以这种方式来培养他们的技 能。相反地,多数开发团队由于尝试马上就构建所有的模块,同时涉及 MVC 中的 视图层、模型层和控制器层,这样做的结果是他们往往会陷入进度的压力之中。 他们应该考虑一些敏捷(Agile)开发方法,例如极限编程(XP),这种开发方法 采用一种增量学习及开发方法。在 XP 中有一种称为 ModelFirst [Wiki] 的过程 ,这个过程涉及到首先构建域模型作为一种机制来组织和实现用户场景。基本说 来,您要构建域模型作为您要实现的用户场景的首要部分,然后在域模型之上构 建一个用户界面(UI)作为用户场景实现的结果。这种方法非常适合让一个开发 团队一次只学到一种技术,而不是让他们同时面对很多种情况(或者让他们读很 多书),这会令他们崩溃的。 还有,对每个应用程序层重复的开发可能会包含一些适当的模式及最佳实践。 如果您从应用程序的底层开始应用一些模式(如数据访问对象和会话 Facade), 您就不应该在您的JSP和其他视图对象中使用域逻辑。 最后,当您开发一些简单的模块时,在开始的初期就可以对您的应用程序进行 性能测试。如果直到应用程序开发的后期才进行性能测试的话,这往往会出现灾 难性的后果,正如 [Joines] 所述。 7. 当使用 EJB 组件时,始终使用会话 Facade。 在体系结构合适的情况下,使用本地 EJB。 当使用 EJB 组件时,使用会话 Facade 是一个确认无疑的最佳实践。实际上 ,这个通用的实践被广泛地应用到任何分布式技术中,包括 CORBA、EJB 和 DCOM 。从根本上讲,您的应用程序的分布“交叉区域”越是底层化,对小块的数据由 于多次重复的网络中继造成的时间消耗就越少。要达到这个目的的方法是,创建 大粒度的 Facades 对象,这个对象包含逻辑子系统,因而可以通过一个方法调用 就可以完成一些有用的业务功能。这种方法不但能够降低网络开销,而且在 EJB 内部通过为整个业务功能创建一个事务环境也可以大大地减少对数据库的访问次 数。[Alur] 对这种模式进行了规范的表示,[Fowler](并且包括除 EJB 之外的 情况)和 [Marinescu] |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |