Одно из ключевых требований для достигать персистирования данных за длительный период времени способность двинуть данные между помещать системы в архив или, в языке спецификации SNIA XAM (раздвижного метода доступа), двигая XSets между XSystems.
Спецификация XAM v1.0 поддерживает это требование путем обеспечивать поддержку для ехпортировать и импортировать Xsets. Она определяет методы используемые для того чтобы ехпортировать XSet от XSystem, возникающей формы взаимообмена данным по XSet канонической (пакета) и методов используемых для того чтобы импортировать Xset в Xsystem.
Этот столб предполагает вы несколько знакомы с XAM и как запрограммировать к той спецификации используя Java. Он фокусирует на форме и содержании пакета формы XSet канонического который состоит из 2 главным образом частей: документ XML который описывает политики, свойства и потоки одних или больше XSets последовал за бинарным представлением потоков.
Форма пакета соответствует к рекомендации 2005 W3C XML-бинарной оптимизированной упаковывая (XOP). Закавычить от рекомендации:
XOP определяют общецелевой механизм serialization для XML Infoset с бинарным содержанием которое не только применимо к МЫЛУ и MIME упаковывая, но к всем XML Infoset и любому упаковывая механизму.
Если вы малознакомы с XOP, и большинств люди, то статья Andrey Butov в вопросе декабря 2005 Журнала доктора Dobb's содержала хорошее введение.
Больше чем одно XSet можно содержать в пакете. Однако настоящая вставка справки XAM SDK только поддерживает одно XSet. Документ XML (AKA XSet очевидное) действительный и well-formed документ XML которого элемент корня xsets. Он можно parsed и манипулировать используя XSLT и другие инструменты XML. Аннекс b документа зодчества XAM содержит определение схимы XML (XSD) для XSet очевидного.
Для того чтобы изучить форму пакета более подробно, я написал малое вызванное применение Java StoreHelloWorld которое создает новое XSet содержа 2 XStreams. Первое Xstream содержит исходный код для вездесущей программы HelloWorld.java. Второе XStream содержит бинарный предмет HelloWorld.class зашифрованный к base64 и с типом MIME применения/base64. Нормально вы не должны шифровать XStream но показ бинарных файлов в блоге проблемн и следовательно временные решения.
Здесь исходный код для StoreHelloWorld. fferedOutputStream java.io.Bu ввоза; fferedInputStream java.io.Bu ввоза; fferedReader java.io.Bu ввоза; ввоз java.io.Fi le; leInputStream java.io.Fi ввоза; leOutputStream java.io.Fi ввоза; leNotFoundException java.io.Fi ввоза; leWriter java.io.Fi ввоза; исключение java.io.IO ввоза; putStreamReader java.io.In ввоза; putStream java.io.In ввоза;

























