1. 数据验证出现在什么地方最合适
数据验证分为纯数据类型的验证和业务规则的验证。
前者没有业务规则的限制,所有放在“靠近客户机”的地方(比如:委派)实现合适,而 不是在bean中完成,这样节省JNDI 查找、RMI 流量以及(可能有)额外的业务逻辑的代价。后者解决特定于业务的错误要求使用额外的实体和会话 bean 以及数据库访问,这些都必须通过 JNDI 和 RMI 事务进行处理,所以放在bean中处理合适。在将该验证放置在应用程序的这一层时,所有 RMI 流量都应该是本地的;大多数应用程序服务器都将使用 VM 内的优化,以使 bean-到-bean 交互速度极快。您也可以避免 JNDI 访问,因为许多 bean 已经查找了相关 bean 的主(home)接口。此外,您的业务委派已经处理了所有必要的数据格式验证。
总结:在决定将验证代码放置在哪里时,很重要的是能够分辨两种验证类型。数据验证是比业务验证简单得多的验证类型,一般的经验是使它尽可能靠近客户机。特定于业务的验证更复杂,并通常需要几种不同的事务来完成。这类验证应该放在 EJB 层,在那里,它可以尽可能地利用现有的进程。
来源:http://www-900.ibm.com/developerworks/cn/java/j-ejb1217/index.shtml
日期: 09/07/04AM