J2EE Grundlagen - Kommunikation

Siassei

Bekanntes Mitglied
Hallo,

folgendes möchte ich zu Versuchszwecken implementieren.

Webseite auf eine J2EE-Server
J2EE Client

Auf der Webseite soll der Benutzer über WebStart einen Client starten. Nun würde ich gerne eine Kommunikation zwischen der Webseite (AJAX) und des Clients erstellen.
Sprich, der Client soll über den Server der Webseite Informationen mitteilen und umgekehrt. Im Versuch möchte ich einen String oder Farbinformationen austauschen.

Leider fehlt mir hier der Ansatz :-(
Mein größtes Problem ist die Session der Webseite. Wie kann sich der Client mit der Benutzer-Session der Webseite verbinden bzw. kommunizieren?

Gruß,
Thomas
 

Siassei

Bekanntes Mitglied
Servus,

ein Fan der X-Serie. Das waren noch Spiele :)

Leider kann ich deine Antwort nicht ganz nach voll ziehen. Ich progge zur Zeit nur in meiner Freizeit --> Erfahrungen und Kentnisse begrenzt.
In wie weit nützt mir dein Http Tipp? Ich komme nicht dahinter. Vielleicht liegts auch an der Niederlage :-( und dem Alkohol gehalt :)

Die Kommunikation muss über den Server laufen. Dieser soll die Möglichkeit haben das ganze zu protukolieren.
Ein kleines Beispiel:
Drücke ich z.B. auf der Webseite einen Button, dann soll der Hintergrund des Clients auf Grün schalten. Drücke ich den Button auf dem Client, dann soll von mir aus der Hintergrund der Webseite von Weiß auf Blau wechseln.

Wenn sich der User mit dem Webbrowser sich mit dem Webserver verbindet wird doch auf diesem eine Session angelegt. Nach dem Login bekommt der Benutzer eine Seite, mit der der Client gestartet werden kann.
Wie kann ich nun einen Handler einrichten, der den Datenverkehr zwischen EE-Client und Webseite (AJAX) regelt?

Es handelt sich dabei um eine sehr wichtige Frage für mich, da sie essentiell für das Verständnis von Client-Server-Webseite Technologie ist.

Wenn ich deinen Tipp richtig interpretiere, dann müsste
- jeder Http-Request in der gleichen Session auf dem Server landen und das unabhängig vom Programm
- jedes Programm kann auf die Session zugreifen

Das kommt mir doch etwas Spanisch vor. Daher frage ich, ob du das bestätigen kannst. Das würde nämlich bedeuten, dass ich zum Beispiel folgendes machen kann.
Im Webbrowser A erstelle ich eine Verbindung zu meiner Online-Banking Plattform. Nun übertrage ich den URL für z.B. Überweißungen per Copy&Paste in Browser B und ...
Leider funktioniert das nicht :)

Kannst du deinen Link etwas erklären bzw. erläutern wieso mir das weiterhilft?

Gruß,
Thomas
 

X3TitanCore

Bekanntes Mitglied
Hallo!

Stimmt das ist die X-Reihe. X3 ist für mich die beste Weltraumsimulation die ich kenne.

Also wenn ich das richtig verstehe soll da eine Kommunikation in beide Richtungen stattfinden. Da fällt mir so spontan nur eine Socketverbindung ein, die du mit dem HTTP-Client herstellen könntest. Was mir nicht klar ist warum die Session so wichtig ist. Wenn die Session für den Login wichtig ist, dann könntest du den Login auch in den Client verlagern und die Socketverbindung wird nur aufgebaut wenn der Login richtig war und der Server ein ok sendet.

Mit dem HTTP-Client kannst du die ganzen Sachen machen. Socketverbindungen, HTTP-Verbindungen. Cookies, SSL etc.

Gruß
Dirk
 
B

bananenkasper

Gast
Stehe vor der selben Herausvorderung.
Habe es momentan folgendermassen gelöst:

JEE-Projekt
* Daten-Tier: JPA
* Buisness-Tier (Anwendungslogik): EJB
* UI (web): JSF
* UI (Desktop): "normale" Java Anwendung gestartet über Java-Webstart

Die in den EJBs vorhanden Methoden für die UI <-> Anwendungskommunikation bekommen als Parameter die SessionID des Clients.
Diese SessionID ist im Buisness-Tier zu den Client-spezifischen Daten gemappt.

Webstart Anwendungen können beim Starten Parameter übergeben bekommen, wie eben auch die SessionID.
Da die Desktop-Anwendung über Webstart gestartet wird, bekommt sie beim Starten die entsprechende SessionID mitgeteilt.
Die Anwendung greift ebenso wie das Web-UI über EJBs auf die Anwendungslogik zu und hat, ebenso wie die Web-Anwendung die aktuelle SessionID.

Desktop-Client und Web-Client können so parallel auf die Session-spezifischen Daten zugreifen und diese Session-weit verändern.
Veränderungen dieser Daten werden unmittelbar an Desktop-Client und Web-Client gebroadcastet. (Web-Client muss per AJAX die Daten pollen)

Laut Java-EE5-Spezifikation gibt es einen sogenannten "Application Client". Ich glaube das ist genau das, was im Detail dahinter steckt, hab ich bisher aber nicht nachgeschaut.
Vermute aber stark, dass es nichts weiter ist als eine Desktop-Anwendung, die eben über JNDI und RMI Zugriff auf ein EJB hat...
 

Siassei

Bekanntes Mitglied
Servus,

die Idee mit der Sessions-Id übergabe hatte ich auch schon. Doch irgendwie scheint mir das zu unsicher zu sein.

Wie stellst du folgendes sicher?
Der Client wird ganz normal gestartet und der User arbeitet damit. Jetzt bricht z.B. die Internetverbindung zusammen und der Benutzer muss sich neu einloggen --> neue Session.
Wie bekommt nun der Client die neue Session mitgeteilt? Ich frage deshalb, da sonst alle Änderungen seit der letzten Übertragung, die im Client gemacht worden sind, verloren gehen würden.

Veränderungen dieser Daten werden unmittelbar an Desktop-Client und Web-Client gebroadcastet. (Web-Client muss per AJAX die Daten pollen)
Geschieht das automatisch oder muss ich mich darum kümmern?
 
B

bananenkasper

Gast
Wie stellst du folgendes sicher?
Der Client wird ganz normal gestartet und der User arbeitet damit. Jetzt bricht z.B. die Internetverbindung zusammen und der Benutzer muss sich neu einloggen --> neue Session.
Wie bekommt nun der Client die neue Session mitgeteilt? Ich frage deshalb, da sonst alle Änderungen seit der letzten Übertragung, die im Client gemacht worden sind, verloren gehen würden.

Wenn die Session, die der Desktop-Client anfragt, ungültig ist, gibts eine Fehlermeldung. Der User muss in diesem Fall den Desktop-Client erneut per Webstart starten.

Geschieht das automatisch oder muss ich mich darum kümmern?

Darum musst du dich selbst kümmern. Nutzte dafür Richfaces, das bringt AJAX-Support. Damit geht sowas sehr einfach.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K J2EE Grundlagen - Verständnisfragen Allgemeines EE 2
4a61766120617274697374 Managed Server im J2EE Umfeld Allgemeines EE 0
R DotNet für J2EE Programmierer Allgemeines EE 1
BuckRogers Jboss 7** und j2ee 1.7 Allgemeines EE 1
T Einstieg in J2EE: Remote auf Bean zugreifen Allgemeines EE 11
T The server does not support version 3.0 of the J2EE Web module specification. Allgemeines EE 6
M Messwertarchiv unter J2EE Allgemeines EE 4
G J2EE Architektur Allgemeines EE 40
T J2EE, MySQL, Linux, Applikationsverfügbarkeit mangelhaft, Analyse Allgemeines EE 2
ModellbahnerTT Welche J2EE Buch? Allgemeines EE 4
W Daten mit j2ee aus datenbank abfragen Allgemeines EE 8
S J2EE Architektur/Pattern/... Allgemeines EE 11
G Persistenz mit Hibernate oder J2EE? Allgemeines EE 11
T E-Mail in J2EE Plattform Allgemeines EE 6
R Sourcen einbinden von J2EE bzw auch für Servlets in Eclipse Allgemeines EE 8
M J2EE beim SCJA Allgemeines EE 4
B J2EE Frage Allgemeines EE 4
R Tutorial für J2EE Allgemeines EE 3
T J2EE Einstieg - Mit was? Allgemeines EE 7
K J2EE Security - A JSF based Login Form Allgemeines EE 7
J Rechnername auf dem eine J2EE läuft Allgemeines EE 10
G Suche Tutorials/Bücher - J2EE Allgemeines EE 5
A Wie werden Template Engines unter J2EE umgesetzt? Allgemeines EE 3
S JSF mit Eclipse J2EE Allgemeines EE 6
G grundlegendes j2ee verständniss Allgemeines EE 6
M Anfängerfragen J2EE Allgemeines EE 13
P Basissystem für J2EE App Allgemeines EE 5
ARadauer aus j2se anwendung auf j2ee elemente zugreifen Allgemeines EE 2
T Probleme beim Einsatz von J2EE / JBoss Allgemeines EE 4
G J2SE vs J2EE Allgemeines EE 4
X J2EE Anfängerfrage ( JSF / EJB 3.0 Tutorial) Allgemeines EE 1
S Anfängerfrage zu J2EE Allgemeines EE 2
B Wozu J2EE ? Allgemeines EE 2
M J2EE Entwicklung mit Eclipse Allgemeines EE 5
M Brauche ich J2EE ? Allgemeines EE 2
E J2EE unter Eclipse Allgemeines EE 6
L jsdk oder j2ee Allgemeines EE 5
K Design einer J2EE applikation? Allgemeines EE 2
G j2ee eclipse bekanntmachen Allgemeines EE 4
G properties file im J2EE Server - wo wird genau gesucht? Allgemeines EE 6
M MVC in J2EE: mehrere JSPs über ein Servlet kontrollieren Allgemeines EE 7
M Wo finde ich den j2ee-source? Allgemeines EE 5
P J2EE Struts - Database connection failed - Hilfe?:( Allgemeines EE 6
P J2EE Struts Allgemeines EE 2
H Schnelleinstieg für J2EE Projekt? Allgemeines EE 5
B J2EE-App mit Netbeans4.1 Allgemeines EE 3
K J2EE WebAnwendung - Umfrage - Planung/Techniken Allgemeines EE 8
G Gute Bücher zu J2EE Allgemeines EE 5
A Kolloquium J2EE / Struts Allgemeines EE 16
S J2EE, Java - Beans, Datenbankzugriff, JSP Allgemeines EE 7
A Probleme mit J2EE und Tomcat Allgemeines EE 7
A Brauche ich J2EE für Beans? Allgemeines EE 9
S Servlets zum laufen bringen mit J2EE Allgemeines EE 3
M Grundlagen Portlets.ein paar(anfänger) Fragen Allgemeines EE 6
Dimax Servlet Servlet Kommunikation Allgemeines EE 18
G Kommunikation zwischen den Schichtenmodellen Allgemeines EE 3
A EJBs Kommunikation Allgemeines EE 2
M probleme mit client server kommunikation Allgemeines EE 3
M Kommunikation zwischen zwei Servlets Allgemeines EE 5
R Denkanstoß gefragt: Kommunikation zw. Java App und WebApp Allgemeines EE 3
Z JSP - JavaServer Kommunikation Allgemeines EE 2
A Kommunikation zwischen Java Servlet und Bean Allgemeines EE 1

Ähnliche Java Themen

Neue Themen


Oben