Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我们为什么要使用EJB?_Java_Ejb 3.0 - Fatal编程技术网

Java 我们为什么要使用EJB?

Java 我们为什么要使用EJB?,java,ejb-3.0,Java,Ejb 3.0,什么是EJB,我们为什么要使用它?请用简单的语言解释。谢谢。事务、远程等。也许可以买一本好的EJB书读一读,或者做一些谷歌搜索。从这里开始。它可能回答了您最初的所有疑问。企业JavaBeans架构(简称EJB)是一种用于开发和部署基于组件的健壮、高度可扩展的业务应用程序的架构。这些应用程序具有可扩展性、事务性和多用户安全性。您可以开发应用程序一次,然后部署到任何一个符合JavaEE5的应用程序服务器上。有许多可用的应用服务器,包括免费的和商用的。您可以选择服务器进行开发和部署,以满足您的需求和预

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

事务、远程等。也许可以买一本好的EJB书读一读,或者做一些谷歌搜索。从这里开始。它可能回答了您最初的所有疑问。

企业JavaBeans架构(简称EJB)是一种用于开发和部署基于组件的健壮、高度可扩展的业务应用程序的架构。这些应用程序具有可扩展性、事务性和多用户安全性。您可以开发应用程序一次,然后部署到任何一个符合JavaEE5的应用程序服务器上。有许多可用的应用服务器,包括免费的和商用的。您可以选择服务器进行开发和部署,以满足您的需求和预算

EJB的好处

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


请参阅中,以获取更多详细信息。ejbbean是专门为实现应用程序的业务逻辑而设计的。因此,它们提供了在实现此类逻辑时经常需要的服务,例如事务、实体管理器的注入(用于JPA、Java持久性API)和bean池

有关更详细的答案和更多参考资料,请参见以下内容:

尽可能用最基本的措辞;“ejbbean使通过JPA处理数据库变得更加容易”

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


使用EJB还有很多其他原因,但根据经验,我认为这是第一个原因。

这里有一个更新的JavaEE教程:。值得花时间和精力


虽然Wikipedia可能是回答这些问题的老生常谈的地方,但本文很好地概述了EJB是什么:。

EJB或企业Java Bean是纯Java类(从3.0版开始),带有注释,可以让您编写应用程序的业务逻辑,然后部署(或安装)在Java企业版服务器上

<> P>如果您想利用java企业版(JavaEnterprise Enterprise,java EE)服务器提供的以下服务:您必须考虑使用EJB:

  • 集群。您可以在集群环境(依赖于JavaEE应用服务器)上部署EJB,这为您提供了容错性和高可用性
  • 不使用线程的并发性。所有EJB都是通过对象池实例化的,这样您的应用程序就可以提高性能,而不会增加线程复杂性
  • 通过JTA实现交易性。所有EJB都可以受益于对不同资源(最重要的数据库)的事务性管理,使用注释很容易划分每个事务的边界并对其进行管理
  • 连接到数据库的连接池。所有ejb都可以访问定义在JavaEE应用服务器中的连接池,这个连接池提供了数据库复杂性的抽象,举例来说,您可以使用XA数据源,使您能够对不同的数据库进行两阶段提交
  • 安全。所有ejb都可以使用JAAS来保护应用程序。JAAS被配置到javaee应用服务器中,并允许您通过不同的提供者(例如使用activedirectory、LDAP或数据库)对EJB的方法进行身份验证和授权
  • 安排服务。所有ejb都可以使用计时器服务,使您能够实现任务以进一步执行或包含重复执行

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

mwhah,是的,Java EE 5教程已经有5年的历史了,这在互联网时代是很古老的。另一方面,它涵盖了EJB3,这仍然是非常流行的。EJB3.1更像是一种进化增强,没有改变任何关于基础架构的内容。>
所有EJB都可以使用JAAS来保护应用程序的安全
-这是不正确的。EJB不使用JAAS。安全bean(例如通过
@RolesAllowed
)要求容器对用户/调用者进行身份验证,但规范未说明此过程应通过何种机制进行。容器实现可以基于JAAS或者完全使用其他东西。查看这些了解更多详细信息:有时我觉得有必要让stackoverflow审查指导原则,一些技术新手希望有人用简单的英语解释,还有什么平台比stackoverflow更好?这个问题是近10年前提出来的,现在我也在问同样的问题。下面是@Arjan Tijms的答案,这是我能想到的最简单的答案--“EJB bean是专门为实现应用程序的业务逻辑而设计的。因此,它们提供了在实现此类逻辑时经常需要的服务,例如事务、实体管理器的注入(用于JPA、Java持久性API)和bean池。”