我们为什么要使用EJB?

时间:2011-05-09 12:14:33

标签: java ejb-3.0

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

5 个答案:

答案 0 :(得分:25)

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。
  • 不使用线程的并发。所有ejb都通过一个对象池进行实例化,然后您的应用程序可以获得性能并且不会出现Thread复杂性。
  • 通过JTA进行交易。所有ejb都可以从不同资源的事务管理中受益,最重要的数据库,使用注释很容易划分每个事务的前沿并管理它们。
  • 连接池到数据库。所有ejb都可以访问定义到Java EE Application Server中的连接池,这个连接池提供了数据库复杂性的抽象,例如,您可以使用XA数据源,使您能够对不同的数据库执行Two Faces Commit。
  • 安全。所有ejb都可以使用JAAS来保护应用程序。 JAAS已配置到Java EE Application Server中,您可以通过配置(例如使用Active Directory,LDAP或数据库)通过不同的提供程序对EJB的方法进行身份验证和授权。
  • 安排服务。所有ejb都可以使用定时服务,使您可以执行任务以进行进一步执行或包含重复执行。

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

答案 1 :(得分:13)

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

有关更详细的答案和更多参考资料,请参阅此处:What use are EJBs

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

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

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

答案 2 :(得分:8)

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

EJB的好处

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

请参阅wiki了解更多详细信息

答案 3 :(得分:1)

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

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

答案 4 :(得分:0)

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