My favorites | Português | Sign in

Visão geral do Google App Engine para Java

Bem-vindo ao Google App Engine para Java! Com o Google App Engine, é possível criar aplicativos da web usando as tecnologias Java padrão e executá-los na infraestrutura escalável do Google. O ambiente Java fornece uma Java 6 JVM, uma interface Servlets Java e suporte às interfaces padrão para o armazenamento de dados e os serviços escaláveis do Google App Engine, como JDO, JPA, JavaMail e JCache. O suporte aos padrões facilita e familiariza o desenvolvimento do aplicativo, além de fazer transferências diretamente entre o aplicativo e o seu próprio ambiente do servlet.

O Plug-in do Google para o Eclipse adiciona novas configurações de assistentes e depuradores do projeto à IDE Eclipse para projetos do Google App Engine. O Google App Engine para Java facilita muito o desenvolvimento e a implementação de aplicativos da web de nível internacional usando o Google Web Toolkit (GWT). O plug-in para o Eclipse vem com os SDKs do Google App Engine e do GWT.

Se ainda não o fez, consulte o Guia Primeiros passos em Java para ver uma introdução interativa ao desenvolvimento de aplicativos da web com as tecnologias Java e o Google App Engine.

O ambiente de execução em Java

O Google App Engine executa aplicativos Java usando a Java 6 JVM (máquina virtual Java). O SDK do Google App Engine suporta Java 5 e posteriores, e a Java 6 JVM pode usar classes compiladas com qualquer versão do compilador Java até Java 6.

O Google App Engine usa o padrão servlet Java para aplicativos da web. Você fornece as classes de servlet do seu aplicativo, JSPs (JavaServer Pages), arquivos estáticos e arquivos de dados, juntamente com o descritor de implementação (o arquivo web.xml) e outros arquivos de configuração, em uma estrutura de diretórios WAR padrão. O Google App Engine oferece solicitações ao invocar servlets de acordo com o descritor de implementação.

A JVM executa em um ambiente seguro do "sandbox" para isolar o seu aplicativo para serviço e segurança. O sandbox garante que os aplicativos executem somente ações que não interfiram no desempenho e escalabilidade de outros aplicativos. Por exemplo, um aplicativo não pode gerar linhas, gravar dados no sistema de arquivos local ou fazer conexões de rede arbitrárias. Ele também não pode usar JNI nem outro código nativo. A JVM executa qualquer bytecode Java que opera de acordo com as restrições do sandbox.

Consulte Ambiente do servlet para obter mais informações.

As interfaces de armazenamento de dados, de serviços e padrão

O Google App Engine fornece serviços escaláveis que os aplicativos podem usar para armazenar dados persistentes, acessar recursos na rede e executar outras tarefas, como manipular dados de imagens. Onde possível, as interfaces Java para esses serviços estão em conformidade com as APIs padrão estabelecidas e permitem a transferência de aplicativos para o Google App Engine e a partir dele. Cada serviço oferece também uma interface de nível inferior completa para implementar novos adaptadores de interface ou para acesso direto.

Os aplicativos podem usar o armazenamento de dados do Google App Engine para um armazenamento de dados confiável, escalável e persistente. O armazenamento de dados suporta duas interfaces Java padrão: JDO 2.3 (Objetos de dados Java) e JPA 1.0 (API persistente Java). Essas interfaces são implementadas usando o DataNucleus Access Platform, a implementação de software livre desses padrões.

O cache de memória do Google App Engine oferece armazenamento distribuído rápido e temporário para armazenar em cache os resultados de consultas e cálculos do armazenamento de dados. A interface Java implementa JCache (JSR 107).

Os aplicativos usam o serviço de obtenção de URL para acessar os recursos na web e para se comunicar com outros hosts usando os protocolos HTTP e HTTPS. Os aplicativos Java podem simplesmente usar a java.net.URLConnection e classes relacionadas da biblioteca Java padrão para acessar esse serviço.

Um aplicativo pode usar o serviço de mensagens para enviar mensagens de e-mail em nome dos administradores do aplicativo ou do usuário conectado atualmente. Os aplicativos Java usam a interface JavaMail para enviar mensagens de e-mail.

O serviço de imagens permite que os aplicativos transformem e manipulem dados de imagens em vários formatos, incluindo cortar, girar, redimensionar e aperfeiçoar as cores de uma foto. O serviço pode manipular tarefas de processamento de imagens com uso intensivo da CPU, liberando mais recursos para o servidor do aplicativo lidar com solicitações da web. Você também pode usar qualquer software de processamento de imagens baseado na JVM no servidor do aplicativo, contanto que ele opere de acordo com as restrições do sandbox.

Um aplicativo pode usar as Contas do Google para autenticar o usuário. As Contas do Google lidam com a criação e o acesso à conta do usuário, e um usuário que já tiver uma conta no Google (como uma conta no GMail) pode usá-la com o seu aplicativo. Um aplicativo pode detectar quando o usuário atual fez login e pode acessar o endereço de e-mail desse usuário. Os aplicativos Java podem usar restrições de segurança no descritor de implementação para controlar o acesso por meio das Contas do Google e pode detectar se o usuário fez login e obter o endereço de e-mail usando o método getUserPrincipal() no objeto de solicitação do servlet. Um aplicativo pode usar a API de nível inferior das Contas do Google para gerar URLs de login e saída e para obter um objeto de dados do usuário adequado para armazenamento no armazenamento de dados.

Tarefas programadas

Um aplicativo pode configurar as tarefas programadas que chamarão os URLs do aplicativo em intervalos específicos. Para saber mais sobre isso, consulte Trabalhos do cron.

Ferramentas do Java

O SDK para Java do Google App Engine inclui ferramentas para testar o seu aplicativo, enviar os arquivos do seu aplicativo e fazer download de dados do registro. O SDK também inclui um componente do Apache Ant para simplificar tarefas comuns dos projetos do Google App Engine. O Plug-in do Google para o Eclipse adiciona recursos à IDE Eclipse para desenvolvimento, teste e implementação do Google App Engine, e inclui o SDK completo do Google App Engine. O plug-in para o Eclipse também facilita o desenvolvimento de aplicativos com o Google Web Toolkit e sua execução no Google App Engine.

O servidor de desenvolvimento executa e testa o seu aplicativo no seu computador local. O servidor simula o armazenamento de dados, os serviços e as restrições do sandbox do Google App Engine. O servidor de desenvolvimento também pode gerar configuração para índices do armazenamento de dados com base nas consultas que o aplicativo executa durante os testes.

Uma ferramenta multiuso chamada AppCfg manipula todas as interações da linha de comando com o seu aplicativo sendo executado no Google App Engine. A ferramenta AppCfg pode enviar o seu aplicativo para o Google App Engine ou simplesmente atualizar a configuração do índice do armazenamento de dados para que você crie novos índices antes de atualizar o código. Ela também pode fazer download dos dados do registro do aplicativo, para que você possa analisar o desempenho dele usando as suas próprias ferramentas.