2010-06-20 13 views

Respuesta

15

Google App Engine para Java se basa en un contenedor de aplicación Web (el embarcadero) por lo que, obviamente, ofrece sólo un subconjunto de Java EE con algunos restricciones (pero también adiciones a aprovechar su infraestructura utilizando APIs estandarizadas):

  • Servlets 2.4, JSP 2.0
  • apoyo parcial de JDO & APP para el almacén de datos
  • JavaMail para ...
  • electrónico
  • JAXB
  • DOM, SAX, y XSLT para las API de procesamiento XML

API de Java EE y tecnologías no compatibles se incluyen:

  • Enterprise Java Beans (EJB)
  • JAX-RPC
  • JAX-WS
  • Java Database Connectivity (JDBC)
  • Java EE ™ Connector Ar quitectura (JCA)
  • Java Management Extensions (JMX)
  • Java Message Service (JMS)
  • Java Naming and Directory Interface (JNDI)
  • Remote Method Invocation (RMI)

Más detalles en Will it play in App Engine.

Por cierto, no decimos J2EE más, es Java EE desde 2005 :)

+1

¡Y no proporcionan búsqueda de texto completo! :-((Me dijeron que Lucene está portado, pero falla debido a los hilos) –

+2

@Vladimir Sí, ¡qué ironía! –

+1

Google no proporciona búsqueda es bastante cool +1 Pascal Thivent!) – Rella

3

Google App Engine proporciona un subconjunto limitado de lo que puede hacer con la máquina subyacente . Lo más importante es que no puede acceder al almacenamiento local y el procesamiento de su solicitud debe finalizar con un límite de tiempo especificado; de lo contrario, su tarea finalizará.

1

No hay diferencia en el idioma: ambos son Java. La diferencia es qué bibliotecas de clase están disponibles para usted.

+1

¿podría explicar qué posesidades no están disponibles para GAE o están limadas cuando utiliza J2EE ang cuando GAE no lo está? – Rella

+1

echa un vistazo a las clases de lista blanca disponibles para GAE. http://code.google.com/appengine/docs/java/jrewhitelist.html – Manjoor

4

La primera anwser diciendo que AppEngine es un subconjunto de Java EE es cierto, pero se echa de menos alguna información.

Google Appengine admite un subconjunto de Java EE, pero Java EE también es compatible con un subconjunto de la tecnología Appengine.

Appengine viene con un alto almacén de datos de replicación y escalado elástico. Entonces no pagas por los servidores que están inactivos. Appengine es compatible con Web Hooks, esta es una nueva tecnología que se puede usar para hacer cosas similares a JMS. JNDI no es compatible por una razón, porque obtener servicios en Google Appengine se realiza a través de una API simple de Java. Simplificando así el modelo. RMI se usa mucho en el interior de appengine, y puede usarlo usted mismo si es necesario.Sin embargo, el uso de RMI en appengine no tiene mucho sentido, ya que la comunicación entre máquinas se puede hacer a través de XMPP, o mediante High Replication.

Así que con Appengine puede desarrollar aplicaciones similares a las de Java EE, sin embargo, está obligado a la infraestructura de Google. Muchos de los trabajos pesados, tales como la configuración de la máquina, la configuración de red, la escala, se realizan automáticamente. Por lo tanto, no hay necesidad de un gran equipo de ingeniería de sistemas.

En general, Java EE, es la vieja usanza utilizada por las grandes empresas. Appengine es utilizado por las nuevas empresas que esperan crecer muy rápido y necesitan escalar, pero también costos de inicio no menores.

Cuestiones relacionadas