Данная группа спецификаций предназначена для решения следующих задач:
1. Агрегирования не связанных между собою файлов, т.е. представления их в виде файла, который может храниться и пересылаться по сетям связи в виде единого целого, а при необходимости из него могут быть извлечены исходные файлы (все или по отдельности), в т.ч. с сохранением их взаимного расположения в рамках файловой системы (в структуре папок/каталогов). Отметим, что данная задача не выделена четко в каталогах SAGA и eGIF TSC, хотя спецификации, обеспечивающие ее решение, косвенно упомянуты.
2. Компрессии (сжатия) данных. В настоящее время в связи с резким снижением стоимости хранения данных на машинных носителей, а также в связи с распространением специализированных алгоритмов компрессии для мультимедийной информации, задача универсальной файловой компрессии сохраняет актуальность главным образом при пересылке данных по сетям связи. Технологически задача компрессии обычно тесно связана с агрегированием, на практике многие (но не все) представленные на рынке форматы позволяют решать обе задачи одновременно.
|
|
В качестве форматов агрегации рассматривались две спецификации, удовлетворяющие требованиям по открытости, зрелости и распространенности:
- Образ файловой системы ISO 9660:1988. Изначально создавался как формат файловой системы для оптических носителей, но может быть использован и в других областях. Формат накладывает довольно существенные ограничения на структуру агрегируемой файловой системы в области длины имён файлов и каталогов, а также используемого набора символов. Возможности сохранения в этом формате различных атрибутов файлов также ограничены. Для преодоления этих ограничений используются различные расширения, так в операционных системах компании Microsoft обычно используется расширение Joilet а в POSIX-совместимых операционных системах – расширение Rock Ridge. Однако в связи с тем, что статус первой спецификации четко не определен, а вторая недостаточно поддержана на уровне настольных платформ, использование расширений рекомендуется только в качестве дополнения к основному стандарту, в обоснованных случаях по усмотрению госзаказчиков. Порядок использования расширений предполагается уточнить в последующих версиях профиля.
- Tape Archive (TAR). Входит в стандарт POSIX.1-2001. Формат удовлетворяет всем требованиям к открытости и имеет достаточно широкое распространение (особенно в POSIX-совместимых операционных системах). Имеется значительное число реализаций. Будучи первоначально разработан для агрегации файлов при записи на магнитную ленту, формат недостаточно эффективно обеспечивает прямой доступ к объединённым файлам, что, однако, не препятствует его использованию в целях, предусмотренных профилем.
|
|
Сопоставление форматов по расширенным критериям не проводилось, так как области применения указанных спецификаций не полностью пересекаются. Исходя из функциональных возможностей форматов, предложено включить их в профиль оба в статусе рекомендованных.
В качестве основных форматов компрессии на основании зарубежного опыта рассматривались следующие спецификации:
- ZIP. Формат не описан официально ни одной из организаций, занимающихся стандартизацией, но имеет чрезвычайно широкое применение в самых различных областях. Описание формата доступно на сайте компании PkWare[1] и не меняется в течении длительного времени. Использование этого формата свободно от выплат. Формат ZIP используется в таких стандартах как Open Document, J2SE и многих других. Имеются многочисленные реализации, обладающие высочайшей совместимостью.
- Gzip. Также как и ZIP, не относится к официально принятым стандартам, но имеет широчайшее распространение, в частности при передаче файлов по протоколу http. Так, все распространённые веб-браузеры умеют производить декомпрессию этого формата. В отличие от ZIP не является форматом агрегации, но лишь форматом компрессии. При необходимости, агрегация может быть выполнена отдельно, например, в формате TAR. Спецификация формата доступна[2], формат удовлетворяет всем условиям открытости.
Поскольку ни один из указанных форматов не удовлетворяет требованиям АПО по открытости в полной мере (отсутствуют их официально опубликованные стабильные спецификации), были рассмотрены также другие представленные на рынке и практически используемые в России форматы компрессии:
- RAR. Файлы, создаваемые одноимённой программой, разработанной компанией RARSoft[3]. Довольно широко распространены, особенно на территории бывшего СССР. Главным положительным свойством является высокая степень компрессии. Тем не менее, в связи с закрытостью формата RAR, он не может быть рекомендован для использования в системах, разрабатываемых в рамках электронного государства.
- Microsoft Cabinet (CAB). Формат cab широко используется в последних версиях программного обеспечения компании Microsoft. Спецификация формата доступна, но, несмотря на это, существует только одна полноценная реализация. Вне своей ниши (распространение программного обеспечения в среде Microsoft Windows) формат практически не используется.
- Bzip2. Является форматом компрессии, функционально сходным с Gzip, но, как правило, обеспечивающим большую степень сжатия. Удовлетворяет требованиям открытости, но из-за гораздо меньшей степени распространения и поддержки рынком не может быть рекомендован для использования в рамках электронного государства.
Ниже представлена сводная таблица оценки рассмотренных форматов по первичным критериям соответствия требованиям АПО.
Наименование | ZIP | GZIP | RAR | CAB | BZIP2 |
Стабильность | +/- | +/- | ? | + | + |
Доступность | + | + | - | + | + |
Отсутствие ограничений | +/- | + | ? | ? | + |
Отсутствие роялти | + | + | ? | ? | + |
Здесь и далее в таблицах используются следующие условные обозначения:
+ - соответствует требованиям, имеет соответствующий показатель;
- - явно не соответствует требованиям (например, текст спецификации содержит прямое отрицание данного требования или условия);
? – информация недоступна или не позволяет вынести окончательное заключение (например, в тексте спецификации нет прямых ограничений на ее использование, однако и не установлен явно ее свободный статус, а практика использования говорит о возможных патентных проблемах);
+/- - частично соответствует требованиям (имеются отдельные положения, которые не вполне удовлетворяют требованию, но не противоречат ему);
|
|
* - используется для критериев оценки, рассматриваемых сравнительно (см. раздел 1), указывает на спецификации, имеющие наилучшие показатели по данному критерию по сравнению с прочими рассмотренными.
В следующей таблице приведен сравнительный анализ форматов и их спецификаций по основным критериям.
Наименование | ZIP | GZIP | RAR | CAB | BZIP2 | Примечания |
Полнота | + | +/- | + | + | + | См. описание форматов выше. |
Соответствие содержания | + | +/- | + | +/- | + | |
Ориентация на открытые системы | + | + | ||||
Согласованность с принципами АПО | + | + | + | Форматы RAR и CAB являются частными | ||
Отсутствие дискриминации и расширения требований | + | + | ? | ? | + | |
Зрелость | * | Все рассмотренные форматы являются стабильными и не предполагают существенного развития. | ||||
Современность | * | |||||
Перспективность | ||||||
Рыночная поддержка | * | * | Формат компрессии GZIP используется в протоколе HTTP | |||
Практическое использование | * | * | ||||
Наличие свободных реализаций | + | + | - | - | + | |
Адаптивность и гибкость | + | - | + | + |
Как видно из таблицы, ни один из дополнительно рассмотренных форматов компрессии также не удовлетворяет всем требованиям АПО, в связи с чем было принято решение сохранить в Локальном профиле форматы ZIP и GZIP, придав им статус рекомендованных.