RMI oder Sockets

Status
Nicht offen für weitere Antworten.

drlunze

Neues Mitglied
Hallo,

also ich bin am überlegen mein Praktikum nochmal neuzuschreiben.

Folgendes szenario:
Einen Webviewer für medizinische Bilder.

Die aktuelle Lösung verwendet ein Applet als Client und Serverseitig rennt ein RMI Server.
Es wird ganz simpel berechnet wo man sich Bild befindet mit welcher Zoomstufe, diese Information wird an den Server gesendet, der wiederum den Bildausschnit als return zurückgibt.
Funktioniert alles soweit ganz gut, aber mir kommt die Lösung etwas komisch vor.

Meine Idee wäre das ganze auf Sockets umzustellen, vor allem weil ich bei der "Clientwahl" flexibler wäre.
Ein Flashclient wäre ganz nett.

Mein nächster Schritt ist die Bildübertragung auf "Tiling" umzustellen, also anstatt das ganze Bild aufeinmal anzufordern werdern immer nur x*x große Auschnitte angefordert und bevor ich das mache wollte ich eben mal nachfragen.

Lohnt sich der Neuaufwand, bzw macht es überhaupt Sinn?

MfG
 
T

tuxedo

Gast
Das kommt auf deine Kommunikation an.

RMI nimmt dir viel Protokoll-Logik ab und die verwendung ist recht einfach. Wenn du auf Socket wechselst, wechselst du mindestens 1-2 Layer nach unten. Da musst du dann alles selbst machen.

Im Endeffekt kommt's auf dein Ziel an.
Ist dein Ziel den Client sprachunabhängig zu machen: Nimm Sockets.
Wenn du das letzte bisschen Performance aus der Leitung kitzeln willst: Nimm Sockets.
In allen anderen Fällen: Nimm RMI oder jede andere RPC Technik

Bzgl. der Performance mit RMI:
Wenn du die Objekte die über die Leitung gehen (also Methodenargumente und Rückgabewerte) möglichst ein sehr flaches POJO darstellen und somit fast ausschließlich aus Primitiven und Arrays aus Primitiven bestehen, dann bist du da schon auf der sehr sicheren Seite. Besser wird's dann mit RMI nicht gehen.

Um also deine Frage(n) zu beantworten solltest du erstmal dein Ziel fest definieren. Auf Basis von "vielleicht" und "kommt mir komisch vor" lassen sich schlecht Aussagen treffen.

- Alex
 

FArt

Top Contributor
Socket muss nicht sein. Wenn du dir die Java-Abhängigkeit schenken möchtest, dann nimm z.B. SOAP.

Ok, ist nicht immer das schnellste. Dann kann man auch auf Burlap oder Hessian ausweichen (Hessian ist ein schönes Binärprotokoll mit APIs für viele Sprachen).

Noch besser: ein sauberes Design auf der Serverseite erlaubt es dir verschiedene Übertragungsprotokolle zu verwenden... vielleicht sogar plugable ;-)
 
T

tuxedo

Gast
Richtig, das gute alte Soap ... Vergesse ich immer wieder :)

Zum Pluggable Thema fällt mir noch Spring RPC ein. Da kann man anscheinend auch die Kommunikationsschicht einfach austauschen wenn man will.

- Alex
 

drlunze

Neues Mitglied
Hallo,

Danke euch für eure Vorschläge und Tips :toll:

Bzgl. der Performance mit RMI:
Die Performance ist eigentlich super, wenn man bedenkt das die jetzige Implementierung immer ganze Bilder verschickt sobald man sich im Bild auch nur 1 pixel bewegt.


Noch besser: ein sauberes Design auf der Serverseite erlaubt es dir verschiedene Übertragungsprotokolle zu verwenden... vielleicht sogar plugable
Das ist nicht gefordert, ein fancy Client wäre da wichtiger, aber dafür braucht mein Projektpartner einen Server der Clientunabhängig ist.

Hier ist der Link zum Viewer der Scannerfirma: Spectrum WebScope

Ich werde heute mal hessian antesten.

Danke auf jeden Fall :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Jannn Socket Sockets an ein anderes Gerät weiterreichen? Netzwerkprogrammierung 8
JaXnPriVate Java HTTPS Server (Secure Sockets) Netzwerkprogrammierung 15
B Socket Bilder verschicken via Sockets. Heap-Problem. Netzwerkprogrammierung 2
E Socket Parameter über Sockets übergeben und auslesen ! Netzwerkprogrammierung 5
D Socket Verwirrung bei Sockets Netzwerkprogrammierung 1
E Mehrere Sockets Netzwerkprogrammierung 2
N Fragen zu Sockets Client Netzwerkprogrammierung 3
A Sockets Serialisierung Netzwerkprogrammierung 1
K Threads closen und Sockets schliessen Netzwerkprogrammierung 5
H Sockets oder HTTP- Methoden? Netzwerkprogrammierung 3
T Socket Bidirektionale Verbindung mit Sockets Netzwerkprogrammierung 8
P Problem mit Datagram-Sockets Netzwerkprogrammierung 2
C Socket Datagram-Sockets mit integrierter Message Queue? Netzwerkprogrammierung 2
M Problem Client - Server Sockets: .ready() wird nie true! Netzwerkprogrammierung 6
F Technologiewahl: Swing/RMI/Sockets Netzwerkprogrammierung 13
B Sockets, Threads & Plugins Netzwerkprogrammierung 7
T Verbindungsversuche über TCP Sockets von mehreren Threads führt zu Serverabsturz Netzwerkprogrammierung 2
D Mehrere Clients über Java-Sockets Netzwerkprogrammierung 13
F FTP Client mit Sockets - wann sagt der Server nichts mehr? Netzwerkprogrammierung 7
U Socket Abhören eines Sockets/Ports in extra Thread Netzwerkprogrammierung 8
M Socket Sockets Grundlage Netzwerkprogrammierung 25
I Socket HTTP Nachrichten über Sockets verschicken Netzwerkprogrammierung 2
D Socket Raw Sockets mit java.net.*? Bsp ICMP Netzwerkprogrammierung 7
H Komprimierte Sockets Netzwerkprogrammierung 4
V Verbindung zweier Rechner über das Internet mit Sockets Netzwerkprogrammierung 8
L Sockets übergeben Netzwerkprogrammierung 4
G NIO Sockets Architektur Problem Netzwerkprogrammierung 2
S Problem bzgl. Sockets / Server-Client-Struktur Netzwerkprogrammierung 3
B Socket Was muss man bei Sockets beachten? Netzwerkprogrammierung 10
N Socket Sockets und Events Netzwerkprogrammierung 11
A Programm umschreiben von Pipes auf Sockets Netzwerkprogrammierung 12
B Paralleler Dateitransfer: Ein Client - Mehrere Sockets? Wie connecten? Netzwerkprogrammierung 16
P Sockets +Port Forwarding = Chaos Netzwerkprogrammierung 4
clupus Exception beim Schließen eines Sockets Netzwerkprogrammierung 6
Q Thread und Sockets... Netzwerkprogrammierung 2
G Sockets und HTTP: Ende des Datenempfangs erkennen Netzwerkprogrammierung 3
J Array oder Object über Sockets Netzwerkprogrammierung 8
O Sockets -- Einsieg Netzwerkprogrammierung 3
S Sockets und gzip Netzwerkprogrammierung 8
B Nachricht über Sockets kommt nicht an Netzwerkprogrammierung 8
data89 Sockets: ein alter Hut - für Euch - für mich nicht! Netzwerkprogrammierung 10
S Wiedereinmal Sockets ;-) Netzwerkprogrammierung 15
J Ascii / Unicode bei Sockets? Netzwerkprogrammierung 2
G Datagram-Sockets für UDP-Kommunikation Netzwerkprogrammierung 2
K "Ende eines Sockets" Netzwerkprogrammierung 9
A Sockets Netzwerkprogrammierung 10
feuervogel Sockets - Lokalen Port aber nicht IP bestimmen Netzwerkprogrammierung 3
C Einfacher Filedownload mit Sockets geht nicht für pdffiles Netzwerkprogrammierung 16
E Sockets, readLine() Netzwerkprogrammierung 7
M Sockets und InputStream Netzwerkprogrammierung 8
G Verbindung über Sockets Netzwerkprogrammierung 2
S zip-files über sockets übertragen Netzwerkprogrammierung 11
G immer wieder gleiche Sockets Netzwerkprogrammierung 2
V Suche Alternative zu Sockets Netzwerkprogrammierung 3
E Problem bei Sockets/InputStream über externe Klasse Netzwerkprogrammierung 5
A Datenverlust (zuviele Daten!) über Sockets Netzwerkprogrammierung 4
AlClemento Sockets -> BufferedReader Problem Netzwerkprogrammierung 2
F Problem mit Threads und Sockets Netzwerkprogrammierung 3
B Übertragung via Sockets Netzwerkprogrammierung 12
C Dateien über Sockets versenden? Netzwerkprogrammierung 10
T Sockets Verständnisfrage: abwechelnd lesen-schreiben Netzwerkprogrammierung 4
S Habe ein Problem mit Sockets -> Client Server Netzwerkprogrammierung 2
G Strings über Sockets senden Netzwerkprogrammierung 5
P Probleme mit einem Array aus Sockets Netzwerkprogrammierung 2
Y buch: Netwerprogrammierung und Sockets Netzwerkprogrammierung 2
B Eigenes Protokoll über Sockets verschicken Netzwerkprogrammierung 4
P Welche Art von Sockets für ein Spiel? Netzwerkprogrammierung 3
C Sockets über Internet Netzwerkprogrammierung 10
K Applet - Servlet Kommunikation ohne Sockets Netzwerkprogrammierung 5
S Objekte zwischen Client und Server über Sockets senden Netzwerkprogrammierung 2
Z chat: wann http und wann sockets verwenden? Netzwerkprogrammierung 11
D Java Sockets Probs Netzwerkprogrammierung 4
N Verarbeitung nach Weiterleitung in Sockets Netzwerkprogrammierung 2
A Serialisierung über Sockets möglich? Netzwerkprogrammierung 3
M sockets (security) Netzwerkprogrammierung 2
C IRC CHAT auslesen -> Sockets/input und output Streams Netzwerkprogrammierung 9

Ähnliche Java Themen

Neue Themen


Oben