Шаблоны для развертывания многоуровневых бизнес-приложений, написанных на Java - PullRequest
5 голосов
/ 30 июля 2009

Я работаю над многоуровневым бизнес-приложением, написанным на Java, которое должно быть упаковано в файл EAR и развернуто на сервере приложений JBoss. Есть уровень веб-приложений, уровень обслуживания, уровень домена, но нет уровня сохранения. По крайней мере, на бумаге.

Какова наилучшая практика для развертывания различных слоев? В нашей команде идет небольшая религиозная война между:

  • Упаковка каждого слоя в свой собственный файл JAR (например, в свой собственный модуль Maven) и добавление каждого модуля в файл EAR, ИЛИ
  • Объединяет все вместе в один файл JAR, каждый слой сопоставляется с соглашением об именах пакетов.

Есть ли другие возможности, которые я упускаю? Каковы лучшие практики в этой области? Есть ли какие-либо онлайн или офлайн ресурсы, которые я мог бы проконсультировать по этому поводу?

Ответы [ 2 ]

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

В моей компании мы объединяем каждый слой в свой JAR. Затем мы включаем его в войну.

Если у вас нет каких-либо EJB-компонентов, требующих управления, нет реального преимущества в использовании EAR по сравнению с WAR для развертывания.

1 голос
/ 31 июля 2009

Какой бы подход вы ни выбрали, убедитесь, что вы действительно получаете значение из него. Другими словами, не служите архитектурному принципу (упаковка / банка), пусть архитектурный принцип служит вам.

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

Посмотрите на ваши требования, контекст и размер вашего приложения и решите, какой подход вам больше всего подойдет.

...