什么是EJB?
EJB:EnterpriseJavaBean,企业级JavaBean。EJB是实现分布式业务逻辑的Java组件,EJB在应用服务器的EJB容器内运行,由容器提供所有基本的中间层服务。采用Enterprice JavaBeans架构编写的应用是可伸缩的、事务性的、多用户安全的。采用ejb编写的这些应用,可以部署在任何支持Enterprice JavaBeans规范的服务器平台,如jboss、weblogic等。
什么情况下需要使用EJB?
(1) 最重要的理由:分布式!分布式对象之间互相协作,完成特定的业务功能。分布式对象之间应实现分布透明性(或位置透明性)。即在客户端代码中无需指定分布式对象的位置(通过配置来解决)。
(2)分布式对象之间的事务支持(RMI不支持事务)
(3) 应用程序需要支持不同的客户端,只需要少量的代码,就可以让远程客户端访问到企业Bean。
(4)如果你的应用需要进行分布式部署、如果你的分布式对象需要支持事务、如果你的关键业务逻辑需要能够支持多种不同类型的客户端,那么EJB将会是一个很好的选择。
什么情况下不建议使用EJB?
小型系统和不需要事务的系统。
EJB的好处:
EJB为我们提供了很多在企业开发中需要使用到的服务,如事务管理、安全、持久化、分布式等,因为这些服务由容器提供,无需我们自行开发,这样大大减少了我们的开发工作量。另外EJB提供了强制式分层解耦设计方法。
EJB提供了事务机制,EJB的事务机制非常周全,但事务机制带来的缺点是性能的降低,因此,有些人认为EJB很重,因为在实际应用中,有的用户系统可能不需要事务机制,只是需要EJB提供的性能优化机制,这样,如果使用EJB,就象叫一个人来背东西,他除了背着我要的东西外,还背着我不要的东西。除非你是一个完美主义,在一般企业应用或数据库系统应用中,EJB不会对你构成很重的包袱。