2009-07-18 11 views
8

Actualmente estoy compilando mi aplicación web Java en Google App Engine (GAE), pero debido a la gran cantidad de limitaciones que tienen, me temo que voy a tener que cambiar de GAE a mi propio servidor que ejecuta Glassfish (o puedo configurar cualquier otro servidor si es necesario). También estoy planeando ejecutar bases de datos Oracle o MySql. ¿Qué debo hacer para pasar de GAE a mi servidor? ¿Necesito reescribir mi código? ¿Debería continuar usando Datanucleus o cambiar a otra cosa? ¿Algo más?Cambiar de Google App Engine a otro servidor

+1

sólo por curiosidad, lo que fue la limitante factor de gae que no funcionó para ti? –

+0

1) Límite de tamaño de archivo 2) Algunas funciones de JEE5 3) Base de datos (me gustaría usar Oracle o MySql) 4) Control sobre la infraestructura de mi servidor Estas son cuatro principales. Todavía no he decidido si deseo cambiar, solo recopilar información y decidir. – Maksim

Respuesta

4

No podremos dar consejos muy buenos sin saber cómo escribió su aplicación. ¿Creó una capa de acceso a datos que separa el acceso al almacén de datos de la lógica de su empresa? ¿O pasa los objetos específicos del motor de la aplicación por todo el lugar? ¿Estás usando el servicio al usuario de Gae? o Memcache?

Lo primero que debe hacer es mirar todas sus declaraciones de importación. Cada vez que ve un com.google.something allí, sabe que debe cambiar eso. No proporcionó muchos detalles sobre cómo escribió su aplicación, pero si pregunta por datanucleus probablemente esté usando JDO o JPA, lo que significa que puede reutilizar la mayor parte de su capa de datos. Es posible que tenga un montón de campos clave que deberá cambiar, y tal vez algunas anotaciones específicas de gae. Probablemente tendrá que verificar dos veces cómo maneja las transacciones, ya que es probable que sea diferente en una base de datos SQL, que no usa grupos de entidades como lo hace GAE.

6

¿Por qué no seguir la información proporcionada en la fogata original de Google? Hubo una presentación de IBM sobre cómo ejecutar una aplicación de AppEngine utilizando DB2. Simplemente soltaron el jarro datanucleus-rdbms en CLASSPATH, cambiaron la URL de conexión, etc., y la ejecutaron. Al igual que en este PDF http://download.boulder.ibm.com/ibmdl/pub/software/dw/wes/hipods/GAE_Java_Interoperability.pdf

--Andy (DataNucleus)

+1

Wow. Eso es genial. Han implementado los servicios de Usuario y UrlFetch. Además de las cosas de configuración, los únicos cambios de código reales son refactorizar ciertos tipos de claves y cambiar las declaraciones de importación. –