我们为什么要使用EJB?

什么是EJB,为什么要使用它? 请用简单的语言解释。 谢谢。

EJB或Enterprise Java Bean是普通的java clases(自3.0版本开始),带有注释,可以编写应用程序的bussines逻辑,然后在Java Enterprise Edition Server上部署(或安装)。

如果希望利用Java Enterprise Edition(Java EE)服务器提供的以下服务,则必须考虑使用EJB:

  • 集群。 您可以在集群环境(依赖于Java EE Application Server)上部署EJB,这为您提供了Fault Tolerance和High Availability。
  • 没有使用Threads的并发。 所有ejb都通过一个对象池进行实例化,然后您的应用程序在性能上获得并且没有Thread复杂性。
  • 通过JTA实现交易。 所有ejb都可以从不同资源的事务管理中受益,最重要的数据库,使用注释很容易划分每个事务的前沿并管理它们。
  • 连接池到数据库。 所有ejb都可以访问定义到Java EE Application Server中的连接池,这个连接池提供了数据库复杂性的抽象,例如,您可以使用XA数据源,使您可以对不同的数据库执行Two Faces Commit。
  • 安全。 所有ejb都可以使用JAAS来保护应用程序。 JAAS已配置到Java EE Application Server中,您可以通过配置(例如使用Active Directory,LDAP或数据库)通过不同的提供程序对EJB的方法进行身份validation和授权。
  • 安排服务。 所有ejb都可以使用Timer Service,它可以实现任务以便进一步执行或包含重复执行。

还有其他服务和好处,但我认为这些是最重要的。 如果您不需要这些好处,我的建议是您不使用EJB(并非所有应用程序都是企业应用程序)。

EJB bean专门用于实现应用程序的业务逻辑 。 因此,它们提供在实现此类逻辑时经常需要的服务,例如事务,注入实体管理器(用于JPA,Java Persistence API)和bean的池。

有关更详细的答案和更多参考资料,请参阅此内容: EJB的用途

用尽最基本的措辞; “EJB bean使通过JPA使用数据库变得更加容易”。

在EJB外部使用JPA需要大量冗长且容易出错的代码来获取实体管理器,启动事务并提交或回滚它。

使用EJB还有很多其他原因,但从经验来看,我认为这是首要原因。

Enterprise JavaBeans体系结构或简称EJB是一种用于开发和部署基于组件的健壮,高度可伸缩的业务应用程序的体系结构。 这些应用程序具有可扩展性,事务性和多用户安全性。 您可以开发一次应用程序,然后在任何一个符合Java EE 5的应用程序服务器上进行部署。 有许多应用程序服务器可用,包括免费和商业服务器。 您可以选择用于开发和部署的服务器以满足您的要求和预算。

EJB的好处

EJB简化了小型和大型企业应用程序的开发。 EJB容器为企业bean提供系统级服务,bean开发人员可以专注于开发逻辑来解决业务问题。

请参阅维基 ,了解更多细节

这里有一个较新的Java EE教程: http : //download.oracle.com/javaee/6/tutorial/doc/ 。 非常值得花时间和精力。

虽然维基百科可能是答案的忠实位置,但本文非常好地概述了EJB: http : //en.wikipedia.org/wiki/Enterprise_JavaBean 。

交易,远程等。也许买一本好的EJB书并阅读它,或做一些谷歌搜索。 从这里开始Java EE6 EJB 。 它可能会回答您的所有初始查询。