API Namespaces para serviços em pacote legados

A API Namespaces no Google App Engine facilita a compactação dos dados do Google App Engine. Ela é implementada por meio de um novo pacote chamado gerenciador de namespace e está incorporada em determinadas APIs ativadas por namespaces.

Quando você define um namespace no gerenciador, essas APIs recebem o namespace atual e o utilizam globalmente. Você pode explicitamente declarar um namespace localmente. No entanto, é necessário ter cuidado ao declarar namespaces explicitamente porque isso pode gerar o vazamento de dados e outros bugs inadvertidamente. Qualquer solicitação do App Engine pode acessar qualquer namespace. Assim, fica a cargo do aplicativo impor uma política de controle de acesso nos namespaces.

Use a API Namespaces para criar uma variedade de aplicativos. Um dos usos mais interessantes dessa API é para aplicativos multilocatários, como descrito abaixo.

Sobre a multilocação

Multilocação é o nome dado a uma arquitetura de software em que várias organizações clientes (também conhecidas como locatários) são atendidas por uma instância do aplicativo, executada em um servidor remoto.

Usar uma arquitetura multilocatária simplifica a administração e o aprovisionamento de locatários. É possível fornecer uma experiência do usuário personalizada e facilitada, além de agregar diferentes silos de dados em um único esquema de banco de dados. Como resultado, os aplicativos se tornam mais escalonáveis e com melhor custo-benefício, à medida que você realiza o escalonamento. A segregação e análise de dados entre locatários se torna mais fácil porque estes compartilham o mesmo esquema de banco de dados. Diferentes grupos de usuários veem conteúdo personalizado empacotado em um aplicativo mais eficiente.

Como criar um aplicativo multilocatário com a API Namespaces

Com a Namespaces API, você pode particionar dados com facilidade em locatários simplesmente ao especificar uma string de namespace exclusiva para cada locatário. Basta configurar o namespace para cada locatário globalmente usando o gerenciador de namespace (em vez de configurá-lo explicitamente para uma solicitação específica). As APIs ativadas para namespace sempre usam esse namespace atual por padrão.

A API Namespaces é integrada ao Google Workspace, permitindo que você use seu domínio do Google Workspace como o namespace atual. Como o Google Workspace permite implantar seu app em qualquer domínio de sua propriedade, você pode definir namespaces únicos facilmente para todos os domínios vinculados à sua conta do Google Workspace.

Ao designar aplicativos multilocatários, você deve impedir o vazamento de dados entre namespaces. Para mais informações, acesse Como evitar vazamentos de dados.

APIs do App Engine que usam namespaces

Atualmente o Google App Engine é compatível com namespaces nas seguintes APIs:

Exemplos de projetos usando namespaces

São fornecidos dois exemplos de aplicativos de livro de visitas usando namespaces:

Outros usos para a Namespaces API

Além de ativar a multilocação no Google App Engine, a API Namespaces pode ser usada para muitos outros fins, incluindo:

  • compartimentalizar informações de usuário;
  • separar dados de administração de dados do aplicativo;
  • criar instâncias separadas do armazenamento de dados para teste e produção;
  • executar vários aplicativos em uma única instância do App Engine.