Lese ich diese und diese, die etwas im Zusammenhang auf meine Frage. Aber ich kam in diese Artikel, der sagt, dass EJBs werden können, verpackt in eine war-Datei. Wenn dies der Fall ist, warum gibt es eine Notwendigkeit für ein Ohr? Eine Erklärung mit einem Beispiel wird sehr appriciated.
Verwendung von OHR-oder KRIEG kommt auf den server, die Sie bereitstellen möchten Sie, Ihre Bewerbung, und auf Ihre persönlichen Vorlieben. Von Java EE6, können Sie Ihr Paket EJBs zusammen mit anderen servlets, jsps usw. in den KRIEG-Datei (die Sie am Ende mit web-Anwendung, die Sie bereitstellen können, die nur auf java ee 6 kompatiblen server). Wenn Sie das Paket Ihrer app auf die alte Weise mit ejbs in einem separaten Paket und Krieg getrennt, können Sie java-ee-5-server, wenn Sie nicht verwendet haben andere features von java ee6 innerhalb Ihrer Anwendung können Sie trennen Sie die Bereitstellungen of Ihr EJBs und Kriege haben eine klare Trennung von Ihrem business layer (EJB) und die Ansicht (Servlets, JSP ' s etc).
Mit einem OHR bietet eine saubere Trennung zwischen Geschäfts - (in der Regel stateless EJB Bohnen bieten, Backend- /db-bezogene Dienste und kann grundsätzlich verwendet werden, die von nicht-web-clients) und Frontend (xhtml-Dateien, JSF backing beans, etc).
Ich in der Regel befolgen Sie die unten aufgeführten übereinkommen, für ein Projekt, sagen wir "foo":
foo-ejb.jar hat die EJB-beans
foo-client.jar definiert die Schnittstelle der EJB-beans ('client' ist möglicherweise irreführend, 'foo-if.jar' oder 'foo-api.jar' vielleicht bessere Namen)
foo-Krieg.Krieg hat die web-Ressourcen
Gebäude foo-Krieg.Krieg erfordert nur foo-client.jar
Gibt es vielleicht eine Möglichkeit zu haben, eine ähnlich saubere Trennung, wenn Ihr code wird eingesetzt als eine KRIEG aber die oben ist, was ich arbeite und scheint zu funktionieren für mich (ich bin für Vorschläge offen, natürlich).
Der Java EE Plattform verwendet eine verteilte Multi-Tier-Anwendung-Modell für enterprise-Anwendungen. Die Anwendungslogik gliedert sich in Komponenten nach der Funktion und der Anwendung Komponenten einer Java EE-Anwendung installiert werden, die auf verschiedenen Maschinen, abhängig von der tier-in die Multi-Tier-Java-EE-Umgebung, zu der die Komponente gehört.
Dem Bild unten Balg zeigt zwei Multi-Tier-Java-EE-Anwendungen, unterteilt in die Ebenen in der folgenden Liste beschrieben. Die Java-EE-application-Teile gezeigt, die in diesem Bild dargestellt werden in Java-EE-Komponenten.
Client-tier-Komponenten laufen auf dem client-Rechner.
Web-tier-Komponenten laufen auf der Java EE-server.
Business-tier-Komponenten laufen auf der Java EE-server.
Enterprise information system (EIS)-tier-software läuft auf dem EIS
server.
Obwohl eine Java EE-Anwendung kann darin bestehen, alle Ebenen in Abbildung 1-1, Java EE Multi-Tier-Anwendungen sind im Allgemeinen als drei-Tier-Anwendungen, denn Sie verteilen sich über drei Standorte: den client-Rechnern, die Java-EE-server und den Datenbank-oder legacy-Maschinen im back-end. Drei-Tier-Anwendungen, die laufen auf diese Weise erweitern Sie die standard-zwei-Tier-client-und-server-Modell, indem eine Multithread-Anwendung-server zwischen client-Anwendung und dem back-end-storage.
Also in der Regel wollen wir in 2 oder 3 getrennten Schichten:
Verwendung von OHR-oder KRIEG kommt auf den server, die Sie bereitstellen möchten Sie, Ihre Bewerbung, und auf Ihre persönlichen Vorlieben. Von Java EE6, können Sie Ihr Paket EJBs zusammen mit anderen servlets, jsps usw. in den KRIEG-Datei (die Sie am Ende mit web-Anwendung, die Sie bereitstellen können, die nur auf java ee 6 kompatiblen server). Wenn Sie das Paket Ihrer app auf die alte Weise mit ejbs in einem separaten Paket und Krieg getrennt, können Sie java-ee-5-server, wenn Sie nicht verwendet haben andere features von java ee6 innerhalb Ihrer Anwendung können Sie trennen Sie die Bereitstellungen of Ihr EJBs und Kriege haben eine klare Trennung von Ihrem business layer (EJB) und die Ansicht (Servlets, JSP ' s etc).
Mit einem OHR bietet eine saubere Trennung zwischen Geschäfts - (in der Regel stateless EJB Bohnen bieten, Backend- /db-bezogene Dienste und kann grundsätzlich verwendet werden, die von nicht-web-clients) und Frontend (xhtml-Dateien, JSF backing beans, etc).
Ich in der Regel befolgen Sie die unten aufgeführten übereinkommen, für ein Projekt, sagen wir "foo":
Gebäude foo-Krieg.Krieg erfordert nur foo-client.jar
Gebäude foo-ejb.jar erfordert nur foo-client.jar.
Die Struktur im OHR:
Gibt es vielleicht eine Möglichkeit zu haben, eine ähnlich saubere Trennung, wenn Ihr code wird eingesetzt als eine KRIEG aber die oben ist, was ich arbeite und scheint zu funktionieren für mich (ich bin für Vorschläge offen, natürlich).
Der Java EE Plattform verwendet eine verteilte Multi-Tier-Anwendung-Modell für enterprise-Anwendungen. Die Anwendungslogik gliedert sich in Komponenten nach der Funktion und der Anwendung Komponenten einer Java EE-Anwendung installiert werden, die auf verschiedenen Maschinen, abhängig von der tier-in die Multi-Tier-Java-EE-Umgebung, zu der die Komponente gehört.
Dem Bild unten Balg zeigt zwei Multi-Tier-Java-EE-Anwendungen, unterteilt in die Ebenen in der folgenden Liste beschrieben. Die Java-EE-application-Teile gezeigt, die in diesem Bild dargestellt werden in Java-EE-Komponenten.
Client-tier-Komponenten laufen auf dem client-Rechner.
Web-tier-Komponenten laufen auf der Java EE-server.
Business-tier-Komponenten laufen auf der Java EE-server.
Enterprise information system (EIS)-tier-software läuft auf dem EIS
server.
Obwohl eine Java EE-Anwendung kann darin bestehen, alle Ebenen in Abbildung 1-1, Java EE Multi-Tier-Anwendungen sind im Allgemeinen als drei-Tier-Anwendungen, denn Sie verteilen sich über drei Standorte: den client-Rechnern, die Java-EE-server und den Datenbank-oder legacy-Maschinen im back-end. Drei-Tier-Anwendungen, die laufen auf diese Weise erweitern Sie die standard-zwei-Tier-client-und-server-Modell, indem eine Multithread-Anwendung-server zwischen client-Anwendung und dem back-end-storage.
Also in der Regel wollen wir in 2 oder 3 getrennten Schichten:
OHR (Enterprise Anwendung ARschnittlauch)
-EJB (Enterprise JavaBeans)
-KRIEG (Web ARschnittlauch)
und manchmal JPA (Java Persistance EinePI)
Ich hoffe, Sie finden diese nützlich,
Danke.