Server -> Client zyklische Daten senden

Status
Nicht offen für weitere Antworten.

MQue

Top Contributor
Hallo,

hätte eine Frage zu einer Client- Server Architektur (in einer EE Umgebung mit einem tomcat) und zwar hab ich auf meinem Server Werte, die ich den Clients schicken möchte und auch eine svg- Datei,
die svg-Datei soll dem Client nach dem einloggen gesendet werden und dann zyklisch (z.B.: alle 2s) die Werte,
diese Werte sollen dann in die svg- Datei eingebaut werden (da wird mir DOM- Scripting nicht erspart bleiben),

Meine Frage wäre jetzt, wie man es am Besten realisiert, das ich den Clients die SVG- Datei sende und danach gleich zyklisch die Werte (also so eine Art Push-Ajax). Mach ich das mit einem Servlet oder wie würdet Ihr das machen,
Eine weitere Frage hätte ich auch noch, und zwar werden die Werte ja als XML- Fragmente gesendet damit ich diese dann überhaupt in die svg- Datei einbauen kann,
hättet Ihr da vielleicht einen Vorschlag, wie man das am Besten realisiert, mit SOAP o.ä.??

lg
 

byte

Top Contributor
Um Deine Frage zu beantworten: Servlets können laut Spec. keinen Server Push. Dein Client muss die Werte also periodisch pollen.
 

musiKk

Top Contributor
Oder man setzt das mit AJAX um. In der Geronimo Console gibt es z. B. einen Graphen, der den Speicherverbrauch anzeigt. Das ist auch ein svg, welches jede Sekunde aktualisiert wird und die neuen Daten anzeigt. Ich bin aber da nicht eingestiegen, wie das genau umgesetzt wurde. Wenn sich bei Google aber nichts einfach finden lässt (was Du natürlich schon probiert hast), dann wäre diese konkrete Umsetzung vielleicht eine gute Inspiration.
 

Noctarius

Top Contributor
Mit HttpXmlRequest Objekten lässt sich auch sogenanntes LongTime Polling realisieren (das nutzt z.B. Googles GWT). Du öffnest eine Verbindung zum Server, diese bleibt solange auf bis Daten gekommen sind, der Server baut sie ab, der Client macht sofort eine Neue auf.
Der Effekt ist: Die Daten sind sofort da wenn sie gekommen sind und nicht wie bei periodischem Polling mit Verzögerung.
 

MQue

Top Contributor

OK, über ein Framework werd ich nicht darüber hinwegkommen, da ich 2 Sachen benötige:
1. unter anderem bewegte Tabs
2. eben diese asynchrone, periodische Kommunikation

ich hab auch von dem dojo- Framework gelesen (das unterstützt visuelle Effekte), ob mich das bei der Kommunikation auch unterstützt????
Kann man mit dem GWT eigentlich bewegte Tabs realisieren?

lg
 

byte

Top Contributor
ich hab auch von dem dojo- Framework gelesen (das unterstützt visuelle Effekte), ob mich das bei der Kommunikation auch unterstützt????
Kann man mit dem GWT eigentlich bewegte Tabs realisieren?

Was sollen bewegte Tabs bitte sein? Wenns ne Webanwendung werden soll, kannst Du Dir ma YUI angucken. Ansonsten gibts für GWT ne schicke UI Lib namens GXT. Ist aber GPL.
 

Noctarius

Top Contributor
Uff ob GWT bewegte Tabs hat (also ich denke mal du meinst frei sortierbare - also Reihenfolge) weiß ich garnicht. Der Vorteil an GWT ist eben, dass du dich nur bedingt mit Javascript rumärgerst (und das Wort meine ich so), da du Java schreibst und der GWT Compiler das Javascript von sich aus erzeugt.

Als Aufsatz auf den GWT Compiler gibt es noch GXT (ExtJS for GWT - Ext GWT - Java Component Library) was aus meiner Sicht noch etwas hübscher aussieht und mehr Controls bietet. Kann aber auch daran liegen, dass wir in der Firma schon lange ExtJS in seiner JS-Reinform einsetzen.

Ansonsten kann ich GWT (bzw GXT) sehr empfehlen. Die Lernkurve ist nicht so steil wie bei anderen Frameworks, es lässt sich zur Not mit anderen integrieren (auf Serverseite versteht sich) - z.B. mit Spring, Hibernate und Anderen und wer schon mal mit Java GUI rumhantiert hat (also Swing / AWT / SWT) der sollte auch mit dem grundlegenden Aufbau von GWT fix klarkommen.

Ansonsten ist ExtJS ansich nicht schlecht aber eben Javascript-"OOP"-Programmierung. Dojo ist ganz nett an sich aber da gefällt mir das Design nicht.

edit: Ok byto war schneller :D
 

MQue

Top Contributor
Vielen Dank für die Vorschläge!!!

@Servlets können laut Spec. keinen Server Push
nochmal zu dem ServerPush, ich hab jetzt probiert, dass ich in einem Servlet ein Thread.sleep mache und dann nochmal was schicke, nichtmal das geht, oder hab ich da was falsch gemacht:

Java:
@Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    
        final PrintWriter out = response.getWriter();
        int x = random.nextInt(255);
        out.println(String.valueOf(x));
        try {
            Thread.sleep(1000);
            }
        catch (InterruptedException ex) {
            System.out.println("Ausnahme: " + ex);
            }
        out.println(443);
        }
 

MQue

Top Contributor
Das ist schon klar, nur soll ich eine Anwendung schreiben, von dem das Senden vom Server ausgeht, z.B.: soll der client einmal anfragen und der Server sendet dann seine Daten zum Client periodisch bis auf Sankt Nimmerlein wenn die Verbindung nicht abreißt, anderenfalls wieder Verbindung aufbauen und wieder das selbe Spiel.
Und deshalb bin ich auf der Suche nach Anhaltspunkten, wie ich das realisieren kann. Mit Servlets schauts schlecht aus, die Spezi. sagt ja gleich oder gar nicht und der Lifecycle eines Servlets ist auch nicht für das ausgelegt (so schauts jedenfalls aus).
lg
 
Zuletzt bearbeitet:

Noctarius

Top Contributor
Achso du willst den Longtime-Request implementieren. Normal solltest du den Thread anhalten können. Gibt es beim Senden denn eine Fehlermeldung oder hast du mal ein out.flush probiert?
 

byte

Top Contributor
Das ist schon klar, nur soll ich eine Anwendung schreiben, von dem das Senden vom Server ausgeht, z.B.: soll der client einmal anfragen und der Server sendet dann seine Daten zum Client periodisch bis auf Sankt Nimmerlein wenn die Verbindung nicht abreißt, anderenfalls wieder Verbindung aufbauen und wieder das selbe Spiel.
Und deshalb bin ich auf der Suche nach Anhaltspunkten, wie ich das realisieren kann. Mit Servlets schauts schlecht aus, die Spezi. sagt ja gleich oder gar nicht und der Lifecycle eines Servlets ist auch nicht für das ausgelegt (so schauts jedenfalls aus).
lg

Du könntest das auch einfach mit RMI machen. Der Client registriert einen Callback, auf dem der Server dann Aufrufe macht, wenn neue Daten da sind.
 

MQue

Top Contributor
Du könntest das auch einfach mit RMI machen. Der Client registriert einen Callback, auf dem der Server dann Aufrufe macht, wenn neue Daten da sind.

Mal (wieder) ne blöde frage, geht RMI mit JavaScript oder wie mach ich das?
auf meine Server hab ich als Middleware eh Spring verwendet, aber wie mach ich das beim Client mit dem Browser und wie registriert man dann eine callback- Methode?

Eine callback- Methode mit JS hab ich registriert aber du wirst wahrscheinlich was anderes meinen:

Java:
function getVariables() {    
    createRequest();
    var url = "ControllerServlet";
    request.open("post", url, true);
    request.onreadystatechange = updatePage;
    request.send(null);    
    }

lg
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Ordner von Client an Server senden Allgemeines EE 2
J Client Request vom Server aus. Allgemeines EE 2
G XML vom Server zum Client Allgemeines EE 4
M Objektübergabe von Client zum Server Allgemeines EE 11
M "Auto Client-Request" oder Server-Push oder Ajax – Allgemeines EE 2
M probleme mit client server kommunikation Allgemeines EE 3
N Wie heisst das was der Client beim Http Server anfragt? Allgemeines EE 6
thor_norsk Glassfish Server unter Windows startet nicht! Allgemeines EE 20
L Tcp-IP Server an Rest Schnittstelle Allgemeines EE 20
4a61766120617274697374 Managed Server im J2EE Umfeld Allgemeines EE 0
B Integrierte Datenbank in Wildfly Server Allgemeines EE 2
N wildfly | jax-ws | Server mit WS-Reliable Messaging Allgemeines EE 0
N WebService WAR-File auf Tomcat-Server Allgemeines EE 1
E Wie kann ich über einen Suchfeld in Java Server Pages nach Datenbankinhalten suchen? Allgemeines EE 11
N JBOSS7 server.log rotieren Allgemeines EE 3
P Subprozess auf Application Server ausführen Allgemeines EE 6
P Context and Dependency Injection (CDI) ohne Server Allgemeines EE 6
S Jboss Server Allgemeines EE 5
F Gesucht: Gratis Server für Java Entwickler Allgemeines EE 4
T "normales" Java Programm auf einen Server laufen lassen Allgemeines EE 3
Evil-Devil Server/Tech-Empfehlung für Web-App? Allgemeines EE 12
Y Jasperreport Pfadprobleme am Server Allgemeines EE 11
F Java EE Server nutzung kostenlos an Schule? (zB. mit Glassfish) Allgemeines EE 6
T MS SQL Server, GlassFish, JDBC Allgemeines EE 2
T The server does not support version 3.0 of the J2EE Web module specification. Allgemeines EE 6
MQue Datei vom Server downloaden Allgemeines EE 2
S Unterschied zwischen Tomcat und Application Server? Allgemeines EE 3
P Eclipse Tomcat Plugin funktioniert nicht mit externem TC-Server? Allgemeines EE 4
MQue Server Pfad Allgemeines EE 17
MQue Application Server Allgemeines EE 61
GFEMajor EJB auf externem Server aus GWT aufrufen Allgemeines EE 13
musiKk Langlebige Berechnungen auf Server ausführen Allgemeines EE 5
N erstes Java EE Projekt - Server/ EJB-Verbindung-Anfängerfage Allgemeines EE 17
H Server VM warning: bailing out to foreground collection Allgemeines EE 1
K Java Application Server + ganttproject *.jar Anwendung Allgemeines EE 6
K Sriplets & Servlets: Offline Projekt auf Server realisie Allgemeines EE 2
B Welchen Applikation-Server verwendet ihr? Allgemeines EE 6
A Windows 2003 Server, ActivDirectory,Zertifikatslösung mit J? Allgemeines EE 2
M Bibliotheken ins Projekt oder auf den Server stellen? Allgemeines EE 4
S Suche gutes JSF(Java Server Faces)-Tutorial Allgemeines EE 2
flashfactor Gibt es ein Case Management für Java Application Server? Allgemeines EE 6
E Portal Server Evaluation Allgemeines EE 3
M Überblick verloren, viele Frameworks, Server & Co Allgemeines EE 3
G Deployen am JBoss Server Allgemeines EE 14
M Java Application Server in einem ungesunden Zustand Allgemeines EE 4
S Java Server Faces & Google Web Toolkit verheiraten ? Allgemeines EE 2
R Jboss-Server mit Beispielanwendung füttern Allgemeines EE 2
I Sun App Server JDBC MySQL Allgemeines EE 2
D Servlet Problem über Server Allgemeines EE 26
L Tomcat auf Windows Server 2003 Allgemeines EE 10
M datei liste (jsp,html) von einem Server Allgemeines EE 4
W Eine Form an einen fremden Server schicken. Allgemeines EE 3
karambara weiterleiten zu url (nicht auf dem eigenen server) Allgemeines EE 1
K STRUTS The server encountered an internal error Allgemeines EE 5
D Eure Meinung über Internal Server Error Allgemeines EE 2
X Sun Application Server 9 - EJB3 Zugriffsproblem Allgemeines EE 2
haomomo *.do URLs dont work in apache web server+tomcat Allgemeines EE 3
S Verständnisproblem: WebSphere und HTTP Server Allgemeines EE 2
G properties file im J2EE Server - wo wird genau gesucht? Allgemeines EE 6
R Embedded WebService-Server Allgemeines EE 4
N Einbindung einer Bean in eine JSP (Tomcat-Server 5.5.x) Allgemeines EE 2
clemson Ordner auf Linux-Server erstellen --> Rechteproblem Allgemeines EE 5
C JBoss Server unter Eclipse 3.1 Allgemeines EE 2
TRunKX Wie kriege ich die Auswahl in meinen Server Request? Allgemeines EE 7
clemson [Struts] Validierung server-seitig bringt StackOverflowError Allgemeines EE 5
K Java Server Pages und Images Allgemeines EE 10
W Servlet killt Server? Allgemeines EE 7
G Application Server! Gibt es eine grundsätzliche Architektur? Allgemeines EE 9
M Übersicht über Application Server Allgemeines EE 3
B Sun Application Server 8 --- Nichtsaussagende Fehlermeldung Allgemeines EE 2
K Virtueller Server <> Root Server Allgemeines EE 3
B Was kostet ein Application Server Allgemeines EE 18
K Kostenloser Portal Server Allgemeines EE 2
K Sun Application Server - Servlets laufen nicht Allgemeines EE 2
E Web-, EJB-Container - Application Server Allgemeines EE 6
W Java-APIs in Java ServerPages, Java Server Faces ? Allgemeines EE 2
J server ignoriert jsp code Allgemeines EE 4
T Servlets und Dateizugriff auf dem Server Allgemeines EE 5
T JSP: Eingaben als *.txt auf dem Server Speichern Allgemeines EE 14
T Textdateien mit JSP auf dem Server speichern ? Allgemeines EE 2
N Server mit Servlet- und JSP-Unterstützung Allgemeines EE 5
LimDul Rest-Client/DTOs aus JSON Ergebnis generieren Allgemeines EE 3
I Client Desktop -> Update in Browser? Allgemeines EE 0
Yamanuchi Glassfish 4 : Client Anzahl restriktieren Allgemeines EE 2
R Web-Applikation mit GWT- und Android-Client Allgemeines EE 0
H SQL Daten von Webservice an Client übergeben Allgemeines EE 3
T Client IP ermitteln Allgemeines EE 3
C Objekte aus EJB an Client schicken Allgemeines EE 6
T JMX und ServiceMBean - Zugriff mittels Client Allgemeines EE 2
S Rich Client Application mit Eclipse/WebLogic/EclipseLink/EJB3 Allgemeines EE 2
C JMS Remote Client Allgemeines EE 5
G EJB client Allgemeines EE 4
W JBoss log dependencies aus jbossall-client.jar Allgemeines EE 7
W Client als Jar und die vielen Abhängigkeiten Allgemeines EE 2
P unique ID am Client Allgemeines EE 3
D Wohin mit Resourcen (Bilder, txt Dateien) im Application Client Allgemeines EE 3
J geschützter Bean zugriff mit einem Rich-Client Allgemeines EE 2
P Client startet viel zu langsam ??? Allgemeines EE 5
K Glassfish Application Client Allgemeines EE 4
C EntityBean im GWT-Client Allgemeines EE 2

Ähnliche Java Themen

Neue Themen


Oben