Java for Google App Engine和Java EE的核心区别是什么?

2022-09-03 05:51:58

Java for Google App Engine和Java EE的核心区别是什么?(我根本不熟悉Java,所以你能不能解释一下什么是一般的差异,以及学习什么对简历更好)


答案 1

Google App Engine for Java建立在webapp容器(Jetty)之上,因此它显然只提供Java EE的一个子集,但有一些限制(但也增加了使用标准化API利用其基础架构的功能):

  • Servlets 2.4, JSP 2.0
  • 部分支持 JDO 和 JPA 对数据存储
  • JavaMail for...邮件
  • 贾克斯布
  • 用于 XML 处理 API 的 DOM、SAX 和 XSLT

不支持的 Java EE API 和技术包括:

  • Enterprise Java Beans (EJB)
  • JAX-RPC
  • JAX-WS
  • Java Database Connectivity (JDBC)
  • Java EE™ Connector Architecture (JCA)
  • Java Management Extensions (JMX)
  • Java Message Service (JMS)
  • Java 命名和目录接口 (JNDI)
  • 远程方法调用 (RMI)

更多细节,请参阅它将在 App Engine 中播放。

顺便说一句,我们不再说J2EE了,自2005年以来,它是Java EE:)


答案 2

第一个说 Appengine 是 Java EE 的子集的说法是正确的,但它遗漏了一些信息。

Google Appengine确实支持Java EE的子集,但Java EE也支持Appengine技术的一个子集。

Appengine附带了高复制数据存储和弹性扩展。因此,您无需为空闲的服务器付费。Appengine支持Web Hooks,这是一项新技术,可以用来做类似JMS的事情。JNDI不受支持是有原因的,因为在Google Appengine中获取服务是通过一个简单的Java API完成的。从而简化了模型。RMI在appengine的内部使用很多,如果需要,您可以自己使用它。然而,在 appengine 中使用 RMI 并没有多大意义,因为机器间通信可以通过 XMPP 或高复制来完成。

因此,使用Appengine,您可以开发与Java EE类似的应用程序,但是您受制于Google的基础架构。许多繁重的工作,如机器配置,网络配置,扩展,都是自动完成的。因此,不需要一个大型的系统工程团队。

总而言之,Java EE是老方法,被大公司使用。Appengine被那些希望增长非常快并需要扩展的初创公司使用,但也不是小的启动成本。


推荐