La API de Namespaces de Google App Engine facilita la compartimentación de tus datos de Google App Engine. Esta API se implementa mediante la función appengine.Namespace
y se incorpora en ciertas API habilitadas para los espacios de nombres.
Cuando configuras un espacio de nombres en el administrador de espacios de nombres, estas API obtienen el espacio de nombres actual y lo usan de forma global. Puedes declarar explícitamente un espacio de nombres en forma local, pero debes tener cuidado al hacerlo, ya que sin darte cuenta podrías crear filtraciones de datos y otros errores. Cualquier solicitud de App Engine puede acceder a cualquier espacio de nombres para que la aplicación aplique una política de control de acceso en todos los espacios de nombres.
Puedes utilizar la API de Namespaces para crear un amplio rango de aplicaciones. Uno de los usos más convincentes de esta API es para las aplicaciones multiusuario, como se describe a continuación.
Acerca de la arquitectura multiusuario
Multiusuario es el nombre que recibe una arquitectura de software en la que una instancia de una aplicación, que se ejecuta en un servidor remoto, realiza entregas a muchas organizaciones cliente (también conocidas como usuarios).
El uso de una arquitectura multiusuario simplifica la administración y el aprovisionamiento de usuarios. Puedes proporcionar una experiencia del usuario más ágil y personalizada, y también agregar diferentes sistemas aislados de datos en un solo esquema de base de datos. En consecuencia, tus aplicaciones se vuelven más escalables y más rentables a medida que creces. Los datos se pueden segregar y analizar con mayor facilidad entre los usuarios, porque todos ellos comparten el mismo esquema de base de datos. Los distintos grupos de usuarios ven contenido personalizado unido a una aplicación más eficiente.
Cómo compilar una aplicación multiusuario con la API de Namespaces
Con la API de Namespaces, puedes compartimentar fácilmente los datos entre usuarios con solo especificar una string de espacio de nombres única para cada usuario. Simplemente configuras el espacio de nombres para cada instancia en forma global mediante el administrador de espacios de nombres (en lugar de configurarlo de forma explícita para una solicitud determinada). Las API compatibles con espacios de nombres siempre usan el espacio de nombres actual de forma predeterminada.
La API de Namespaces se integra en Google Workspace, lo que te permite usar tu dominio de Google Workspace como el espacio de nombres actual. Dado que Google Workspace te permite implementar la app en cualquier dominio que tengas, puedes configurar espacios de nombres únicos con facilidad para todos los dominios vinculados a tu cuenta de Google Workspace.
Cuando diseñas aplicaciones multiusuario, debes evitar que los datos se filtren a través de los espacios de nombres. Para obtener más información, consulta Cómo evitar la filtración de datos.
API de App Engine que usan espacios de nombres
Actualmente App Engine admite espacios de nombres en las siguientes API:
Muestras de proyectos con espacios de nombres
Se proporcionan dos muestras de aplicaciones de libro de visitas que usan espacios de nombres:
- Python App Engine: appengine-multitenancy – Muestra de aplicación de libro de visitas que tiene en cuenta el espacio de nombres.
- Java App Engine: appengine-gwtguestbook-namespaces-java – Muestra de aplicación de libro de visitas que usa GWT.
Otros usos de la API de Namespaces
Si bien la API de Namespaces habilita la función multiusuario en App Engine, también tiene otros usos, entre ellos:
- Compartimentalización de la información del usuario
- Separación de los datos del administrador y los datos de la aplicación
- Creación de instancias de almacén de datos diferentes para pruebas y producción
- Ejecución de varias apps en una sola instancia de App Engine