При разработке импорта-экспорта предполагается что все данные можно привести к следующему виду:

  1. источник состоит из отдельных таблиц (ITable)
  2. таблицы состоят из строк (IRow)
  3. строки состоят из колонок (IColumn)

Полный этап внедрения импорта (экспорта) предполагает самостоятельную реализацию каждого интерфейса из структуры модуля:

 

 

Платформа Xafari поставляет готовый вариант реализации этих интерфейсов. Однако следует учесть, что эти реализации имеют ограничения по настройке импорта-экспорта и основываются на определенной схеме проведения импорта.

Реализация импорта-экспорта может быть выполнена по двум сценариям: полному и упрощенному.

При упрощенной реализации предлагается отталкиваться от того, что интерфейс IOperation реализуется в двух классах, соответствующих двум направлениям преобразования данных: импорту и экспорту (см. ImportOperation и ExportOperation соответственно). Оба класса имеют основной метод запуска операции - метод Execute(). В этом методе заложена функциональность и требования к правилам реализации операции. При использовании готовых классов ImportOperation и ExportOperation становятся доступными готовые реализации еще ряда интерфейсов:

 

public class ExportSettings: ISettings, IXmlSerializable

public class ImportSettings: ISettings, IXmlSerializable

public class Schema: ISchema, IXmlSerializable

public class TypeMap: ITypeMap, IXmlSerializable

public class MemberMap: IMemberMap, IXmlSerializable

 

При таком упрощенном сценарии разработки останется лишь реализовать IDataSource а также используемые для операций с данными интерфейсы IRow, ITable и IColumn.