Eine der Schlüsselanforderungen für das Erzielen der langfristigen Datenausdauer ist die Fähigkeit, Daten zwischen der Archivierung der Systeme oder, in der Sprache der SNIA XAM (ausdehnbare Zugriffsmethode) Spezifikation zu verschieben und verschiebt XSets zwischen XSystems.
Die XAM v1.0 Spezifikation stützt diese Anforderung, indem sie Unterstützung für den Export und den Import von Xsets gewährt. Sie spezifiziert die Methoden, die angewendet, um ein XSet von einem XSystem, vom resultierenden XSet kanonischen Datenaustauschformat (Paket) und von den Methoden zu exportieren, die angewendet, um ein Xset in ein Xsystem zu importieren.
Dieser Pfosten annimmt r, dass Sie mit XAM ein wenig vertraut sind und wie man zu dieser Spezifikation unter Verwendung Java programmiert. Er konzentriert auf das Format und den Inhalt des XSet kanonischen Formatpakets, das aus zwei Hauptteilen besteht: ein XML Dokument, das die Politik, die Eigenschaften und die Ströme von einen oder mehreren XSets beschreibt, folgte von der binären Darstellung der Ströme.
Das Paketformat anpaßt an die 2005 W3C XML-binäre optimierte verpacken(XOP) Empfehlung). Zu von der Empfehlung veranschlagen:
XOP definieren einen universellen Veröffentlichungmechanismus für das XML Infoset mit binärem Inhalt, der auf die SEIFE und MIME nicht nur anwendbar ist, die verpacken, aber zu jedem möglichem XML Infoset und irgendein verpackenmechanismus.
Wenn Sie mit XOP nicht vertraut sind und die meisten Leute sind, enthielt ein Artikel durch Andrey Butov in der Dezember 2005-Ausgabe von Doktor Dobbs Journal eine gute Einleitung.
Mehr als ein XSet kann in einem Paket enthalten werden. Jedoch stützt die gegenwärtige XAM SDK Bezugsimplementierung nur ein XSet. Das XML Dokument (AKA das XSet offenkundig) ist ein gültiges und wohl geformtes XML Dokument, dessen Wurzelelement xsets ist. Es kann unter Verwendung XSLT und anderer XML Werkzeuge analysiert werden und manipuliert werden. Anhang B des XAM Architekturdokuments enthält eine XML Schema-Definition (XSD) für das offenkundige XSet.
Um das Paketformat ausführlicher zu studieren, schrieb ich eine kleine Java-Anwendung, die StoreHelloWorld genannt das ein neues XSet verursacht, das zwei XStreams enthält. Das erste Xstream enthält den Quellencode für das überall vorhandene HelloWorld.java Programm. Das zweite XStream enthält den binären Gegenstand HelloWorld.class, der zu base64 und mit einer MIME-Art Anwendung/base64 verschlüsselt. Normalerweise sollten Sie ein XStream nicht verschlüsseln, aber, Binärdateien in einem Blog anzuzeigen ist problematisch und folglich die Abhilfe.
Ist hier der Quellencode für StoreHelloWorld. Import-java.io.Bu fferedOutputStream; Import-java.io.Bu fferedInputStream; Import-java.io.Bu fferedReader; Import java.io.Fi Le; Import-java.io.Fi leInputStream; Import-java.io.Fi leOutputStream; Import-java.io.Fi leNotFoundException; Import-java.io.Fi leWriter; Import-java.io.IO-Ausnahme; Import-java.io.In putStreamReader; Import-java.io.In putStream;

























