Moin!
Wenn ich ein Client-Server-basiertes Java-Programm schreibe (Client mit Java und Server mit Java), das über das ganze Internet funktionieren soll, was für eine "Fern"-API nehme ich da am besten?
Ich weiß jetzt noch nicht, wieviel Daten hin und herwandern, aber es soll vom Client eine von mehreren definierten Anfragen abgeschickt werden, der Server führt sie aus und schickt seinerseits das Ergebnis oder selber einen Befehl zurück, den der Client dann ausführen soll. Nehmen wir mal an, dass es maximal 30 Clients geben kann.
Sicherheit ist übrigens nicht soo wichtig, ich will mich nach Möglichkeit also nicht mit Sandkästen oder Sicherheitsmanagern rumschlagen (außer es geht nicht anders); die sorgen höchstens dafür, das irgendwas nicht klappt und man zusätzlichen Aufwand in jeder Hinsicht hat...
Es gibt ja RMI, Corba, die Klassen Socket und ServerSocket, XML-RPC, ....
Kann mir jemand die Vor- und Nachteile der einzelnen Methoden erläutern, bzw. welches scheint auf den ersten Blick am geeignetsten? Hab ich ein Verfahren vergessen?
Welches Verfahren bietet sich an, wenn man:
a) schnelle Kommunikation in beide Richtungen haben will und/oder
b) den Programmierer nicht überfordern will ;-) und/oder
c) es sowohl client- als auch Serverseitig leicht einzurichten sein soll
Was eignet sich, wenn jetzt jemand sagt "Der Server oder Client ist zu langsam, in C/C++ wäre er schneller" und man nicht alles neu schreiben will?
Ich habe übrigens mal gehört, RMI kommt nicht über Proxies hinaus, aber ich konnte nirgendwo eine Bestätigung dafür lesen. Hat RMI solch eine Einschränkung?
Lesezeichen