Projektarchitektur / Organisation auf Java EE-Anwendung mit EJB 3.0, JPA, Dynamische Web-Projekten auf JBoss

StackOverflow https://stackoverflow.com/questions/420222

Frage

Ich habe ein Webapp mit unterschiedlichen dynamischen Web-Projekten, von denen jeder im Allgemeinen ein EJB-Projekt enthält. Wir wollen, dass sie halten, die Interaktion, wie Bohnen und Klassen von jeweils anderen EJBs über JNDI, teilt die gleiche Datenbank oder mit ihrem eigenen zu verwenden. Aber wir wollen auch in der Lage sein, verschiedene Projekte zu halten auf verschiedenen Servern.

Was ist der richtige Fokus für diese Art von Projekt in Bezug auf Architektur und Organisation sein?

Wie sollen wir EARs benutzen? Eine EAR sie knechten und in der Dunkelheit sie binden? (Sorry, hatte den HdR Bezug zu tun) oder eine EAR pro Server / Web-Projekt, etc.?

War es hilfreich?

Lösung

Speicherplatz ist billig, aber wenn man alles in einem einzigen EAR werfen, Ihre App-Server haftet sie alle, selbst zu laufen, wenn alles, was Sie wollen Service A. Sie ist sind beste Bruch häufig verwendete EJBs und Bereitstellen von ihnen in von selbst, und jede einzelne Leistung der Komponenten in ihren eigenen Ohren.

Dann wird unter Verwendung von JBoss als Beispiel, können Sie einfach die Artefakte kopieren direkt in das Verzeichnis deploy von was auch immer Server möchten Sie sie auf laufen.

OrderManagement.ear InventoryManagement.ear StoreFront.ear

Sie können dann entweder alle, einige oder gar nichts auf einem bestimmten Server.

Andere Tipps

EJB sollen modular aufgebaut, so dass je nach dem Service, den Sie zur Verfügung stellen möchten, sollten Sie eine richtige EAR eingesetzt werden bieten. Versuchen Sie auch, MBeans und implementieren sie als unabhängige Dienste. Management-Schnittstellen helfen, eine Menge, wenn das Debuggen und Testen.

Beachten Sie Bug-Fix / Upgrade und Szenarien Test Regression. Je mehr EJB Module, die Sie in der gleichen EAR haben, desto mehr Funktion Punkte Regressionstests müssen, auch wenn Sie eine neue Funktion nur eines der Module festgelegt oder hinzugefügt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top