Подтвердить что ты не робот

Grails на движке Google

Каков текущий статус развертывания движка Grails и google. Я новичок в приложении, но интересно узнать об этом. Некоторые конкретные qns

  • последний plugin, который имеет высокий рейтинг пользователей, имеет какие-то ограничения? или он работает без проблем со всеми функциями gorm.
  • Есть ли проблема с большим временем запуска для приложения grails. Как это происходит в реальном мире? (с типичным небольшим и крупномасштабным применением)
  • как насчет других плагинов Grails (например, сиро, время в joda, проворное и т.д.). Думаю, они не будут хорошо играть. Поэтому использование этих библиотек напрямую - лучший вариант.
  • Если вы решили отказаться от goole-app в качестве варианта развертывания, как легко перейти к нормальной среде. Поддержка JPA обеспечивает совместимость с другими традиционными БД?

Не уверен, что еще есть серьезные проблемы. Возможно, это основа для хорошего обсуждения. спасибо.

4b9b3361

Ответ 1

У меня получилось немного хорошего ответа от списка рассылки Grails, и заключение разделяет комментарий Дэвида. см. тему здесь

Несколько соответствующих ответов:

От Томаса Лин:

Я бы предложил заглянуть в Гайлик, если вы действительно хотите построить проект в App Engine. Он построен с нуля с помощью приложения Двигатель как целевой двигатель, поэтому он может обходить проблемы, как долго из-за Spring и Hibernate. Недавно введенный плагин механизм гарантирует, что ваши приложения Gaelyk могут быть расширены в способ гарантировать работу GAE.

У Gaelyk есть собственная собственная сущность DSL, которая немного чтобы абсорбировать JPA/JDO поверх App Engine.

В настоящее время я вижу много исключений HardDeadlineExceeded с помощью приложения Двигатель и Grails. Он просто не предназначен для работы с Spring прямо сейчас. Надеюсь, это улучшится с более поздними версиями Groovy, Grails и партнерство Spring/Google для GAE для но я бы не стал рассматривать Grails на производстве GAE.

Даже с Геликом появляются сообщения о низкой производительности. Представьте себе трудности, которые возникают с гораздо большей суммой Grails.

Прикладной движок поставляется с собственной реализацией пользователя/безопасности системы управления на основе счетов GMail. Если вы просто хотите предоставить реализация admin/non-admin, это поддерживается в appengine. Не могу прокомментировать Сиро.

Помните, что одним из основных ограничений App Engine является невозможность записи файла, поэтому даже базовая загрузка файла в Spring становится проблематичным, поскольку механизм по умолчанию записывает временную файл. Я бы предположил, что большинство плагинов не будут работать из поле, не копаясь в их коде и меняя его.

Я думаю, что самая большая проблема здесь - отсутствие поддержки родного JDBC. JPA не так хорошо поддерживается как простая JDBC GORM, такие как именованные запросы вероятно, не будет работать из коробки без дооснащения. если ты хотите использовать последние и самые большие части Grails, это может быть стоит рассмотреть другие решения для хостинга.

От Аарона Эйсхейда

1. Плагин GAE и плагины JPA-GORM в сочетании не дают вам все возможности GORM без проблем. Хотя вы должны получить основы, такие как .save(),.delete() и, возможно,.list(), динамические искатели и т.д. Будут отсутствовать (по крайней мере пока). Я мог бы быть здесь, но я думаю, что большинство/все зависимые от Hibernate функции выходят или заменяются чем-то другим (поскольку он полагается на SQL под капотом, а GAE в настоящее время не имеет базы данных на основе SQL...), например, любой строители критериев не идут. Мне непонятно, сколько из точечного бурения вы можете делать на объектах. Например, не уверен, что вы могли бы сделать что-то вроде:

def b = новая книга() def stores = b.authors.publishers.bookstores

В одном месте я мог бы использовать некоторые указатели, как использовать JPA в классах домена. Я уверен, что там есть хорошая информация, но я ее еще не нашел.

  1. неуверены

  2. Плагины Grails, которые включают в себя классы домена или манипулируют вашими текущими классами домена, обязательно будут иметь проблемы, поскольку вам нужно строить классы домена по-разному, чтобы играть хорошо с JPA, что необходимо, потому что хранилище Googles Datastore не совсем похоже на реляционное DB. С другой стороны. вы можете использовать встроенную систему безопасности Google, поэтому вам не обязательно нужны плагины вроде Acegi или Shiro.

  3. Это, вероятно, сводится к разным уровням GORM, которые вы можете использовать в контроллерах и службах, а также в разных способах определения классов домена. Некоторые рефакторинги кажутся неизбежными, если JPA не будет столь же хорош с SQL DB, как и с Googles Datastore. Если JPA может двигаться так, то передача должна быть простой, но, используя JPA-GORM, вы отказываетесь от некоторых вещей, которые вы, вероятно, захотите, если вы не воспользуетесь из-за того, что находитесь на GAE.

Желая услышать, что говорят другие,

Аарон