5 Stimmen

Muster für den Einsatz von in Java geschriebenen mehrschichtigen Geschäftsanwendungen

Ich arbeite an einer mehrschichtigen, in Java geschriebenen Geschäftsanwendung, die als EAR-Datei verpackt und auf einem JBoss-Anwendungsserver bereitgestellt werden soll. Es gibt eine Webanwendungsschicht, eine Serviceschicht, eine Domänenschicht, aber keine Persistenzschicht. Zumindest auf dem Papier.

Was ist die beste Praxis für die Bereitstellung der verschiedenen Schichten? In unserem Team herrscht ein kleiner Glaubenskrieg zwischen:

  • Verpacken jeder Schicht in eine eigene JAR-Datei (z. B. in ein eigenes Maven-Modul) und Hinzufügen jedes Moduls zur EAR-Datei ODER
  • Bündelung aller Komponenten in einer einzigen JAR-Datei, wobei jede Schicht einer Paketbenennungskonvention zugeordnet ist.

Gibt es noch andere Möglichkeiten, die ich übersehe? Was sind die besten Praktiken in diesem Bereich? Gibt es irgendwelche Online- oder Offline-Ressourcen, die ich zu diesem Thema konsultieren könnte?

4voto

Zack Marrapese Punkte 12004

In meinem Unternehmen bündeln wir jede Schicht in einer eigenen JAR-Datei. Dann fügen wir sie in eine WAR ein.

Wenn Sie keine EJBs haben, die verwaltet werden müssen, gibt es keinen wirklichen Vorteil, eine EAR gegenüber einer WAR für die Bereitstellung zu verwenden.

1voto

Michael Wiles Punkte 20303

Welchen Ansatz Sie auch immer wählen, stellen Sie sicher, dass Sie tatsächlich Wert aus ihm heraus. Mit anderen Worten: Bedienen Sie nicht das architektonische Prinzip (Paket/Jar), sondern lassen Sie sich vom Architekturprinzip bedienen.

Sie müssen ein Gleichgewicht zwischen der Trennung der Anliegen und der Effizienz finden. Je mehr Projekte man hat, desto umständlicher wird es, aber wenn man nur ein Projekt hat, kann das auch umständlich sein.

Betrachten Sie Ihre Anforderungen, den Kontext und den Umfang Ihrer Anwendung und entscheiden Sie, welcher Ansatz für Sie am besten geeignet ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X