2009-10-20 7 views
9

Nos gustaría desarrollar y vender aplicaciones GAE comerciales personalizadas. Me gustaría obtener información sobre la implementación de aplicaciones GAE en dominios arbitrarios de Google Apps (es decir, no en el sitio de aplicaciones).Despliegue multidominio de aplicaciones de Google App Engine (GAE)

Supongamos que nuestra empresa es abc.com y estamos vendiendo la aplicación a def.com y xyz.com. ¿Cuáles son los pasos para implementar nuestra aplicación en el dominio de nuestro cliente?

Cuando una aplicación se implementa en muchos dominios:

  • se duplica o se comparte el código?
  • ¿La definición del almacén de datos está duplicada o compartida (o más exactamente los tipos)?
  • ¿Algún atributo de dominio agrega a la entidad?
+0

Gracias, muy útil. Lo sentimos, todavía no se puede votar. Sin reputación – Gig68

Respuesta

14

Usted tiene tres opciones en este momento, cuando se trata de una aplicación de "multi-inquilino tal como usted la describe:

  1. Puede tener una sola aplicación que sus clientes agreguen a sus dominios. Su aplicación tendrá un único almacén de datos, pero puede usar el encabezado Host para determinar qué cliente está accediendo a la aplicación y segregar las entradas del almacén de datos en función de eso.
    • Fácil de implementar y actualizar
    • fácil para los clientes para instalar
    • Los usuarios que tienen cuentas de Google, no cuentas Aplicaciones, para iniciar una sesión.
  2. puede implementar una instancia de aplicación fresco para cada cliente
    • Más difícil de implementar y actualizar
    • participación
    • Más cliente requerido para instalar
    • proporciona una separación firme de datos
    • Los usuarios pueden iniciar sesión con sus credenciales Aplicaciones
  3. Puede trabajar con Google para crear una nueva aplicación Apps Marketplace
    • Todos los beneficios del punto 1 y 2, arriba
    • Requiere Google implicación
    • No determinada fecha de lanzamiento todavía
+0

Gracias, muy útil. Lo sentimos, aún no se puede votar. Sin reputación – Gig68

+1

Esta es una pregunta bastante antigua, pero se ha cambiado recientemente. Ahora es más fácil desarrollar e implementar aplicaciones multi-tenant. –

4

Esto es posible, pero a lo mejor de mi conocimiento, def.com & xyz.com tendrá que registrarse para obtener Google Apps.

Una vez que el dominio está registrado en Google Apps a sus clientes potenciales, que pueden añadir no sólo de Google Apps como Gmail & Docs para subdominios (mail.def.com & docs.def.com), sino también a cualquier aplicación (GAE) fooapp.def.com.

  • ¿El código está duplicado o es compartido?
    Compartido
  • ¿La definición del almacén de datos está duplicada o compartida (o más exactamente los tipos)?
    Mientras que los esquemas (definiciones) se comparten, lo que no se comparte es el almacén de datos actual. es decir, cada instancia de su aplicación tendrá datos separados.
  • ¿Algún atributo de dominio agregar a la entidad?
    Puede averiguar en qué dominio se sirve su aplicación utilizando una de las variables de entorno CGI/HTTP. No recuerdo exactamente qué variable, pero actualizaré la respuesta una vez que vea algún viejo código mío. Una vez que averigüe cuál es el dominio actual, puede elegir qué hacer con esa información, incluido guardarla en una entidad o simplemente denegar el acceso.

Otra buena característica de esto es que digamos que la compañía def.com usa GMail alojado y tiene Autenticación de Google para sus empleados. Ahora, si su aplicación utiliza los ganchos de autenticación proporcionados por GAE, entonces puede autenticar automáticamente solo a sus empleados sin ningún cambio de código de su parte. Al menos, esa es la teoría ya que no he probado a mí mismo ;-)

+0

El punto 2 y la nota al pie son incorrectos: todos usan el mismo almacén de datos y no se puede tener una única instancia de aplicación autenticando varios dominios de aplicaciones actualmente. –

+0

En realidad estoy hablando de instancias de aplicaciones múltiples desde el mismo código. Si la empresa 'def.com' desea usar fooapp, van a su administrador de Google Apps y agregan esa aplicación. Esto creará una nueva instancia de la aplicación que utilizará un almacén de datos diferente y se autenticará contra 'def.com' y no con cuentas de Google generales. ¿Es eso incorrecto? –

+0

Leyendo su respuesta ahora, quise describir el escenario 2 que ha delineado, pero ¡quizás no estaba muy claro! –