Hace bastante tiempo que tengo en mente una idea para desarrollar una aplicación web y, cuando me decidí por fin a implementarla, elegí Google App Engine, a pesar de que no conocía Python, el único lenguaje que soporta ahora mismo (aunque ha sido una buena excusa para aprender) y a pesar de algunas limitaciones propias de un servicio gratuito y en pruebas.
Al fin y al cabo, esos inconvenientes parecían quedar ampliamente superados por las ventajas de usar la misma infraestructura que usa Google para sus propias aplicaciones: robustez, existencia de un entorno de desarrollo, APIs de gestión de usuarios, de almacenamiento de datos, etc.
Sin embargo, los primeros desarrollos han hecho que dos de esas limitaciones se conviertan en importantes barreras para desarrollar una aplicación que tiene que acceder a otros sitios web:
- Google App Engine funciona únicamente para aplicaciones interactivas, del tipo “petición web”-“respuesta”, proceso que debe ser completado en pocos segundos. Dicho de otro modo: no existe soporte para procesos batch o planificados de mayor duración. A pesar de que existen algunas soluciones más o menos válidas para evitar restricción, sería deseable que Google incluyera esa funcionalidad en su servicio; de hecho, es una de las más reclamadas por los usuarios.
Esta limitación es especialmente restrictiva cuando la aplicación tiene que acceder a sitios web de terceros: las conexiones son lentas, los servidores tardan en responder, … Al final sólo se pueden visitar unas pocas URLs antes de que se produzca el timeout.
- Los accesos a otros sitios web se realizan a través de un API específico de Google, que impide que se puedan modificar determinadas cabeceras HTTP; entre ellas, la cabecera
User-Agent
. Esto no sería mayor inconveniente si no fuera porque otros sitios web (por ejemplo, el API de Delicious) leen su valor para decidir si responden a la petición o no; y parece que no responden alUser-Agent
que envía Google.
Es decir, Google App Engine no permite modificar esa cabecera en las peticiones, y Delicious parece bloquear las peticiones con la cabecera que envía. Un problema que parece poco importante en principio pero que tiene difícil solución.
Estos temas hacen que me esté cuestionando si, a pesar de sus incuestionables ventajas, Google App Engine fue una elección adecuada o no. ¿Tenéis alguna idea al respecto, o conocéis otras alternativas a Google App Engine?
Actualización 11-mar-2009
Buenas noticias. Ahora mismo parece que ya se puede acceder desde Google App Engine a la API de Delicious sin problemas, seguramente porque Delicious ha dejado de bloquearlas. Además, parece que está en los planes de Google, entre otras cosas, dar soporte a tareas planificadas y procesos en background.
Bien por las empresas que escuchan a sus usuarios y dan respuesta a sus necesidades.
Pingback: diseño web
Hola no sabes si este servicio de Google App Engine está disponible para Uruguay?
Trato de registrarme pero no me acepta mi número de teléfono móbil.
Muchas gracias por cualquier ayuda.
Lucía,
desde España me funcionó bien; no sé desde Uruguay.
Quizá te sirva este enlace:
http://groups.google.com/group/google-appengine/browse_thread/thread/ae07d9c16c0df10a