Serialisieren von Objecten

Status
Nicht offen für weitere Antworten.

MQue

Top Contributor
Hallo,

wenn ich ein Client-Server Programm habe und auf der Serverseite ein Objekt serialisiere, dann muss ich ja auch diese Klasse ins Clientprogramm kopieren oder gibt es da eine andere Möglichkeit auch?

Was ist eigentlich der Vorteil von Serialisierung gegenüber einem "normalen" Bytestream?

Vielen Dank,
lg
 
Zuletzt bearbeitet:

gex

Bekanntes Mitglied
Ich gehe davon aus, dass du über die Objektserialisierung von Java (Serializable) sprichst.

Die Idee davon ist ja, dass du ein Objekt serialiseren kannst (über Netzwerk oder auch auf die HDD), und es zu
einem späteren Zeitpunkt einfach wieder als Objekt auferstehen lassen kannst (JavaBean).
Lesson: Bean Persistence (The Java™ Tutorials > JavaBeans(TM))

Damit du das Objekt Deserialiseren kannst, benötigst du logischerweise beidseitig die Klasse.

Inwiefern willst du das mit einem normalen Bytestream vergleichen? Das serialiserte Objekt wird in deinem Fall
ja auch über einen Bytestream ausgetauscht, nur eben das du nicht manuel (de)serialisiert.

Wenn du nicht beidseitig die gleiche Java Klassen haben möchtest, könntest du den Austausch via XML machen,
mit entsprechendem Mehraufwand.

Klassen solltest du jedoch nicht "kopieren" im eigentlichen Sinne, sondern vielmehr durchs Build-Management sowohl dem Client wie auch dem Server durch ein "common"-Package zur Verfügung stellen.
Im Eclipse bspw. wie Project Dependencies, mit Maven als Common-Module usw...
 

MQue

Top Contributor
Klassen solltest du jedoch nicht "kopieren" im eigentlichen Sinne, sondern vielmehr durchs Build-Management sowohl dem Client wie auch dem Server durch ein "common"-Package zur Verfügung stellen.
Im Eclipse bspw. wie Project Dependencies, mit Maven als Common-Module usw...

Vielen Dank erstmal für die Erklärung, den letzten Absatz hab ich aber nicht verstanden,
wenn der Server auf Rechner A und der Client auf Rechner B läuft, dann nützt mir ja ein common- Package nichts, oder sehe ich da was falsch, wo soll das common- Package dann sein, auf dem Rechner A, B oder einen dritten Rechner?

Vielen Dank,
 

Wildcard

Top Contributor
gex meinte damit eine Jar zu erstellen in der diese Klassen liegen und sie sowohl Client als auch Serverseitig einzubinden.
 

MQue

Top Contributor
gex meinte damit eine Jar zu erstellen in der diese Klassen liegen und sie sowohl Client als auch Serverseitig einzubinden.

Hallo,

hätte noch eine Frage in diese Richtung und zwar soll ich Daten aus einer XML Datei bzw. die XML- Datei selber serialisieren, d.h. der Client stellt einen Anfrage, der Server serialisiert dann entweder die XML- Datei mit dem XMLSerializer (ich glaub von Apache) oder er (der Server) ließt die Daten aus der XML- Datei aus, speichert die Daten definiert in einen List<String> und schickt das dann an den Server,

Was findet Ihr besser, ich vermute mal, dass das schicken der ganzen XML-Datei mehr overhead hat und man auch eine externe JAR benötigt (für den XMLSerializer) wenn ich mich nicht irre,
Wie würdet Ihr das machen?

Vielen Dank,
schönen Tag noch,
 

homer65

Top Contributor
XML ist ein Plattform- und Programmiersprachen unabhängiges Datenformat. Das hatt Vorteile, wenn man Daten zwischen verschieden Systemen austauschen will. Um aber lediglich zwischen zwei Javaprogrammen zu kommunizieren reicht der Austausch von Objekten völlig und ist wesentlich einfacher zu handhaben.
 

MQue

Top Contributor
XML ist ein Plattform- und Programmiersprachen unabhängiges Datenformat. Das hatt Vorteile, wenn man Daten zwischen verschieden Systemen austauschen will. Um aber lediglich zwischen zwei Javaprogrammen zu kommunizieren reicht der Austausch von Objekten völlig und ist wesentlich einfacher zu handhaben.

OK, das bestätigt meine Annahme,
schönen Tag noch,
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Objekt serialisieren/deserialisieren und in einer SQLite-Datenbank speichern Allgemeine Java-Themen 3
OnDemand Objekte serialisieren Allgemeine Java-Themen 3
B Mehrere Objekte verschlüsselt serialisieren Allgemeine Java-Themen 6
D Problem mit Referenzen beim Serialisieren Allgemeine Java-Themen 3
J Methoden Fehler beim serialisieren und laden!? help Allgemeine Java-Themen 4
X Objekte aus TableModel serialisieren und deserialisieren Allgemeine Java-Themen 4
J Bilddaten serialisieren Allgemeine Java-Themen 7
B Zertifikat des Users speichern (serialisieren oder kopieren) Allgemeine Java-Themen 2
A Dateien Serialisieren Allgemeine Java-Themen 50
G Objekte serialisieren Allgemeine Java-Themen 2
J Ein Objekt mehrfach serialisieren Allgemeine Java-Themen 2
A Problem beim serialisieren/deserialisieren einer ArrayList Allgemeine Java-Themen 3
M Observer serialisieren Allgemeine Java-Themen 7
K Collections oder Vektoren sicher zu serialisieren? Allgemeine Java-Themen 5
M DefaultTableModel wirft beim Serialisieren Exception :-( Allgemeine Java-Themen 7
Z Array serialisieren Allgemeine Java-Themen 4
G Serialisieren eines JButton mit Icon Allgemeine Java-Themen 8
F Textformatierungen wie serialisieren? Allgemeine Java-Themen 5
L unterschiedliche Größe beim serialisieren eines Objektes! Allgemeine Java-Themen 6
G Serialisieren von Objekten : IO Exception beim Schreiben Allgemeine Java-Themen 3
R Serialisieren Allgemeine Java-Themen 2
F Bild (File) komplett serialisieren Allgemeine Java-Themen 9
B Serialisieren von mehreren Objekten Allgemeine Java-Themen 7
B Serialisieren von Klassen Allgemeine Java-Themen 4
thE_29 Serialisieren von AWTEvent Allgemeine Java-Themen 19
I Vector serialisieren: StackOverflow Allgemeine Java-Themen 13
D Eigenschaften von Objecten Allgemeine Java-Themen 6
H2SO3- problem mit objecten verschiener Typen (E, <E> und T) Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben