Какие веб-фреймворки можно успешно использовать в движке приложений Google? А как насчет Struts / Spring? - PullRequest
1 голос
/ 02 ноября 2011

Я заинтересован в портировании существующего приложения, написанного с использованием Spring / Struts2 / Hibernate, на GAE. Я не читал много успешных историй об этом, поэтому в первую очередь мне интересно, будет ли разумно использовать какие-либо из них там. Я хочу избавиться от спящего режима и использовать вместо этого хранилище данных Google, поскольку очевидно, что спящий режим не является хорошим выбором для GAE. Поэтому мои основные вопросы относятся к Struts2 (веб-работы) / Spring. Мое приложение использует простые страницы JSP, никакой другой шаблонный механизм.

Мой вопрос касается следующих аспектов:

  • В настоящее время каждая страница имеет связанные действия. Каждый запрос принимается диспетчером Struts, после чего он отправляется определенному классу действий, после чего он вызывает определенный JSP в соответствии с файлом конфигурации.
  • Все создается весной (действия, фабрики, спящие слои, ...)
  • Управление безопасностью осуществляется через Spring Security (ранее acegi).

Мое первое впечатление - я должен избавиться от Spring, потому что GAE должен управлять всеми объектами, чтобы работать в распределенной среде. У меня есть несколько антагонистических мыслей относительно Struts. Однако, если я от них избавлюсь, я не уверен, стоит ли мне это делать, и если да, то что выбрать вместо этого. Достаточно ли хорош GAE, чтобы предоставить все необходимое? Я предполагаю, что GAE должен обработать создание экземпляров, чтобы получить действительно масштабируемое решение. Как насчет управления сеансом, безопасности и пользовательских привилегий? GAE предоставляет хороший механизм для управления ими за сценой, или я должен вручную обрабатывать их, как в классическом решении JSP? Я закончу иметь огромный web.xml?

Существуют ли какие-либо фреймворки, которые хорошо вписываются в GAE и которые могут заменить Spring / Struts? Мне было бы интересно узнать от кого-то, кто испытывал эти проблемы в GAE.

Ответы [ 2 ]

1 голос
/ 02 ноября 2011

Вот список фреймворков, которые, как известно, работают или имеют проблемы:

http://code.google.com/p/googleappengine/wiki/WillItPlayInJava

В целом Hibernate не будет работать, но вы потенциально можете использовать вместо этого Java Persistence . Struts должен быть в порядке, но Spring Security не полностью совместим , в то время как другие части Spring в порядке.

1 голос
/ 02 ноября 2011

Насколько я знаю, Struts, как правило, является слоем над стандартным Servlet API - поэтому он должен работать без особых изменений.Spring также не является проблемой, на самом деле, в Интернете есть много записей в блоге о весне на GAE.Hibernate - да, лучше использовать JPA.

Если вы хотите переписать все приложение, вы всегда можете использовать GWT, даже с Spring ( GWT / GAE Spring IoC powered )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...