XAM


XAM , o el método de acceso extensible , es un estándar de almacenamiento desarrollado y mantenido por la Storage Networking Industry Association (SNIA). Está en proceso de ratificación como norma ANSI . XAM es una API para dispositivos de almacenamiento conscientes de contenido fijo. XAM reemplaza las diversas interfaces propietarias que se han utilizado para este fin en el pasado. Las aplicaciones de generación de contenido ahora tienen un medio estándar para guardar y encontrar su contenido en una amplia gama de dispositivos de almacenamiento.

XAM tiene una función similar a una API de sistema de archivos, como las operaciones de directorio y archivo POSIX , ya que permite que las aplicaciones almacenen y recuperen sus datos. XAM almacena datos de aplicaciones en objetos XSet que también contienen metadatos .

La API XAM estándar consta de los tres objetos principales y dos objetos secundarios que una aplicación puede manipular para almacenar y recuperar datos.

El primer objeto principal con el que tratan las aplicaciones para almacenar y recuperar datos se denomina Xset. Es el objeto que es el contenedor tanto para los datos como para los metadatos asociados. Los metadatos de XSet van más allá de los metadatos típicos del sistema y agregan campos para la retención y otras políticas de administración de datos. Las aplicaciones también pueden agregar sus propios metadatos de usuario. Este es un requisito clave en el mercado de almacenamiento de contenido fijo. Cualquiera de los metadatos en el XSet se puede consultar más tarde para encontrar el XSet.

XAM también tiene la noción de un sistema que contendrá los XSets. Este sistema de almacenamiento abstraído se denomina XSystem. El objeto XSystem también es la fábrica de objetos XSet (a través de métodos de creación y apertura). Cualquier aplicación determinada puede tener acceso a cualquier número de dispositivos de almacenamiento XSystem, por lo que es necesario crear objetos XSystem para cada sistema al que necesitemos acceder. Esto se hace a través de un objeto llamado XAMLibrary. La biblioteca XAM administra todas las conexiones a los dispositivos de almacenamiento y actúa como una fábrica de objetos XSystem.

El objeto XSystem que se devuelve de la connect()operación se puede usar para hablar con el dispositivo de almacenamiento. Todos estos objetos tienen propiedades a las que se accede de la misma manera. Estas propiedades pueden ser de varios tipos diferentes y se pueden crear en tiempo de ejecución. XAM proporciona una manera de hacer esto de forma segura con el objeto XIterator (secundario). El XIterator puede contener todas las propiedades, o solo un subconjunto (aquellas que tienen un nombre que comienza con un "prefijo"). Finalmente, un XStream es un objeto (secundario) que puede contener el contenido real asociado con un XSet. Los XStreams tienen operaciones para leer y escribir el contenido utilizando varios medios, tanto de forma sincrónica como asincrónica. El tipo de datos que contiene un XStream puede ser cualquier tipo Mime válido.