Mis favoritos | Español | Acceder

Aspectos generales de App Engine para Java

Te damos la bienvenida a Google App Engine para Java. Con App Engine, puedes crear aplicaciones web a través de tecnologías estándar de Java y ejecutarlas en la infraestructura escalable Google. El entorno Java proporciona un JVM Java 6, una interfaz de servlets Java y la compatibilidad de interfaces estándar con los servicios y el almacén de datos escalable de App Engine, como por ejemplo, JDO, JPA, JavaMail y JCache. La compatibilidad con los estándares permite desarrollar tu aplicación de forma fácil y familiar, así como trasladarla fácilmente hacia y desde tu propio entorno de servlet.

El complemento de Google para Eclipse añade nuevos asistentes de proyecto y configuraciones de depuración a tu entorno integrado de desarrollo (IDE) de Eclipse para proyectos de App Engine. App Engine para Java facilita especialmente el desarrollo y la implementación de aplicaciones web internacionales a través de Google Web Toolkit (GWT). El complemento de Eclipse viene agrupado en los kits de desarrollo de software (SDK) de GWT y de App Engine.

Si aún no lo has hecho, consulta la Guía de introducción de Java, que ofrece una introducción interactiva al desarrollo de aplicaciones web con tecnologías Java y Google App Engine.

El entorno de tiempo de ejecución Java

App Engine ejecuta aplicaciones Java que utilizan el equipo virtual Java 6 (JVM). El SDK de App Engine es compatible con Java 5 y versiones posteriores y JMV Java 6 puede utilizar clases compiladas con cualquier versión del compilador de Java hasta Java 6.

App Engine utiliza el estándar Java Servlet para aplicaciones web. Puedes asignar a las clases de servlets de tu aplicación páginas del servidor Java (JSP), archivos estáticos y archivos de datos, junto con el descriptor de implementación (el archivo web.xml) y otros archivos de configuración en una estructura de directorio WAR estándar. App Engine muestra solicitudes a través de la ejecución de servlets según el descriptor de implementación.

JVM se ejecuta en un entorno seguro de la "zona de pruebas" para aislar tu aplicación por servicio y seguridad. La zona de pruebas garantiza que la aplicación sólo pueda realizar acciones que no interfieran con el rendimiento ni con la escalabilidad de otras aplicaciones. Por ejemplo, una aplicación no puede generar cadenas, escribir datos en el sistema de archivos local o hacer conexiones de red arbitrarias. Una aplicación no puede utilizar JDI ni ningún otro código original. JVM puede ejecutar cualquier código de bytes de Java que opere dentro de las restricciones de la zona de pruebas.

Para obtener más información, consulta Entorno de servlet.

El almacén de datos, los servicios y las interfaces estándar

App Engine proporciona servicios escalables que pueden utilizar las aplicaciones para almacenar datos persistentes, acceder a recursos en la red y llevar a cabo otras tareas como, por ejemplo, manipular datos de imágenes. Siempre que sea posible, las interfaces Java para estos servicios se ajustan a las API estándar establecidas para poder trasladar aplicaciones hacia y desde App Engine. Cada servicio proporciona también una interfaz completa de nivel inferior para implementar nuevos adaptadores de interfaz o para acceder directamente.

Las aplicaciones pueden utilizar el almacén de datos de App Engine para un almacenamiento de datos permanente, escalable y fiable. El almacén de datos admite 2 interfaces Java estándar: los objetos de datos Java (JDO) 2.3 y el API de persistencia de Java (JPA) 1.0. Estas interfaces se implementan a través de DataNucleus Access Platform, la implementación de software libre de estos estándares.

Memcache de App Engine proporciona un almacenamiento en caché distribuido, transitorio y rápido de los resultados de cálculos y consultas de almacén de datos. La interfaz Java implementa JCache (JSR 107).

Las aplicaciones utilizan el servicio de extracción de URL para acceder a recursos en la web y para comunicarse con otros hosts que utilizan los protocolos HTTP y HTTPS. Las aplicaciones Java pueden utilizar simplemente java.net.URLConnection y clases relacionadas de la biblioteca estándar de Java para acceder a este servicio.

Una aplicación puede utilizar el servicio de correo para enviar mensajes de correo electrónico en nombre de los administradores de la aplicación o del usuario actual. Las aplicaciones Java utilizan la interfaz JavaMail para enviar mensajes de correo electrónico.

El servicio de imágenes permite a las aplicaciones transformar y manipular datos de imágenes en varios formatos, entre los que se incluyen las funciones de recorte, rotación, cambio de tamaño y mejora del color de fotografía. El servicio puede gestionar tareas de procesamiento de imágenes con uso excesivo de CPU y deja más recursos disponibles para que el servidor de la aplicación procese solicitudes web. (También puedes utilizar cualquier software de procesamiento de imágenes basado en JVM en el servidor de la aplicación, siempre que funcione dentro de las restricciones de la zona de pruebas).

Una aplicación puede utilizar Cuentas de Google para la autenticación del usuario. El servicio Cuentas de Google gestiona el acceso y la creación de cuentas de usuario, lo que permite a los usuarios que ya dispongan de una cuenta de Google (por ejemplo, una cuenta de GMail) utilizarla con tu aplicación. Una aplicación puede detectar cuándo el usuario actual ha iniciado sesión y puede acceder a su dirección de correo electrónico. Las aplicaciones Java pueden utilizar restricciones de seguridad en el descriptor de implementación para controlar el acceso a través de las cuentas de Google, así como detectar si el usuario ha iniciado sesión y obtener la dirección de correo electrónico a través del método getUserPrincipal() del objeto de solicitud del servlet. Una aplicación puede utilizar el API de nivel inferior de Cuentas de Google para generar una URL de acceso y de salida, así como para obtener un objeto de datos de usuario adecuado para que se almacene en el almacén de datos.

Tareas programadas

Una aplicación puede configurar tareas programadas que ejecutan URL de la aplicación a intervalos especificados. Para obtener más información, consulta tareas cron.

Herramientas Java

El SDK de Java de App Engine incluye herramientas para probar tu aplicación, subir archivos de la aplicación y descargar datos de registro. El SDK también incluye un componente para Apache Ant que permite simplificar tareas comunes en proyectos de App Engine. El complemento de Google para Eclipse añade funciones al IDE para desarrollar, probar e implementar App Engine y, además, incluye el SDK completo de App Engine. El complemento de Eclipse también facilita el desarrollo de las aplicaciones de Google Web Toolkit y las ejecuta en App Engine.

El servidor de desarrollo ejecuta la aplicación en tu equipo local para desarrollarla y probarla. El servidor simula el almacén de datos, los servicios y las restricciones de la zona de pruebas de App Engine. El servidor de desarrollo también puede generar configuraciones para índices de almacenes de datos basados en las consultas que realiza la aplicación durante la prueba.

Una herramienta multiuso llamada AppCfg gestiona toda la interacción de la línea de comandos mientras tu aplicación se ejecuta en App Engine. AppCfg puede subir tu aplicación a App Engine o simplemente actualizar la configuración de índices del almacén de datos para que puedas crear nuevos índices antes de actualizar el código. También puede descargar los datos de registro de la aplicación para que puedas analizar el rendimiento de tu aplicación mediante tus propias herramientas.