Je construis actuellement ma demande Web Java sur Google Appengine (GAE), mais en raison de nombreuses limitations, j'ai peur de devoir passer de GAE à mon propre serveur qui fonctionne Glassfish (ou je peux configurer tout autre serveur si nécessaire). Je prévois également d'exécuter des bases de données Oracle ou MySQL. Qu'est-ce que je dois faire pour passer de GAE à mon serveur? Dois-je réécrire mon code? Devrais-je continuer à utiliser Datanucleus ou passer à autre chose? Rien d'autre? P>
3 Réponses :
Nous ne pourrons pas donner de très bons conseils sans savoir comment vous avez écrit votre application. Avez-vous créé une couche d'accès aux données qui sépare votre accès de banque de données depuis votre logique d'entreprise? Ou passez-vous des objets spécifiques du moteur d'application partout? Utilisez-vous le service utilisateur GAE? ou memcache? P>
La première chose à faire est de regarder toutes vos déclarations d'importation. Chaque fois que vous voyez un com.google.quelque chose de là, vous savez que vous devez changer cela. Vous n'avez pas donné beaucoup de détails sur la façon dont vous avez écrit votre application, mais si vous demandez à propos de Datanucleus, vous utilisiez probablement JDO ou JPA, ce qui signifie que vous pourrez peut-être réutiliser la plupart de votre couche de données. Vous pourriez avoir un tas de champs clés que vous devrez changer, et peut-être quelques annotations spécifiques GAE. Vous devrez probablement double vérifier comment vous gérez les transactions, car cela est susceptible d'être différent dans une base de données SQL, qui n'utilise pas de groupes d'entités tels que GAE. P>
Pourquoi ne pas suivre les informations données dans le feu de camp d'origine Google? Il y avait une présentation par IBM sur la manière d'exécuter une application Appengine à l'aide de DB2. Ils ont simplement laissé tomber le bocal Datanucleus-rdbms dans la classe de classe, ont changé l'URL de connexion, etc., et le ran. Comme dans ce pdf http://download.boulder.ibm. com / ibmdl / pub / logiciel / dw / wes / hipods / gae_java_interopérability.pdf p>
- Andy (Datanucleus) P>
Wow. C'est super. Ils ont mis en œuvre les services utilisateur et urlfetch. Outre la configuration, les seuls changements de code réels refactent certains types de clés et modifient les relevés d'importation.
Je n'ai pas essayé mais il y a une implémentation open source de GAE appelée Appscale http: // code .google.com / p / appscale / p>
Juste hors de curiosité, quel était le principal facteur limitant de GAE qui n'a pas fonctionné pour vous?
1) Limite de taille de fichier 2) Certaines fonctionnalités de JEE5 3) Database (souhaite utiliser Oracle ou MySQL) 4) Contrôle sur mon infrastructure de serveur Celles-ci sont quatre principales. Je n'ai pas encore décidé si je veux changer, il suffit de rassembler des informations et de décider.