2014-05-24 54 views
0

我想了解EJB的概念,但它很模糊。 我阅读了关于EJB服务器和EJB容器的知识,以及EJB容器在EJB服务器中运行。我也知道,这两个都提供资源/服务,这是在这个时候出现我的问题...EJB服务器和EJB容器提供的功能有什么区别?

每个提供的资源/服务是什么?

非常感谢大家的帮助。

回答

2

“EJB服务器”

总之, “EJB服务器” 仅仅是具有EJB实现任何Application Server的标签。正确的定义是Java EE Server

例如,Glassfish和JBossAS都有自己的EJB容器。出于这个原因,有些人称他们为“EJB服务器”。 This page有一个“EJB服务器”列表,它们被这样调用,因为它们实现了EJB规范,这意味着存在EJB容器。

但它不是一个正式的定义,更像一个软约定。

EJB容器

现在,这是实际的EJB服务提供商,做所有的工作。它为您提供应用程序服务,如事务控制和安全性,并遵循定义的EJB Specification

当您部署会话Bean时,EJB容器负责其生命周期,事务,注入以及其他任务。详情here

official source

EJB容器:管理企业bean的Java EE 应用程序的执行。企业bean及其容器在Java EE 服务器上运行。

现在,我做了一些上下文定义,让我们试着来回答你的问题:

的资源/服务的每一个提供什么样的?

EJB服务器

的 “EJB服务器” 提供了一个EJB容器。而已。正如我早期的表述,这只是一个标签,而不是一个正式的定义。在大多数情况下,您拥有的是像Glassfish这样的Java EE服务器,它最终为您提供比EJB更多的服务,例如encription,Web Container等。

如果我们坚持这样的逻辑,比如GlassFish服务器也可以被称为:

  • Servlet的服务器
  • Web服务器
  • JMS服务器
  • JSP服务器

你能看到这是怎么回事吗?

EJB容器

EJB容器实现提供EJB规范中定义的资源和服务。例如,它根据规范进行交易管理。

根据具体情况,有很多技术或术语可能有不同的含义。 Web服务和SOA就是一些例子。

相关问题