martes, 21 de abril de 2009

Google AppEngine ya soporta Java

Los rumores eran insistentes y se hizo realidad sobre la inminente llegada de un nuevo lenguaje a Google AppEngine. Y por fin ha llegado, AppEngine estrena hoy algunas novedades, y entre ellas la más solicitada por todos los usuarios, el soporte para el lenguaje Java. Eso sí, tan sólo podrán probar la versión preliminar de esta caracterísitica los primeros 10000 usuarios que lo soliciten accediendo a este enlace.

Google AppEngine ha sido desde el principio un serivicio muy interesante, pero algunos desarrolladores lo descartaban porque las restricciones en cuanto al lenguaje de programación a utilizar eran muy grandes, sólo se soportaba el lenguaje Python, algo que hacía que en muchos casos resultara complicado migrar aplicaciones ya existentes a esta plataforma.

Con la llegada de Java este servicio se hará mucho más popular, permitiendo a más personas explotar las características de esta plataforma y de toda la infraestructura proporcionada por Google (de forma gratuita hasta unos límites bastante permisivos [límitesmás límites], o bien pagando por el servicio para disminuir esas limitaciones [precios]).

Algunos datos sobre las nuevas características de Google AppEngine en relación al lenguaje Java:

  • Se soportan las versiones de Java 5 y 6, y los estandares Java Servlet y Java Server Pages (JSP). Al igual que en el caso de Python, también existirán algunas restricciones en el entorno de ejecución para java. Así, por ejemplo, tan sólo se podrá hacer uso de las siguientes APIs de la librería estandar de java [JRE Class White List], aunque como puede comprobarse la lista de las permitidas es inmensa.
  • Para el acceso a datos se puede utilizar tanto la propia API de datos AppEngine como las interfaces estandar Java Data Objects 2.3 (JDO) o Java Persistence API 1.0 (JPA).
  • Los servicios de Caché y Correo de AppEngine también se pueden utilizar a través de las interfaces estandar JCache (JSR 107) y JavaMail, así como el acceso HTTP/HTTPS a otros hosts mediante la API básica java.net.URLConnection.
  • El acceso a los servicios de login y manipulación de imágenes se realiza mediante APIs propias de AppEngine.

Como parte del soporte para el lenguaje java, Google también ha desarrollado un nuevo plugin [AppEngine Eclipse Plugin] para el entorno de desarrollo Eclipse que facilitará el desarrollo, prueba y despliegue de aplicaciones java sobre la plataforma AppEngine, e incluso el desarrollo de aplicaciones con la nueva versión deGoogle Web Toolkit 1.6 (GWT) y su publicación sobre AppEngine o cualquier otro entorno. Este plugin es compatible con las versiones de Eclipse 3.3 (Europa) y 3.4 (Ganymede).

Para más información sobre el soporte java de AppEngine se puede consultar la web oficial con ladocumentación preliminar de desarrollo.

Como última nota en relación al nuevo soporte java de Google AppEngine quiero mencionar la posibilidad utilizar AppEngine con otros lenguajes basados en la máquina virtual java, como describe por ejemplo Guillaume Laforge en este artículo, donde explica cómo utilizar el lenguaje Groovy en AppEngine.

Además del soporte para Java, Google AppEngine ha presentado más novedades interesantes:

  • Soporte para tareas programadas (servicio CRON).
  • Soporte para Google Web Toolkit 1.6 (GWT).
  • Soporte para Google Secure Data Connector.
  • Nueva herramienta para importar datos de forma masiva a AppEngine. Y anuncian que en breve estará también disponible una herramienta para exportar datos.

A la vista de todas estas novedades es innegable que Google AppEngine se ha posicionado con fuerza en el apartado de hospedaje de aplicaciones web escalables, frente a importantes competidores como los también famosos Amazon Web Services (AWS).