views:

124

answers:

3

What is core difference between Java for Google App Engine and J2EE? (I am not familiar with Java at all so can you please explain me what is diference in general and in what to learn is better for resume)

+2  A: 

Google App engine provides a limited subset of what you can do with the underlying machine. Biggest thing is that you can't access local storage and your request processing has to finish with a specified limit of time, otherwise your task will be terminated.

Vlad
A: 

There's no difference in the language: they're both Java. The difference is what class libraries are available to you.

dmazzoni
could you please claryfy what posebileties are not avaliable to GAE or are limeted when you use J2EE ang when GAE are not?
Blender
check out white-list classes available for GAE. http://code.google.com/appengine/docs/java/jrewhitelist.html
Manjoor
+10  A: 

Google App Engine for Java is built upon a webapp container (Jetty) so it obviously offers only a subset of Java EE with some restrictions (but also additions to leverage their infrastructure using standardized APIs):

  • Servlets 2.4, JSP 2.0
  • Partial support of JDO & JPA for the Datastore
  • JavaMail for... mail
  • JAXB
  • DOM, SAX, and XSLT for XML processing APIs

Java EE APIs and technologies not supported include:

  • 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 Naming and Directory Interface (JNDI)
  • Remote Method Invocation (RMI)

More details in Will it play in App Engine.

By the way, we don't say J2EE anymore, it's Java EE since 2005 :)

Pascal Thivent
And they do not provide full-text search! :-( (I was told Lucene is ported, but fails due to threads)
Vladimir Dyuzhev
@Vladimir Yeah, what an irony!
Pascal Thivent
Google not providing search its quite cool +1 Pascal Thivent!)
Blender