2010-06-20 70 views

回答

15

谷歌應用程序引擎的Java在一個web應用容器(碼頭)是內置所以它顯然只能提供的Java EE的一個子集與一些限制(也增加使用標準化API,以充分利用其基礎設施):

  • 的Servlet 2.4,JSP 2.0
  • 對於數據存儲的部分支持JDO & JPA的
  • 的JavaMail爲...郵件
  • JAXB
  • DOM,SAX和XSLT處理XML的API

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

  • 企業Java Beans(EJB)
  • JAX-RPC
  • JAX-WS
  • Java數據庫連接(JDBC)
  • Java EE™連接器Ar民族形式(JCA)
  • Java管理擴展(JMX)
  • Java消息服務(JMS)
  • Java命名和目錄接口(JNDI)
  • 遠程方法調用(RMI)

更多細節在Will it play in App Engine

順便說一句,我們不說J2EE了,它的Java EE自2005年以來:)

+1

而且他們不提供全文搜索! :-((我被告知Lucene被移植,但因線程失敗) – 2010-06-20 23:20:31

+2

@Vladimir是的,真是一個諷刺! – 2010-06-21 12:04:26

+1

谷歌不提供搜索其相當酷的+1帕斯卡ive!) – Rella 2010-06-22 00:27:30

3

Google App引擎提供了一個有限的子集,你可以使用底層機器。最重要的是你不能訪問本地存儲,你的請求處理必須按照指定的時間限制完成,否則你的任務將被終止。

1

語言沒有區別:它們都是Java。不同之處在於您可以使用哪些類庫。

+1

請問可以讓claryfy對GAE無效,或者在GAE不使用時使用J2EE ang? – Rella 2010-06-20 18:52:37

+1

查看可用於GAE的白名單類。 http://code.google.com/appengine/docs/java/jrewhitelist.html – Manjoor 2010-06-21 12:39:54

4

第一anwser說AppEngine上是Java EE的一個子集是真實的,但卻忽略了一些信息。

Google Appengine確實支持Java EE的子集,但Java EE也支持Appengine技術的子集。

Appengine帶有高複製數據存儲和彈性縮放。所以你不支付空閒的服務器。 Appengine支持Web Hooks,這是一項新技術,可以用來做與JMS類似的事情。原因不支持JNDI,因爲通過簡單的Java API在Google Appengine中獲取服務。從而簡化模型。 RMI在appengine的內部使用很多,如果需要你可以自己使用它。然而,在appengine中使用RMI並沒有多大意義,因爲可以通過XMPP或通過High Replication完成機器間通信。

因此,使用Appengine,您可以開發類似於Java EE的應用程序,但您必須使用Google Googles Infrastructure。許多繁重的工作,例如機器配置,網絡配置,縮放都是自動完成的。因此不需要一個大的系統工程團隊。總而言之,Java EE是舊的方式,被大公司公司所使用。 Appengine被初創公司所使用,這些初創公司預計增長速度非常快,需要擴展,但也不是輕微的啓動成本。

相關問題