【问题标题】:What is core difference between Java for Google App Engine and Java EE?Java for Google App Engine 和 Java EE 的核心区别是什么?
【发布时间】:2011-03-06 01:12:54
【问题描述】:

Java for Google App Engine 和 Java EE 的核心区别是什么? (我对 Java 完全不熟悉,所以请您解释一下总体上有何不同以及学习哪些内容更适合简历)

【问题讨论】:

    标签: java google-app-engine jakarta-ee


    【解决方案1】:

    Google App Engine for Java 是基于 webapp 容器 (Jetty) 构建的,因此它显然只提供 Java EE 的一个子集,并带有一些限制(但也有附加功能可以利用他们使用标准化 API 的基础设施):

    • Servlet 2.4、JSP 2.0
    • 为数据存储提供部分 JDO 和 JPA 支持
    • JavaMail 用于...邮件
    • JAXB
    • 用于 XML 处理 API 的 DOM、SAX 和 XSLT

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

    • 企业 Java Bean (EJB)
    • JAX-RPC
    • JAX-WS
    • Java 数据库连接 (JDBC)
    • Java EE™ 连接器架构 (JCA)
    • Java 管理扩展 (JMX)
    • Java 消息服务 (JMS)
    • Java 命名和目录接口 (JNDI)
    • 远程方法调用 (RMI)

    更多详情请见Will it play in App Engine

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

    【讨论】:

    • 而且他们不提供全文搜索! :-((有人告诉我 Lucene 已移植,但由于线程而失败)
    • @Vladimir 是的,真是讽刺!
    • Google 不提供搜索,它非常酷 +1 Pascal Thivent!)
    • 这个答案有点偏颇。 Google Appengine 确实支持 J2EE 的一个子集,但 J2EE 也支持 Appengine 技术的一个子集。
    • @Pascal: 死链接 -> “它会在 App Engine 中播放吗?”
    【解决方案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 或通过 High Replication 完成。

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

    总而言之,Java EE 是大公司使用的旧方式。 Appengine 被希望快速增长并需要扩展,但启动成本也不低的初创公司使用。

    【讨论】:

    • 注意:现在的前进方向是 Kubernetes 和 Dockerize 东西 :-) Appengine 还是不错的
    【解决方案3】:

    Google App 引擎提供了您可以使用底层机器执行的有限的子集。最大的问题是您无法访问本地存储,并且您的请求处理必须在指定的时间限制内完成,否则您的任务将被终止。

    【讨论】:

      【解决方案4】:

      语言没有区别:它们都是 Java。不同之处在于您可以使用哪些类库。

      【讨论】:

      猜你喜欢
      • 2010-11-10
      • 1970-01-01
      • 2019-09-01
      • 2017-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-20
      • 2011-09-27
      相关资源
      最近更新 更多