Ich habe bereits in einem Thread diese Frage so nebenbei gestellt. nun wollte ich mal dafür einen eigenen Thread öffnen ^^
Ich möchte ein Programm umsetzen welches Daten auf einem Server speichert und bei eventuellen Aktualisierungen informiert wird. Nun schwanke ich zwischen mehreren Modellen. JavaRMI, CORBA, Java Sockets oder doch die Kommunikation über HTTP an nen PHP-Server. Dabei geht es mir nicht um eine möglichst schnelle und komfortable Umsetzung sondern:
- Um einen möglichst sauberen Aufbau des Kommunikationsablaufs
- Möglichst hoher Performance
- Und um eine Möglichst hohe und problemlose Erweiterbarkeit des Systems
Mit allen diesen Systemen habe ich bereits Erfahrung gemacht.
JavaRMI ist meiner Ansicht nach ziemlich einfach in der Umsetzung, der Datentransfer kann wenig Overhead enthalten und die spätere Erweiterbarkeit bei einem sauber umgesetzten Programm ist optimal. Doch wie sieht es mit der Performance aus? Vor allem auf der Serverseite? Egal ob momentan hier 1 oder 100 Clients verbunden sein sollen, man nähme an es wären durchgehend Tausende von Clients, denn dieses Projekt soll nur als Vorprojekt für einen Größeren sein.
CORBA ist in meinen Augen das Performanteste System was den Server angeht, denn dieser wird in C++ Programmiert. Die Kommunikation zwischen JavaClient und C++ Server gestaltet sich jedoch nicht ganz unproblematisch. Was den Overhead angeht kann ich nichts zu sagen.
Bei Java-Sockets sehe ich keinen Vorteil gegenüber JavaRMI. Wenn ich mich irre belehrt mich eines besseren
Kommunikation über HTTP-Requests ... Hmm ... Hier müsste ein Apache-Server her der die Anfragen mit Hilfe von PHP verarbeitet. Durch das Caching-System der PHP-Abläufe als Binärdatzeien ist die Informationverarbeitung deutlich schneller als mit Java. Jedoch müssten die Daten via. JSON-Objekte versendet werden um wenig Overhead zu verursachen, was beim Parsen etwas Rechenaufwand bedeutet. Hier kann auch keine Verbindng gehalten werden, also müsste der Client regelmäßig anfragen an den Server senden um bei eventuellen Aktualisierungen auf dem neusten Stand zu bleiben.
So, jetzt habe ich viel geschrieben und möchte nun eure Meinung wissen was das beste System ist um die og. Anforderungen zu erfüllen?
Ich möchte ein Programm umsetzen welches Daten auf einem Server speichert und bei eventuellen Aktualisierungen informiert wird. Nun schwanke ich zwischen mehreren Modellen. JavaRMI, CORBA, Java Sockets oder doch die Kommunikation über HTTP an nen PHP-Server. Dabei geht es mir nicht um eine möglichst schnelle und komfortable Umsetzung sondern:
- Um einen möglichst sauberen Aufbau des Kommunikationsablaufs
- Möglichst hoher Performance
- Und um eine Möglichst hohe und problemlose Erweiterbarkeit des Systems
Mit allen diesen Systemen habe ich bereits Erfahrung gemacht.
JavaRMI ist meiner Ansicht nach ziemlich einfach in der Umsetzung, der Datentransfer kann wenig Overhead enthalten und die spätere Erweiterbarkeit bei einem sauber umgesetzten Programm ist optimal. Doch wie sieht es mit der Performance aus? Vor allem auf der Serverseite? Egal ob momentan hier 1 oder 100 Clients verbunden sein sollen, man nähme an es wären durchgehend Tausende von Clients, denn dieses Projekt soll nur als Vorprojekt für einen Größeren sein.
CORBA ist in meinen Augen das Performanteste System was den Server angeht, denn dieser wird in C++ Programmiert. Die Kommunikation zwischen JavaClient und C++ Server gestaltet sich jedoch nicht ganz unproblematisch. Was den Overhead angeht kann ich nichts zu sagen.
Bei Java-Sockets sehe ich keinen Vorteil gegenüber JavaRMI. Wenn ich mich irre belehrt mich eines besseren
Kommunikation über HTTP-Requests ... Hmm ... Hier müsste ein Apache-Server her der die Anfragen mit Hilfe von PHP verarbeitet. Durch das Caching-System der PHP-Abläufe als Binärdatzeien ist die Informationverarbeitung deutlich schneller als mit Java. Jedoch müssten die Daten via. JSON-Objekte versendet werden um wenig Overhead zu verursachen, was beim Parsen etwas Rechenaufwand bedeutet. Hier kann auch keine Verbindng gehalten werden, also müsste der Client regelmäßig anfragen an den Server senden um bei eventuellen Aktualisierungen auf dem neusten Stand zu bleiben.
So, jetzt habe ich viel geschrieben und möchte nun eure Meinung wissen was das beste System ist um die og. Anforderungen zu erfüllen?