2009-07-30 12 views
5

Pracuję nad warstwową aplikacją biznesową napisaną w Javie, którą należy spakować jako plik EAR i wdrożyć na serwerze aplikacji JBoss. Istnieje warstwa aplikacji WWW, warstwa usługi, warstwa domeny, ale nie warstwa trwałości. Przynajmniej na papierze.Wzorce wdrażania warstwowych aplikacji biznesowych napisanych w języku Java

Jaka jest najlepsza praktyka przy wdrażaniu różnych warstw? W naszym zespole mamy trochę wojna religijna dzieje się pomiędzy:

  • Packaging każdej warstwy w oddzielnym pliku JAR (np we własnym modułem Maven) i dodanie każdego modułu do pliku EAR, OR
  • Bundling wszystko razem w jednym pliku JAR, każda warstwa jest odwzorowana na konwencję nazewnictwa pakietów.

Czy są inne możliwości, których mi brakuje? Jakie są najlepsze praktyki w tej dziedzinie? Czy są jakieś zasoby online lub offline, które mogę skonsultować na ten temat?

Odpowiedz

4

W mojej firmie pakujemy każdą warstwę do własnego pliku JAR. Następnie umieszczamy go w WAR.

Jeśli nie masz żadnych EJB, które wymagają zarządzania, nie ma prawdziwej korzyści z używania EAR ponad WAR do wdrożenia.

+0

+1: osobiście podoba mi się separacja dzieląca warstwy na różne słoiki. Myślę, że pomaga to w utrzymaniu właściwych zależności między warstwami, co może tylko pomóc w utrzymaniu struktury systemu. –

+0

+1 do pakowania warstw do oddzielnych słoików. – javashlook

1

Bez względu na to, jakie podejście wybierzesz, upewnij się, że faktycznie uzyskałeś z tego wartość. Innymi słowy, nie służą zasadzie architektonicznej (pakiet/słoik), niech zasada architektury ci służy.

Musisz zrównoważyć rozdzielenie problemów ze sprawnością. Im więcej projektów masz, tym trudniejsze, ale jeśli masz jeden projekt, może to być również kłopotliwe.

Sprawdź swoje wymagania, kontekst i rozmiar swojej aplikacji i zdecyduj, które podejście najlepiej Ci służyć.

Powiązane problemy