.NET SOAP in der Praxis

Man kann nicht nur beliebige Objekte und Sammlungen in eine XML SOAP-Datei serialisieren und per Deserialisierung später wiederherstellen, sondern man kann auch gemischte Strukturen in einer einzigen SOAP-Datei speichern. Man kann sich einen Stream wie eine Leitung (Pipe) vorstellen, durch die man fast alles versenden und später wieder zurückschicken kann, wenn man die Daten wiederherstellen will, wobei diese intakt bleiben und in dieselbe, ursprüngliche Struktur gebracht werden.

Dieser Prozess – auf einfache Weise unterschiedlichste Datenstrukturen in einen Stream konvertieren zu können – stellt einen Schritt hin zum ultimativen Ziel der Anwendungsunabhängigkeit dar. Selbst Datenstrukturen von Altanwendungen können somit einfach gespeichert, wiederhergestellt und mit ein wenig Aufwand in neue Strukturen transformiert werden.

Es gibt zwei Bedingungen, wenn man Datenformate innerhalb einer XML-Datei mischen und zuordnen will. Als Erstes muss man sicherstellen, dass die Reihenfolge, in der man die Strukturen speichert, mit der Reihenfolge übereinstimmt, in der sie wiederhergestellt werden, wie bei einem FIFO-Stack. Wenn man also ein Objekt speichert, dann eine ArrayList und dann eine Sammlung, muss man diese Datei später in derselben Reihenfolge deserialisieren: Objekt, ArrayList, Sammlung.

Zweitens ist das Attribut serializable nicht vererbbar. Wenn man also eine neue Klasse von einer serialisierbaren Klasse ableiten will, muss man die neue Klasse als ‹Serializable()› festlegen. Ein abgeleiteter Typ fügt Metadaten hinzu, so dass nur die abgeleitete Klasse wirklich wissen kann, ob sie serialisierbar ist oder nicht, weshalb die Fähigkeit zur Serialisierung auch nicht vererbbar sein sollte.

Themenseiten: Anwendungsentwicklung, Microsoft, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu .NET SOAP in der Praxis

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *