应用程序客户端和独立客户端之间的区别

正如标题所示,这与Java EE和Glassfish有关。

据我所知,应用程序客户端在一些能够与glassfish交谈的应用程序客户端中执行。 但是关于注释似乎存在局限性。

  1. 有人能举例说明从两种不同的应用程序类型连接到glassfish应用程序服务器的区别吗?

  2. 应用程序客户端方法的好处是什么,以及在为Java EE开发应用程序客户端时最常用的方法是什么?

在任何一种情况下,与连接到应用服务器相关联的代码(您需要做的工作)实际上并不是那么难……但它包含在不同的文档中。

这些是有关如何从独立Java应用程序访问EJB的说明 。

以下是使用应用程序客户端通过GlassFish v3从Java EE 6应用程序客户端访问EJB的说明:http://docs.sun.com/app/docs/doc/820-7695/beakt?l = en&a =视图

从应用程序客户端访问EJB使您可以“自动”访问更多Java EE服务,而不是直接使用EJB。 您可以在独立案例中拼凑访问其中一些服务,但负担转移到应用程序开发人员/部署人员以使该访问工作。

在短期内,创建一个访问EJB的独立应用程序看起来很容易,很多人都会投资该策略。 如果他们将客户端应用程序部署到大量计算机上,则与拼凑在一起的服务访问策略相关的负担可能成为负担。

部署使用应用程序客户端容器的应用程序客户端也不是免费的。 优点是您可以获得应用服务器供应商的支持,以克服部署问题。

如果您使用的是GlassFish(v2.1,v2.1.1或v3),您还可以利用Java Web Start支持,这大大简化了客户端应用程序部署。

应用程序客户端实际上在容器中运行,并且具有对服务器上定义的Java EE资源的完全访问权限,其方式与Servlet或EJB相同。 这通常用于某种类型的管理客户端,而不是用户应用程序。 这是一个解释 。

除了Java EE应用程序客户端之外,还有瘦客户端的概念,它允许访问某些Java EE资源,但不像App Client那样容易。 它通常涉及使用绝对名称的JNDI查找,因为JNDI引用不可用。 这种情况的典型情况是JMS消息的独立生产者/消费者。 它基本上是完整App Client的轻量级选项。

如果您只是创建一个用户应用程序,您很可能希望使用瘦客户端模型,或者只是通过servlet或Web服务调用从Java EE应用程序中获取服务的普通旧应用程序。