Создание модуля Play Framework для совместного использования слоя данных между несколькими службами. - PullRequest
5 голосов
/ 12 октября 2011

Имея в виду понятие SOA, я намереваюсь предоставить несколько разных сервисов, использующих одну и ту же модель данных.Представьте себе покерное приложение - у нас могут быть следующие услуги:

  • Игровой интерфейс
  • Административный интерфейс
  • Ранг игрока / служба лидеров
  • Финансы игрокаслужба
  • Служба интеграции банка
  • ...

Все эти службы могут использовать одну и ту же модель (возможно, предоставляя дополнительную информацию о модели в случае необходимости).

В игре!Framework, могу ли я вывести эту модель данных на внешний уровень, но сохранить преимущества, которые мы получаем от использования Play.Например, перекомпиляция во время выполнения.

Модули выглядят так, как будто они могут выполнять свою работу, но документации о них немного, и приведенные примеры предлагают противоположную парадигму - где службы - это модули, а основная играприложение тянет в функции.

Любое руководство будет оценено.

Ответы [ 2 ]

3 голосов
/ 12 октября 2011

Трудно получить настоящий стиль SOA, используя Play. Потому что Play - это не просто фреймворк, это веб-платформа, предоставляющая сервисы прямо от HTTPRequest до постоянства базы данных, а не изолированно.

В вашем случае, если вам нужно действительно экстернализовать слой данных, я бы посоветовал вам попробовать Spring module . Spring должен позаботиться о постоянстве, бизнес-логике и инкапсулировать это в сервисных интерфейсах.

В вашем приложении Play контроллер зависит от этих открытых сервисных интерфейсов. Сервисы Spring должны быть независимы от любых функций Play (будь то проверка или сохранение JPA и т. Д., Т. Е. Нет импорта)

Цель состоит в том, чтобы при необходимости вы могли использовать любую инфраструктуру MVC (Spring MVC, Struts и т. Д.) И использовать те же службы.

0 голосов
/ 30 января 2012

Я пытаюсь что-то подобное.

Я собираюсь попробовать

  • написать DAL в модуле
  • записать каждый отдельный компонент как отдельный модуль.
  • в будущем каждый компонент может быть размещен в отдельном приложении. Просто переместите приложение, установите модуль DAL, и все готово. Надеемся, что это покроет любой масштабируемый материал.

Теоретически я должен иметь возможность вызывать команды воспроизведения, конфигурируя команды сборки в Eclipse, так что это должно позволить мне автоматически создавать модули для основного приложения.

Надеюсь, это сработает для меня ...

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