Klassen über Netzwerk kommunizieren lassen

G

guestUser

Gast
Hallo,

Ich hab zwei Klassen A und B auf zwei verschiedenen Rechnern (Adressen sind zur Laufzeit bekannt). Wie kann ich sie miteinander kommunizieren lassen? Zum Beispiel dass A eine Methode von B aufruft. Ist das überhaupt möglich?

Viele Grüße.
 

Torte

Neues Mitglied
Hallo,
ich habe dazu eine Frage.

Ist es auch gängie Art mittels RMI eine Client/Sever-Anwendung zu entwickeln, um auf eine Datenbank zuzugreifen, die auf einen Server liegt?

Was meine ich damit:
Wenn ich eine Datenbank irgendwo auf einem Server habe und direkt vom Client auf die Datenbank (bspw. MySQL) zugreifen will, muss ich ja im Client selbst das Passwort und den User hinterlegen, um die Verbindung zu bekommen. Mittels Decompilierung des Java-Codes würde dann ja jeder das Passwort und den Nutzernamen sehen, was ja nicht der Sinn sein sollte.

Daher frage ich mich, wie das normalerweise gelöst/implementiert wird.
Meine Gedanken gehen jetzt dahin, auf dem Server, neben der Datenbank, ein weiteres Java-Programm laufen zu lassen, welches die ganzen SQL-Befehle bereitstellt und auch die Connection zur Datenbank herstellt.
Und der Client, der irgendwo auf einem Rechner liegt, dann die Methoden des Server-Programms aufruft. Dadurch würde ich ja verhindern, dass das Passwort und der User bekannt werden, und dass nur die vorgegebenen SQL-Befehle des Server-Programms ausgeführt werden können.

Das RMI hört sich, was ich so gelesen habe, ja genau danach an. Dass ich dann die Methoden in dem Programm aufrufen kann und das so gelöst wird.


Meine Frage ist jetzt einfach, ob das in der Praxis auch so (mittels RMI) gelöst wird. Oder ob es da einen anderen Ansatz gibt, der besser, performanter oder was auch immer ist. :) Ich wäre euch dankbar, wenn ihr mir weiterhelft :)


Viele Dank schon mal für die Denkanstöße :p
 
T

träät

Gast
da RMI immer irgendwie objekt-referenzen und -instanzen verwendet ist es so auch möglich über reflections über RMI diese zu manipulieren ... und so doch wieder an die daten zu kommen (wie aufwändig das wäre weis ich nicht ... ist aber sicher möglich) ...

wenn es "vorgegebene" abfragen sein sollen würde sich sowas mit nem webservice realisieren lassen ... natürlich gehts auch mit ner eigenen anwendung ... dann würde ich aber kein RMI nutzen sondern normale sockets und darüber eigene parameter senden ...

RMI stellt halt durch mögliche Reflections ein großes sicherheitsrisiko dar
 
T

tuxedo

Gast
da RMI immer irgendwie objekt-referenzen und -instanzen verwendet ist es so auch möglich über reflections über RMI diese zu manipulieren ... und so doch wieder an die daten zu kommen (wie aufwändig das wäre weis ich nicht ... ist aber sicher möglich) ...

wenn es "vorgegebene" abfragen sein sollen würde sich sowas mit nem webservice realisieren lassen ... natürlich gehts auch mit ner eigenen anwendung ... dann würde ich aber kein RMI nutzen sondern normale sockets und darüber eigene parameter senden ...

RMI stellt halt durch mögliche Reflections ein großes sicherheitsrisiko dar

Sehe da kein allzugroßes Sicherheitsrisiko ...

Der RPC Client (ich sprech jetzt mal algemein für RMI und SIMON) hat in erster Linie ja nur (wenn mans richtig macht) eine Interface-Klasse. Darin sind exakt die Methoden aufgeführt, welche der CLient nutzen kann und darf. Keine mehr und keine weniger.

Der Client holt sich die Remote-Instanz in Form eines Proxys, welcher nach Anleitung der Interface-Klasse erstellt wird.
Selbst wenn du jetzt mit Reflection fit bist, kannst du da als Client nix ausrichten und Dinge manipulieren die du nicht manipulieren können solltest. Eben weil du das Objekt nicht tatsächlich in deiner VM hast, sondern nur ein Stellvertreter-Objekt, welches die Methoden der Interface-Klasse besitzt. Alle Methodenaufrufe werden dann über ein bestimmtes Protokoll in Byte-Pakete umgesetzt und über's Netzwerk zum Server geschickt. DER führt dann die Methode aus und liefert das Aufrufergebis wieder als Byte-Paket über's Netzwerk zurück an den Client.

Sofern man also dem Client keine Implementierungsklasse gibt, und die Interfaces so wählt, dass der Client keine unnötigen Methoden erhält, dann kann da erstmal gar nix passieren.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Klassen über JMX per URLClassloader laden? Netzwerkprogrammierung 2
F GSON wenn das Json verschiedene Klassen enthält Netzwerkprogrammierung 1
S Server - Mehrere Klassen sollen Daten senden und empfangen Netzwerkprogrammierung 25
A Probleme beim Klassen-Import von sun.misc. ... Netzwerkprogrammierung 19
D Mit wsimport erstellte Klassen ohne WSDL nutzen Netzwerkprogrammierung 4
M Multiplayerspiel programmieren... welche Klassen sind geeignet? Netzwerkprogrammierung 10
M Bestimmte Klassen für Netzwerkchecks gesucht Netzwerkprogrammierung 11
R wsimport erzeugt klassen -> wie nun weiter? Netzwerkprogrammierung 2
I rmi und download von klassen Netzwerkprogrammierung 12
G CORBA Klassen werden nicht erkannt. Netzwerkprogrammierung 7
K Tabelle im Web über Listener aufrufen Netzwerkprogrammierung 1
F Verbindung zu einem LDAP Server über Java Netzwerkprogrammierung 4
S Socket Bilder über Socket Senden Netzwerkprogrammierung 0
B Zip Dateien über FTP laden Netzwerkprogrammierung 2
x46 byte[] über BufferedReader auslesen Netzwerkprogrammierung 18
E Socket Parameter über Sockets übergeben und auslesen ! Netzwerkprogrammierung 5
L Webbasierte Anwendung - Authentifizierung über LDAP/ActiveDirectory Netzwerkprogrammierung 5
J Probleme mit Multicast über IPv6, DatagramChannel Netzwerkprogrammierung 1
S Daten über TCP/IP senden Netzwerkprogrammierung 3
T Broadcast-message über spez. Netzwerk-Schnittstelle Netzwerkprogrammierung 1
T Mikrofonaudio über Java Server an Webbrowser streamen Netzwerkprogrammierung 13
M Erstelltes Programm über Internet Browser ausführen Netzwerkprogrammierung 26
T VPN-Verbindung über Java Netzwerkprogrammierung 4
V Einfachen Javaserver über das Internet erreichbar machen Netzwerkprogrammierung 2
J FTP Upload über Proxy funktioniert nicht Netzwerkprogrammierung 1
E Kurze Textnachrichten über einen Server von meinem Handy auf den Computer laden. Netzwerkprogrammierung 9
J FTP FTP Zugriff über Proxy Server Netzwerkprogrammierung 1
Thallius Java Application über ZScaler benutzer? Netzwerkprogrammierung 0
J Chat Server starten über GUI problem Netzwerkprogrammierung 4
V einfaches hin und her von Text über Server Netzwerkprogrammierung 2
P RMI Client Server Programm über Internet Netzwerkprogrammierung 2
antonbracke Multiuser Software über XMPP Server Netzwerkprogrammierung 1
Z Verbindung zwischen 2 Rechnern über ServerSockets nicht möglich Netzwerkprogrammierung 3
cezary Socket ServerSocket starten über GUIIm unterstehenden Code versuche Netzwerkprogrammierung 6
I ASCII über serielle Schnittstelle Netzwerkprogrammierung 1
N RMI "RMI über Lan funktioniert nicht" & "RMI-Server im Lan scannen" Netzwerkprogrammierung 13
L Mit Java über PHP in MySQL anmelden (Login script) Netzwerkprogrammierung 3
M Socket String Arrays über Socket an Server schicken Netzwerkprogrammierung 2
T Socket Methoden über Internet aufrufen Netzwerkprogrammierung 1
S Socket Kommunikation über Internet Netzwerkprogrammierung 1
X Problem mit vielen Bytes über Socket Netzwerkprogrammierung 23
K ByteArray über Netzwerk senden klappt nicht Netzwerkprogrammierung 5
M allgemeine Frage über Server-Client-Kommunikation Netzwerkprogrammierung 5
P RMI Threads die über RMI auf Datenbank zugreifen Netzwerkprogrammierung 2
S Datei schreiben über Applet Netzwerkprogrammierung 8
J Erster Server-Client läuft auf lokalem Rechner problemlos. Zwei Rechner über das Internet nicht Netzwerkprogrammierung 8
Kjubert Synchronisieren von Objekten über Client/Server - bester Weg? Netzwerkprogrammierung 7
S ImageIcon über Socket schicken (Serialisierung) Netzwerkprogrammierung 6
H Socket Objekte über Socket? Allgemeine Verständnisprobleme in Sachen Socket Netzwerkprogrammierung 3
S Seltsames Verhalten beim Empfangen von Daten über DataInputStream Netzwerkprogrammierung 12
A TCP über UDP Verbindung? Netzwerkprogrammierung 10
C Datei über Socket schreiben und Ereignis lesen Netzwerkprogrammierung 9
D Socket Class über Netzwerk verschicken Netzwerkprogrammierung 2
D JNLP über Webstart funktioniert nicht... Netzwerkprogrammierung 2
J Socket Dateien über Socket auf Server speichern Netzwerkprogrammierung 3
D Socket Datei nur stückweise über Socket verschicken Netzwerkprogrammierung 6
G Bild über Socket schicken - Client/Server Netzwerkprogrammierung 10
A Computer über Internet verbinden Netzwerkprogrammierung 12
N über Java in eine Text-Datei auf einem Server schreiben Netzwerkprogrammierung 2
c_sidi90 ideale Lösung, Screen Capture über Netzwerk Netzwerkprogrammierung 3
S Socket Verschiedene Exceptions beim Übertragen von Bildern über Socket Netzwerkprogrammierung 20
T ArrayList über Netzwerk senden! Netzwerkprogrammierung 5
N Problem über http eine Datei zu senden Netzwerkprogrammierung 4
T Verbindungsversuche über TCP Sockets von mehreren Threads führt zu Serverabsturz Netzwerkprogrammierung 2
V Authentifikation über mehrere Server? Netzwerkprogrammierung 3
C Verbindung zu einem Hostrechner über das Internet herstellen Netzwerkprogrammierung 15
M Map über Webservice übertragen Netzwerkprogrammierung 3
D Mehrere Clients über Java-Sockets Netzwerkprogrammierung 13
P Socket Verbindung über das Internet Netzwerkprogrammierung 2
Z Socket Connection reset by peer nur per IP nicht über localhost Netzwerkprogrammierung 13
ruffio1978 Telnet über ein socket ansprechen Netzwerkprogrammierung 8
F Socket Verbindungen über mehrere Server Netzwerkprogrammierung 4
U Datei über das Netzwerk einlesen und speichern Netzwerkprogrammierung 8
E Zwei PCs über das Internet miteinander verbinden? Netzwerkprogrammierung 3
E Socketverbindung über das Internet - Timeout? Netzwerkprogrammierung 28
M Socket Bilder über das Netzwerk übertragen Netzwerkprogrammierung 4
E Java über Socket ins Internet? Netzwerkprogrammierung 4
F Socket Daten über verschiedene IP's schicken Netzwerkprogrammierung 5
M Socket JavaProg über einen Clienten steuern Netzwerkprogrammierung 5
M Mail über Exchange versenden Netzwerkprogrammierung 13
F C/S über HTTPS Netzwerkprogrammierung 2
D ...class.getResourceAsStream("/meine.properties") funktioniert nicht über RMI? Netzwerkprogrammierung 3
M ganymed-ssh2.har: ftp-Verbindung über ftp-Proxy Netzwerkprogrammierung 2
J Probleme bei RSA mit byte[] bei Versand über RMI Netzwerkprogrammierung 2
Z File über Socket lesen Netzwerkprogrammierung 3
A HTTP Binärdaten über PHP-Skript in Datenbank schreiben bzw auslesen Netzwerkprogrammierung 2
M Objekt über Object-Stream, empfange "alte" Daten Netzwerkprogrammierung 2
P FTP isFile() über FTP Netzwerkprogrammierung 3
I Socket HTTP Nachrichten über Sockets verschicken Netzwerkprogrammierung 2
N String als byte Array über Socket versenden Netzwerkprogrammierung 8
M Objekt über socket senden/empfangen Netzwerkprogrammierung 3
N Socket File über Socket vom Server an Client versenden Netzwerkprogrammierung 15
P Socket Problem mit Netzwerkverbindung über TCP Netzwerkprogrammierung 12
A UCP Connection über Proxy möglich? Netzwerkprogrammierung 7
V Verbindung zweier Rechner über das Internet mit Sockets Netzwerkprogrammierung 8
F Char über Netzwerk senden Netzwerkprogrammierung 6
S HTTP Login mit CAS Authentisierung über SSL Netzwerkprogrammierung 2
C Befehle über ein GUI an Server senden Netzwerkprogrammierung 15
M Socket Datei über Socket versenden Netzwerkprogrammierung 5
I Objekte über das Netzwerk Netzwerkprogrammierung 5

Ähnliche Java Themen

Neue Themen


Oben