tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
841
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    jounnie jounnie ist offline Grünschnabel
    Registriert seit
    Mar 2007
    Beiträge
    4
    Guten Tag Zusammen!

    Ich stehe gerade vor ein Problem: Ich muss FE von BE in 2 packages trennen (2 EARs). Das Backend sollte unabhängig von Frontend laufen (Ein Fronend ohne Backend läuft natürlich nicht. Ausser mit Mockups für Testing-Zwecke o.ä.)

    Wie realisiere ich am besten die Kommunikation wenn ich EJB 3.0 (2.1 würde gehen, ist mir aber zu aufwändig) und Webservices aus architektorischen Gründen nicht anwenden kann?

    Nun meine Lösungsansatz:

    Kommunikation über RMI mit hilfe von Spring wie in der Spring-Doku beschrieben für jeder Service mit gemeinsame Interfaces und Entities.

    Nun habe ich folgende maven projekte:

    - FrontendWeb (war/web-projekt, Abhängigkeit: CommonJAR)
    - FrontendEAR (ear-projekt, Abhängigkeit: FrontendWeb)

    - BackendJAR (jar?!-projekt, Abhängigkeit: CommonJAR)
    - BackendEAR (ear-projekt. Abhängigkeit: BackendJAR)

    und natürlich:

    - CommonJAR (beinhaltet entities und interfaces)

    Das ganze ist im Moment rein theoretisch. Kennt sich jemand schon aus mit solchen Trennungen? Was haltet ihr von meiner Idee? Gibt es Komplikationen? und wie initialisiere ich Spring auf der Backend-Seite? Hatte bisher nur Erfahrungen mit einer BE/FE-Mischung und Spring wurde vom Struts aus als Plugin initialisiert.

    Ein Danke im Vorraus
    Jonny
     

  2. #2
    MasterOP22 MasterOP22 ist offline Mitglied
    Registriert seit
    Jun 2010
    Beiträge
    21

    Nun habe ich folgende maven projekte:

    - FrontendWeb (war/web-projekt, Abhängigkeit: CommonJAR)
    - FrontendEAR (ear-projekt, Abhängigkeit: FrontendWeb)

    - BackendJAR (jar?!-projekt, Abhängigkeit: CommonJAR)
    - BackendEAR (ear-projekt. Abhängigkeit: BackendJAR)



    Hallo,

    erstmal wird mir iwie der Sinn noch nicht so klar. Warum 2 Ears?.. Nach Java EE Standards oder Konventionen, kommt das Frontend immer in eine .war und das Backend in ein EAR File. Wenn du das nachher deployst auf dein AppServer..dann hauste das .war ind den Webcontainer und das ear File in den EJB-Container und fertig..eine saubere Trennung von Frontend und Backend.
     

  3. #3
    gorefest gorefest ist offline Mitglied Brokat
    Registriert seit
    Apr 2009
    Beiträge
    256
    ich muss mich meinem Vorposter anschließen.

    ein EAR beinhaltet das Frontend (WAR) und das Backend(EJB-JAR). Ich habe das aus anderen Gründen mal voneinander getrennt (Änderung in den Webressourcen ohne Service / Backendredeploy).

    Deine Anwendungs-EJBs registrieren sich in irgend einem ENC, ohne Angabe findest Du alle beans im global JNDI. Diese kannst Du auch in einer nicht-mitdeployten Webanwendung ganz regulär adressieren, wenn Du in der web.xml und dem Deploymentdeskriptor Deines Server richtig die Beans definierst.

    Was ich nicht ganz verstehe, ist es, EJB3 zu verbieten, aber Spring zu erlauben, denn zumindestens ist das IOC-Geraffel ziemlich ähnlich.

    Bei einer Datenbankanwendung würde ich eher EJB nehmen, da Dir der Container einen Transaktionsmanager bereitstellt, den Du bei Spring erstmal reinfrickeln musst und meine Programmiererfahrung mir bisher das Gefühl vermitteln, dass das ganze Persistenzschichtzeugs in Spring viel unrunder läuft, als bei den Enterprisecontainern.

    Welchen Appserver nutzt Du?
     

  4. #4
    MasterOP22 MasterOP22 ist offline Mitglied
    Registriert seit
    Jun 2010
    Beiträge
    21
    Hallo,

    ja genau die Sache mit Spring habe ich auch net verstanden..also ich kann verstehen, dass man EJB 3 EJB 2.1. vorziehen sollte, aber das andere ist mir ein Rätsel. Hier in der Fiorma in der ich arbeite standen wir mal genau vor dem gleichen Problem. Spring bietet von haus aus keinen Transaktionsmanger an. Ist halt doof, wenn man eine TX-Klammer spannen möchte von da aus. Ich habe mich mit EJB 3.0 noch nicht so intensiv befasst..aber ich ahbe des öfteren gehört, dass Spring weiterhin etwas flexibeler und schlanker ist. Im Datenbankbereich habe ich bei Spring allerdings noch keine Schwächen festgestellt, ich persönlich finde es mit hibernate sogar 3mal einfacher und nachvollziehbarer. Aber Geschmackssache.

    ich hoffe dir ist erstmal geholfen
     

  5. #5
    gorefest gorefest ist offline Mitglied Brokat
    Registriert seit
    Apr 2009
    Beiträge
    256
    btw, hibernate ist die EJB3 Persistence Referenzimplementierung und die Hibernate Annotations == EJB JPA

    Das ist kein Unterschied. Das Zeug ist in EJB 3 nur deutlich sauber eingebettet.

    Grüße
     

  6. #6
    jounnie jounnie ist offline Grünschnabel
    Registriert seit
    Mar 2007
    Beiträge
    4
    Danke für eure Tipps

    Mir ist das schon klar, mit dem WARs, EJB & EJB-Clients aber wir benutzen Websphere 6.1 (J2EE 1.4). Ein Upgrade auf J2EE 1.5/5 wäre mit ein Feature Pack möglich, wird bei uns aber nicht freigegeben. Auf klar Deutsch: Keine EJB 3.0 möglich. Nur EJB 2.1. Erfreulicherweise ist Spring erlaubt

    Darum komme ich auf Lösung mit RMI+Spring (Kommunikation zwischen FE & BE). Habe schon der erste Prototyp implementiert und funktioniert! Jetzt ist nur noch eine kleine Frage offen: Wie initialisiere ich der SpringContext auf BE seite? In einen Statischen Context? (static{}) oder in einen Servlet? Ich habe ja keine EJBs die in der Startzeit des BE gestartet werden.

    Grüsse
    Jounnie
     

  7. #7
    gorefest gorefest ist offline Mitglied Brokat
    Registriert seit
    Apr 2009
    Beiträge
    256
    das ist genau das problem

    du kannst dir damit helfen, ein SLSB zu bauen, dass jeweils immer einen springcontext initialisiert und für den verlauf der sitzung vorhält.

    du hast dann allerdings anzahl sitzungen tx-kontexte.
     

Ähnliche Themen

  1. Access: Fehler nach Trennung in Front- und Backend
    Von kanti im Forum Office-Anwendungen
    Antworten: 0
    Letzter Beitrag: 10.03.08, 08:28
  2. XML als Backend? Möglichkeiten von XML
    Von it-bergmann im Forum XML Technologien
    Antworten: 0
    Letzter Beitrag: 17.01.08, 12:33
  3. Template für Backend
    Von phypon im Forum Content Management Systeme (CMS)
    Antworten: 1
    Letzter Beitrag: 25.05.05, 20:31
  4. PHP-Lösung mit R/3 Backend
    Von Vaio82 im Forum Coders Talk
    Antworten: 0
    Letzter Beitrag: 05.02.04, 18:08
  5. 24h Trennung
    Von ElFunghi im Forum Microsoft Windows
    Antworten: 3
    Letzter Beitrag: 07.03.03, 23:28

Stichworte