Переключиться с Google AppEngine на другой сервер - PullRequest
8 голосов
/ 18 июля 2009

В настоящее время я создаю свое веб-приложение на Java в Google AppEngine (GAE), но из-за множества ограничений, которые у них есть, я боюсь, что мне придется переключиться с GAE на мой собственный сервер, который работает Glassfish (или я могу настроить любой другой сервер при необходимости). Также я планирую запустить базы данных Oracle или MySql. Что мне нужно сделать, чтобы перейти с GAE на мой сервер? Нужно ли переписывать мой код? Должен ли я продолжать использовать Datanucleus или переключиться на что-то еще? Что-нибудь еще?

Ответы [ 3 ]

6 голосов
/ 18 июля 2009

Почему бы не следовать информации, приведенной в оригинальном Google у костра? IBM представила презентацию о том, как запустить приложение AppEngine с использованием DB2. Они просто сбросили банку datanucleus-rdbms в CLASSPATH, изменили URL-адрес подключения и т. Д. И запустили его. Как в этом PDF http://download.boulder.ibm.com/ibmdl/pub/software/dw/wes/hipods/GAE_Java_Interoperability.pdf

- Энди (DataNucleus)

4 голосов
/ 23 ноября 2010

Я не пробовал, но есть GAE с открытым исходным кодом, называемая appscale http://code.google.com/p/appscale/

4 голосов
/ 18 июля 2009

Мы не сможем дать очень хороший совет, не зная, как вы написали свое приложение. Вы создали слой доступа к данным, который отделяет ваш доступ к хранилищу данных от вашей бизнес-логики? Или вы передаете специфические объекты ядра приложения повсюду? Вы пользуетесь сервисом gae? или memcache?

Первое, что вы должны сделать, это посмотреть на все ваши операторы импорта. Каждый раз, когда вы видите com.google.something там, вы знаете, что нужно изменить это. Вы не дали много подробностей о том, как вы написали свое приложение, но если вы спрашиваете о datanucleus, вы, вероятно, использовали JDO или JPA, что означает, что вы сможете повторно использовать большую часть своего уровня данных. У вас может быть несколько полей Key, которые вам придется изменить, и, возможно, несколько специальных аннотаций. Вероятно, вам придется перепроверить, как вы обрабатываете транзакции, поскольку это может отличаться в базе данных SQL, которая не использует группы сущностей, как это делает GAE.

...