其中一个达到长期数据坚持的关键要求是能力移动数据在归档系统之间或,在SNIA XAM (延伸性存取方式)规格的语言,移动XSets在XSystems之间。
XAM v1.0规格通过提供支持支持这个要求为出口和进口Xsets。 它指定使用的方法从XSystem、总值XSet标准数据互换格式(包裹)和使用的方法出口XSet进口Xset入Xsystem。
这个岗位假设使用Java,您熟悉有些XAM和如何编程到那个规格。 它集中于包括二主要部分XSet标准格式包裹的格式和内容: 描述政策、物产和小河一个或更多XSets的XML文件被小河的二进制表示法跟随了。
包裹格式依照2005 W3C XML二进制优化包装的(XOP)推荐。 从推荐引述:
XOP定义了XML的Infoset一个通用连续广播机制与是不仅可适用的对包装的肥皂和的MIME的二进制内容,但是对所有XML Infoset和任何包装的机制。
如果您对XOP是不熟悉的,并且多数人民是,由Andrey Butov的一篇文章在Dobb的Journal医生的12月2005日问题包含了好介绍。
超过一XSet可以在包裹包含。 然而当前XAM SDK参考实施只支持一XSet。 XML文件(AKA明显的XSet)是根元素是xsets的一个合法和合格的XML文件。 使用XSLT和其他XML工具,它可以被解析和被操作。 XAM建筑学文件的Annex B包含一个XML图解定义(XSD)的明显的XSet。
为了较详细地学习包裹格式,我写称创造包含二XStreams的新的XSet的StoreHelloWorld的一个小Java应用程序。 第一Xstream包含普遍存在的HelloWorld.java节目的原始代码。 第二XStream包含二进制对象HelloWorld.class输入对base64和与应用或base64的MIME类型。 通常您不应该输入XStream,但是显示在博克的二进制文件是有问题并且解决方法。
这StoreHelloWorld的原始代码。 进口java.io.Bu fferedOutputStream; 进口java.io.Bu fferedInputStream; 进口java.io.Bu fferedReader; 进口java.io.Fi le; 进口java.io.Fi leInputStream; 进口java.io.Fi leOutputStream; 进口java.io.Fi leNotFoundException; 进口java.io.Fi leWriter; 进口java.io.IO例外; 进口java.io.In putStreamReader; 进口java.io.In putStream;

























