Работа с открытыми форматами документов

Модератор: Модераторы


Работа с открытыми форматами документов

Сообщение Estrelia » 03 май 2010, 21:01

http://www.ibm.com/developerworks/ru...X99&S_CMP=GR01

Работа с открытыми форматами документов: Откройте дверь открытым форматам

Татьяна Василькова, ведущий инженер, Научно-исследовательский институт средств автоматизации

Описание: Oткрытые форматы – альтернатива проприетарным , спецификации которых находятся в свободном доступе, а использование не ограничено.

Что такое открытый формат

Как известно, цифровые данные представляют собой лишь набор единиц и нулей. Бессмысленную для человека последовательность байтов превращают в видео, звук или текст специализированные приложения, «знающие», как именно следует обрабатывать данные. Чтобы прочесть текст или увидеть изображение, пользователь должен обладать таким приложением. Разработчику программ необходимо знать правила, по которым файл был создан. Если его формат является проприетарным – собственным закрытым форматом производителя программного обеспечения, пользователь попадает в зависимость от него. Такая ситуация называется “vendor lock-in” (замыкание на производителе).

Альтернатива проприетарным – открытые форматы, спецификации которых находятся в свободном доступе, а использование не ограничено. В качестве примера приведем определение из Википедии: «Открытый формат – это общедоступная спецификация хранения цифровых данных, обычно разрабатываемая некоммерческой организацией по стандартизации, свободная от лицензионных ограничений при использовании».

Владельцам проприетарных форматов их распространение дает прибыль и возможность монополизации рынка. Для всех остальных, а также для конечных пользователей программных продуктов предпочтительно использование открытых форматов. При этом разработчики получают возможность взаимодействия своих программ с приложениями других производителей, а пользователи – уверенность в том, что смогут прочитать свои данные спустя несколько десятков лет.

Последнее соображение сегодня волнует власти многих государств: тотальный переход от бумажного делопроизводства и архивного хранения документов к электронному, не говоря уже об идее электронного правительства, вынуждает на государственном уровне принимать решения о конкретных применяемых технологиях. Понятно, что государственные структуры предпочитают иметь дело с открытыми стандартами.

Как формат становится стандартом

Закономерный итог развития успешной технологии – ее стандартизация. Разработкой стандартов информационных технологий обычно занимаются отраслевые консорциумы. Среди наиболее известных стоит выделить следующие: OASIS (Organization for the Advancement of Structured Information Standards – организация по продвижению стандартов для структурированной информации), W3C (World Wide Web Consortium – консорциум WWW), ECMA (European Association for Standardizing Information & Computer Systems – Европейская ассоциация по стандартизации информационных и вычислительных систем). Утвержденные ими спецификации часто называют стандартами, хотя это не совсем верно.

Стандарты* утверждаются международной организацией по стандартизации ISO, созданной в 1947 году и объединяющей стандартизирующие организации различных стран. Россию в ней представляет Федеральное агентство по техническому регулированию и метрологии.

В ISO стандарт-кандидат проходит шесть стадий: стадию предложения, подготовительную стадию, стадию комитета, стадию вопросов, стадию одобрения, стадию публикации. Однако если заявку подал один из сотрудничающих с ISO консорциумов, процедура проходит по схеме Fast Track, и стандарт попадает сразу на четвертый или пятый этап.

Так было в 2006 году, когда консорциум ECMA подал на утверждение в ISO спецификацию формата документов OOXML (Office Open XML), созданного корпорацией Microsoft и используемого в приложениях MS Office 2007.

* Здесь и далее автор говорит о международных стандартах, принятых в сфере ИТ. Разумеется, кроме стандартов ISO существуют и другие, о которых речи в данной статье не идет.


Войны форматов

К моменту подачи заявки разработанный OASIS формат ODF (Open Document Format) уже был принят как международный стандарт ISO 26300. Поскольку оба формата основаны на XML и предназначены для использования в офисных приложениях, у сторонников открытых технологий и противников Microsoft возник закономерный вопрос: зачем международному сообществу еще один стандарт формата офисных документов? Разгорелся конфликт: стороны не уставали приводить убедительные только для них самих аргументы, считать страницы в спецификациях (у ODF их оказалось значительно меньше) и критиковать друг друга.

Первая попытка утвердить OOXML в ISO оказалась неудачной – голосов не хватило (вопрос об утверждении стандарта решается голосованием по принципу большинства голосов). Однако в апреле 2008 года OOXML все-таки стал международным стандартом и получил номер 29500. Впрочем, история на этом не закончилась: четыре страны подали в ISO апелляцию на решение о стандартизации OOXML. Апелляция была отклонена.

Так или иначе, несмотря на продолжающуюся критику OOXML, Microsoft, а также самого процесса принятия OOXML в ISO, сегодня существуют два стандартных формата офисных документов.

В ходе развития событий наблюдатели не раз вспоминали историю десятилетней давности – так называемую войну браузеров. Тогда речь шла о реализациях одного и того же формата данных – html. Отсутствие стандартизированной спецификации позволяло производителям модифицировать язык гипертекстовой разметки (а также связанные технологии JavaScript и CSS) и реализовывать поддержку этих модификаций в собственных браузерах. Основных противников тогда тоже было двое – Microsoft и Netscape. Из длительного противостояния Microsoft вышел победителем, и опять не за счет объективных преимуществ. Internet Explorer на долгие годы безоговорочно монополизировал рынок браузеров. На руинах поверженного Netscape Navigator впоследствии возник Mozilla Firefox.

Сегодня проблема некорректного отображения страниц сайтов в альтернативных браузерах практически забыта. Если Microsoft выполнит обещания, данные при стандартизации OOXML, и полностью откроет спецификации, с форматами офисных документов случится то же: рядовые пользователи просто перестанут замечать отличия. Разработчикам же нужно будет знать формат документа только для того, чтобы определиться с требуемым программным интерфейсом. Способ получения сведений о формате документа зависит от того, какой из нескольких существующих механизмов задания формата используется.

Как задается и определяется формат файла

Что такое формат данных, интуитивно понимает всякий пользователь, имеющий дело с расширениями файлов. Этот механизм используется, например, в операционной системе Windows. Окончание имени файла, следующее после точки, является указанием на его формат. С расширением может быть ассоциировано приложение, которое по умолчанию используется для открытия файлов такого типа.

Существуют и другие механизмы задания формата.

В UNIX-системах применяются так называемые «магические числа» – последовательности символов, соответствующие формату файла. Соответствие комбинаций чисел и форматов файлов задается в специальном файле magic. В GNU/Linux он обычно находится в каталоге /usr/share/misc/. Определить формат можно при помощи команды file (листинг 1).

Листинг 1. Определение формата файла в ОС Linux с помощью команды file$ file grep
grep: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV),
for GNU/Linux 2.4.0, dynamically linked
(uses shared libs), stripped
$ file oracle-security.pdf
$ oracle-security.pdf: PDF document, version 1.4



В файле magic для форматов ELF и pdf указано следующее (листинг 2).

Листинг 2. Содержимое файла magic0 string \177ELF ELF
>4 byte 0 invalid class
>4 byte 1 32-bit
>4 byte 2 64-bit

0 string %PDF- PDF document
>5 byte x \b, version %c
>7 byte x \b.%c



В левой колонке указывается номер байта, начиная с которого следует искать содержимое второй колонки. В соответствии с этим содержимым делается вывод о характеристике файла, которая находится в третьей колонке. Она и демонстрируется пользователю в результате выполнения команды file.

Для хранения информации о типе файла могут быть задействованы метаданные файловой системы. Такой способ поддерживается в NTFS, ext2 и ext3. Он также является основным в системе HFS+, используемой в компьютерах Apple Macintosh. Впрочем, современные версии Mac OS поддерживают и механизм расширений.

Еще один способ задать формат файла – использование MIME (Multipurpose Internet Mail Extensions) – многоцелевые расширения электронной почты в интернете). Эта технология была специально разработана для передачи информации внутри сообщений электронной почты, но оказалась настолько удобной, что сегодня применяется для определения типов файлов и в других программах. Например, браузеры определяют по MIME-типу полученного от сервера файла, какие действия необходимо выполнить: HTML-документ будет показан как Web-страница, а файл, содержащий звук или видео, передается для выполнения соответствующему модулю.

Тип файла в MIME имеет вид "базовый тип/подтип", причем базовые типы жестко определены в спецификации (RFC 2822), а подтипы создаются и регистрируются по мере необходимости (таблица 1). application Двоичные данные
audio Аудиофайлы
image Изображения
message Сообщения электронной почты
model Модели – многомерные структуры, состоящие из объектов
multipart Составные файлы, состоящие из наборов данных разных типов
text Текстовые файлы
video Видеофайлы


Например, image/jpeg – это MIME-тип изображения в формате JPEG.


Краткий обзор некоторых открытых форматов

Открытые форматы мультимедийных данных

Название метода сжатия и формата изображений JPEG произошло от названия группы его разработчиков: Joint Photography Experts Group – объединенная группа экспертов в области фотографии. Формат характерен компактностью файлов, но медленным декодированием и "потерей" деталей изображения. Для работы с ним существуют свободные библиотеки с открытыми исходными кодами: например, libjpeg – библиотека, созданная Independent JPEG Group.

Формат файлов изображений с широким динамическим диапазоном OpenEXR разработан компанией Industrial Light & Magic. Применяется для работы с изображениями высокого качества, в том числе при создании компьютерных эффектов в кино. Для этой цели OpenEXR впервые был применен в фильме «Гарри Поттер и философский камень». На сайте формата openexr.com (EN) разработчики предлагают программное обеспечение для работы с ним: приложение exrdisplay для просмотра exr-изображений и средства для программистов – библиотеки IlmImf и Imath, а также c++-класс Half. Формат exr поддерживается большинством приложений для работы с изображениями, поскольку является отраслевым стандартом.

Растровый формат изображений PNG (Portable Network Graphics – переносимая сетевая графика), в отличие от jpeg, использует сжатие без потерь. Функциональная спецификация формата закреплена в стандарте ISO/IEC 15948:2003. PNG поддерживается в большинстве приложений для работы с изображениями, а также в браузерах. Существует официальная библиотека для работы с форматом – libpng. Она, как и libjpeg, входит в состав набора свободных библиотек для работы с изображением FreeImage.

SVG (Scalable Vector Graphics – масштабируемая векторная графика) – основанный на XML формат отображения векторной и векторно-растровой графики на WEB-страницах. Поддерживается всеми браузерами, а также приложениями для работы с векторными изображениями, например CorelDRAW. Файлы SVG можно открывать в обычных текстовых редакторах. Вообще, все форматы, производные от XML, являются надстройками над текстовым форматом.

Аудиоформат FLAC (Free Lossless Audio Codec – свободный аудиокодек без потерь) разработан сообществом Xiph.Org Foundation. Базовые кодеры и декодеры формата доступны в виде библиотек; кроме того, разработчики предлагают утилиты командной строки для работы с flac-файлами.

Особенность разработанного в рамках того же проекта Xiph.Org Foundation формата OGG заключается в том, что сам по себе он является лишь контейнером, содержащим мультимедиа-данные в различных форматах. Файл в формате ogg может содержать аудио- и видеоданные, закодированные различными кодеками, а также текстовые данные – субтитры.

Файлы в формате 7z – архивные файлы, полученные в результате сжатия данных с использованием свободного архиватора 7-zip. Основной алгоритм сжатия LZMA, используемый в формате 7z, имеет открытый SDK.

Открытые форматы разметки документов

Отдельного внимания заслуживают форматы разметки документов, произошедшие от спецификации языка SGML (Standard Generalized Markup Language – стандартный обобщенный язык разметки). К ним относятся формат гипертекстовой разметки документов HTML, а также XML, который сегодня нашел применение практически во всех областях автоматизации.

Язык HTML использует специальные инструкции (теги) для обозначения форматирования содержимого документов. Набор возможных тегов закреплен в спецификации (сейчас консорциумом W3C ведется разработка спецификации HTML 5.0).

В языке XML теги задаются произвольно. Главное – согласовать их перечень между всеми сторонами, принимающими участие в информационном обмене. На основе XML разрабатываются так называемые словари – наборы тегов, позволяющие создавать структуры данных для самых различных применений. В число ставших стандартными словарей входят RSS, MathML, XHTML и уже упоминавшийся здесь SVG.

Язык разметки документов TeX является одновременно и языком программирования. Изначально он был разработан для набора математических формул, а сегодня нашел множество других применений. Упрощенная версия TeX, в которой возможно применение более высокоуровневых инструкций, получила название LaTeX.

Открытые форматы документов

Формат электронных документов PDF (Portable Document Format – переносимый формат документов) – разработка Adobe Systems. Помимо Acrobat Reader – официальной бесплатной программы для работы с PDF-документами, формат поддерживается приложениями OpenOffice, Evince, Foxit Reader, PDFCreator и т.д. Версия 1.7 спецификации формата PDF является международным стандартом ISO 32000.

PostScript – язык описания страниц, используемый для вывода на печатающие устройства текста, изображений и графики. Первая реализация была разработана в Adobe Systems. PS является стандартом де-факто в области допечатной подготовки и поддерживается в принтерах большинства ведущих производителей. Команды PostScript включаются в документ в виде текста. Принтер, поддерживающий этот язык, имеет встроенный интерпретатор PostScript, который и выполняет включенные в текст команды. С файлами в формате PostScript можно работать, например, в приложении Adobe PageMaker, а также в бесплатной программе Ghostscript.

В результате компиляции исходного файла на TeX или LaTeX создается файл в формате DVI (Device Independent Format – не зависящий от устройства формат). Он содержит графический документ, читаемый на всех платформах. Для компиляции используется программа latex. Чаще всего dvi-файл далее конвертируется в PDF.

За аббревиатурой ODF (Open Document Format) скрывается формат документов для офисных приложений, основанный на XML. Разработанный OASIS ODF cтандартизован ISO/IEC под номером 26300. Формат поддерживается такими приложениями, как IBM Lotus Symphony, KOffice, Google Docs. В таблице 2 приведен перечень типов документов, создаваемых в формате ODF.Вид документа MIME-тип Расширение
Текстовый документ application/vnd.oasis.opendocument.text odt
Шаблон текстового документа application/vnd.oasis.opendocument.text-template ott
Графический документ application/vnd.oasis.opendocument.graphics odg
Шаблон графического документа application/vnd.oasis.opendocument.graphics-template otg
Презентация application/vnd.oasis.opendocument.presentation odp
Шаблон презентации application/vnd.oasis.opendocument.presentation-template otp
Электронная таблица application/vnd.oasis.opendocument.spreadsheet ods
Шаблон электронной таблицы application/vnd.oasis.opendocument.spreadsheet-template ots
Диаграмма application/vnd.oasis.opendocument.chart odc
Шаблон диаграммы application/vnd.oasis.opendocument.chart-template otc
Изображение application/vnd.oasis.opendocument.image odi
Шаблон изображения application/vnd.oasis.opendocument.image-template oti
Формула application/vnd.oasis.opendocument.formula odf
Шаблон формулы application/vnd.oasis.opendocument.formula-template otf
Составной текстовый документ application/vnd.oasis.opendocument.text-master odm
Текстовый документ, используемый как шаблон для HTML-документов application/vnd.oasis.opendocument.text-web oth


ODF принят в качестве государственного стандарта в Бразилии, Хорватии, Италии, Корее, ЮАР, Швеции, Венесуэле. Он продолжает развиваться, создаются новые версии спецификации и программные средства разработчиков.

Так, в ноябре 2008 года IBM и Sun объявили о запуске проекта ODF Toolkit Union, призванного объединить программистов, работающих с форматом ODF. В рамках проекта создаются и объединяются программные средства, облегчающие работу с документами. К ним относятся как наборы инструментов разработки, так и программы, позволяющие протестировать соответствие стандарту.

С момента начала распространения персональных компьютеров тысячи, а потом и миллионы конечных пользователей попали в ловушку проприетарных форматов, испытывая ряд сложностей, среди которых:
риск, что получатель информации окажется не в состоянии ее прочитать, не обладая необходимым программным обеспечением;
неуверенность в надежности защиты персональных данных, закодированных по алгоритмам, которые известны только производителям.

Такая ситуация была выгодна крупным производителям программ: обладая монополией на тот или иной формат данных, они получали не только прибыль, но и гарантию благополучия на много лет вперед.

Однако сложность программ и систем росла, разработчики испытывали все больше проблем с совместимостью и прозрачностью протоколов и форматов. К тому же на рынке появились производители, исповедующие противоположную идеологию – открытость и свободу как исходных кодов, так и форматов данных.

В результате сегодня мы наблюдаем, как на смену стремлению отдельных производителей разрабатывать собственные форматы и протоколы для всего на свете приходит понимание необходимости работать «в открытую», используя специфицированные форматы хранения и обработки данных, в частности, электронных документов. Примером служит инициатива IBM и Sun – проект ODF Toolkit Union. Средства, разрабатываемые и уже созданные в рамках этого проекта, будут рассмотрены в следующей статье.


Об авторе

Татьяна Василькова - ведущий инженер Научно-исследовательского института средств автоматизации (Минск, Республика Беларусь). Основная область профессиональных интересов – защита информации в информационных системах, в том числе, программные средства безопасности с открытым исходным кодом. Имеет степень магистра технических наук.
Estrelia
абонентик
 
Сообщений: 44
Темы: 72
Зарегистрирован: 03 май 2010, 18:35
Средств на руках: -404.19 руб
Банк: 0.00

В сумме выплачено пользователю: 0.00 руб

Invitations sent: 0
Репутация: 0 [ ? ]
Оператор связи: mts

Re: Работа с открытыми форматами документов

Сообщение DmitryS » 07 май 2010, 14:32

Очень важная тема. Существование проприетарных форматов данных тормозит развитие программного обеспечения. Но как побудить пользователей переходить на ПО с открытым кодом и соответственно использующее открытые форматы данных ? Волна проверок организаций, прокатившаяся в 2006-2008 годах, принесла прежде всего пользу компании MicroSoft . Юрлица были вынуждены купить windows и Msoffice. Вновь приобретаемая офисная техника, как правило уже содержит предустановленную ОС от MS. Государство похоже мало волнует эта проблема. Почему только малая часть школ на уроках информатики использует ПО с открытым кодом ? Например в Германии правительственные учреждения используют ОС на ядре Linux - OpenSuse ! Почему бы России и Белоруссии не пойти тем же путем - вложить деньги в разработку своей ОС, внедрить ее и перестать зависеть от Microsoft ?
Аватар пользователя
DmitryS
мега абонентик ***
 
Сообщений: 773
Темы: 797
Зарегистрирован: 30 апр 2010, 13:48
Средств на руках: -178.53 руб
Банк: 3.00

В сумме выплачено пользователю: 2,375.00 руб
Откуда: Саратов

Invitations sent: 0
Репутация: 13 [ ? ]
Оператор связи: мегафон

Re: Работа с открытыми форматами документов

Сообщение Sonar » 07 май 2010, 15:18

Да нифига... Не будет в массовом пользовании открытых форматов. Проприетарные форматы постоянно развиваются. Улучшаются, добавляются новые функции. Каким образом это будет у открытых форматов? Это примерно как с форматом html. Он открыт и можно сказать развивается. Но взгляние открыв глаза. Сколько браузеров в широком пользовании? Вернее движки этих браузеров... Перечислять не буду... но это единицы, причем каждый отображает поразному. Сколько проблем это добовляет вебмастерам... писать универсальный код. Открытые форматы это только дополнительные проблемы. Проприетарные форматы не отменяют конкуренцию.
sem попытался украсть 1.5 руб у вас!
Аватар пользователя
Sonar
абонентик ****
 
Сообщений: 232
Темы: 255
Зарегистрирован: 04 май 2010, 22:24
Средств на руках: -79.56 руб
Банк: 7.13

В сумме выплачено пользователю: 399.00 руб

Invitations sent: 0
Репутация: 4 [ ? ]
Оператор связи: МТС

Re: Работа с открытыми форматами документов

Сообщение DmitryS » 07 май 2010, 15:53

А разве открытые форматы не могут приносить прибыль ? Например лицензия BSD допускает использование кода в других проектах, в том числе закрытых и комерческих. Яркий пример - Windows 2000 , использующая часть кода ядра FreeBSD - стек протоколов TCP/IP ! Кстати первая стабильная и достойная ОС от MS. Да, конкуренция есть, но скорость развития ниже и безопасность то же, так как над закрытой системой работает ограниченное кол-во программистов и вероятность обнаружения ошибок в этом случае значительно ниже.
Аватар пользователя
DmitryS
мега абонентик ***
 
Сообщений: 773
Темы: 797
Зарегистрирован: 30 апр 2010, 13:48
Средств на руках: -178.53 руб
Банк: 3.00

В сумме выплачено пользователю: 2,375.00 руб
Откуда: Саратов

Invitations sent: 0
Репутация: 13 [ ? ]
Оператор связи: мегафон

Re: Работа с открытыми форматами документов

Сообщение Sonar » 07 май 2010, 16:19

Стоп, мы говорим об открытых форматах документов, файлов и т.д. Не о системах и программах. Системы и программы это законченный самостоятельный продукт, который может иметь разную версию и функциональность. А вот формат документов важен как при создании, так и при прочтении его, возможно даже через долгий промежуток времени, когда софт уже может изменить версию, а следовательно и поддерживать уже обновленный формат документа.
sem попытался украсть 1.5 руб у вас!
Аватар пользователя
Sonar
абонентик ****
 
Сообщений: 232
Темы: 255
Зарегистрирован: 04 май 2010, 22:24
Средств на руках: -79.56 руб
Банк: 7.13

В сумме выплачено пользователю: 399.00 руб

Invitations sent: 0
Репутация: 4 [ ? ]
Оператор связи: МТС

Re: Работа с открытыми форматами документов

Сообщение Змей » 10 май 2010, 18:49

Это тема здесь нужна формат документов важен как и при созданий так и при прочетаний его долгий промежуток времини когда софт уже может изменить версию и подерживает уже обновленный форматы документа
Аватар пользователя
Змей
абонентик ****
 
Сообщений: 242
Темы: 213
Изображений: 0
Зарегистрирован: 11 янв 2010, 17:18
Средств на руках: -47.00 руб
Банк: 6.66

В сумме выплачено пользователю: 402.00 руб
Откуда: Нижний Новгород

Invitations sent: 0
Репутация: 12 [ ? ]
Оператор связи: Tele2

Re: Работа с открытыми форматами документов

Сообщение MAX90360279 » 21 окт 2010, 10:02

мне оченььь нравятся фильмы о Гарри Поттере !!! :lol: :ROFL:
На в книгах сюжет намного лучще !! :pardon:
История о мальчике каторый выжил от убивающего заклинания и в конце он победил того кого нельзя называть (Волон-де-Морд)! =@
MAX90360279
новенький ***
 
Сообщений: 9
Темы: 20
Зарегистрирован: 21 окт 2010, 09:41
Средств на руках: -49.60 руб

Invitations sent: 0
Репутация: 0 [ ? ]
Оператор связи: Билайн




Вернуться в Компьютеры, Интернет и программное обеспечение

Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot] и гости: 5

  • Объявления
корпоративные тарифы
cron