Binary XML
От: Дарней Россия  
Дата: 22.11.04 11:09
Оценка:
В последнее время меня все чаще стала посещать мысль о принципиальной несовместимости XML и эффективных программ
В связи с этим, меня заинтересовала возможность создания документов, полностью дублирующих все возможности XML, но без его проблем с эффективностью разбора. Поискал в гугле — и у меня просто глаза разбежались от обилия реализаций и дискуссий на эту тему
К сожалению, большинство этих обсуждений — это holy war в чистом виде, и полезной информации там не очень много.
Поэтому хотелось бы спросить — а кто уже использовал какие-то реализации сабжа в своих проектах? Какие именно реализации? Какие остались впечатления?
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re: Binary XML
От: hrg Россия  
Дата: 22.11.04 11:21
Оценка:
Дарней -> "Binary XML"

Д> В последнее время меня все чаще стала посещать мысль о принципиальной

Д> несовместимости XML и эффективных программ
Д> В связи с этим, меня заинтересовала возможность создания документов,
Д> полностью дублирующих все возможности XML, но без его проблем с
Д> эффективностью разбора. Поискал в гугле — и у меня просто глаза
Д> разбежались от обилия реализаций и дискуссий на эту тему
Д> К сожалению, большинство этих обсуждений — это holy war в чистом
Д> виде, и полезной информации там не очень много.
Д> Поэтому хотелось бы спросить — а кто уже использовал какие-то
Д> реализации сабжа в своих проектах? Какие именно реализации? Какие
Д> остались впечатления?

А что для тебя является критерием эффективности? Что не устраивает?

Yury Kopyl aka hrg | Любой служащий должен строго выполнять свои
обязанности. А практически каждый занимается на работе чем хочет. (с)
Паркинсон
Posted via RSDN NNTP Server 1.9 gamma
Re: Binary XML
От: J.J.OK  
Дата: 22.11.04 11:26
Оценка: 8 (1) +1
Здравствуйте, Дарней, Вы писали:
[...]

Как бинарный способ енкодинга данных, функционально аналогичный XML-ю могу порекомендовать ASN.1
Давным давно устоявшийся и по сю пору плавно эволюционирующий промышленный стандарт ( родился аж в 80х годах прошлого века)
С инструментарием правда ситуацию осветить пожалуй не смогу — в своих проектах используем собственную библиотеку по работе с ASN.1. Библиотечка была создана года два назад по результатам обзора рынка на тот момент — все бесплатное было "ниже плинтуса" да еще с неудобными лицензиями, а платное либо не по карману, либо не устраивало по другим критериям.. Возможно сейчас ситуация изменилась в лучшую сторону ...

Удачи
Чем безопаснеe — тем неудобнее ;-)
Re[2]: Binary XML
От: hrg Россия  
Дата: 22.11.04 11:27
Оценка:
J.J.OK -> "Re: Binary XML"

JO> Здравствуйте, Дарней, Вы писали:

JO> [...]

JO> Как бинарный способ енкодинга данных, функционально аналогичный

JO> XML-ю могу порекомендовать ASN.1
JO> Давным давно устоявшийся и по сю пору плавно эволюционирующий
JO> промышленный стандарт ( родился аж в 80х годах прошлого века)
JO> С инструментарием правда ситуацию осветить пожалуй не смогу — в
JO> своих проектах используем собственную библиотеку по работе с ASN.1.
JO> Библиотечка была создана года два назад по результатам обзора рынка
JO> на тот момент — все бесплатное было "ниже плинтуса" да еще с
JO> неудобными лицензиями, а платное либо не по карману, либо не
JO> устраивало по другим критериям.. Возможно сейчас ситуация изменилась
JO> в лучшую сторону ...

Хм... у меня вопрос — а какие задачи вы решали? Для чего нужен был именно
бинарный формат?

Yury Kopyl aka hrg | Любой служащий должен строго выполнять свои
обязанности. А практически каждый занимается на работе чем хочет. (с)
Паркинсон
Posted via RSDN NNTP Server 1.9 gamma
Re[3]: Binary XML
От: J.J.OK  
Дата: 22.11.04 11:34
Оценка:
Здравствуйте, hrg, Вы писали:

hrg>J.J.OK -> "Re: Binary XML"


JO>> Здравствуйте, Дарней, Вы писали:

JO>> [...]

hrg>Хм... у меня вопрос — а какие задачи вы решали? Для чего нужен был именно

hrg>бинарный формат?

Удостоверяющий Центр сделали — тот который X.509-сертификаты выдает и кое что еще. В общем наша поляна — все что вокруг PKI и защищенного документооборота и цифровых подписей. В этой области все (почти ) стандартизировано и все ( почти ) на ASN.1
Чем безопаснеe — тем неудобнее ;-)
Re[2]: Binary XML
От: Дарней Россия  
Дата: 22.11.04 11:38
Оценка:
Здравствуйте, hrg, Вы писали:

hrg>А что для тебя является критерием эффективности? Что не устраивает?


Я вижу в XML как минимум одну принципиальную проблему:

Для того, чтобы найти некоторый элемент в документе, необходимо просмотреть весь текст от начала документа до начала нужного элемента. Это — в том случае, если использовать SAX. В случае с DOM все еще хуже
Иными словами — если программе нужно извлечь из файла конфигурации .NET некоторый параметр, и этот параметр последний в списке — то парсер будет добросовестно просматривать весь список параметров, пока не найдет параметр с нужным именем

Возможность читать XML в notepad'e — это полезная фича... но не такой же ценой.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[2]: Binary XML
От: Дарней Россия  
Дата: 22.11.04 11:44
Оценка:
Здравствуйте, J.J.OK, Вы писали:

JJO>Как бинарный способ енкодинга данных, функционально аналогичный XML-ю могу порекомендовать ASN.1


хотелось бы такой формат, который совместим по всем фичам — иными словами, чтобы можно было заменить парсер XML на парсер этого формата без необходимости менять логику. Например, довольно часто упоминается некий BiM — он используется как часть стандарта MPEG-7.

Я даже нашел небольшое обозрение таких форматов. http://www.idealliance.org/papers/dx_xml03/papers/05-01-02/05-01-02.pdf
Но хотелось бы узнать из "первых рук" — т.е. от тех, кто использовал их в реальных задачах.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[3]: Binary XML
От: J.J.OK  
Дата: 22.11.04 11:48
Оценка:
[...]

Д>Я вижу в XML как минимум одну принципиальную проблему:


Д>Для того, чтобы найти некоторый элемент в документе, необходимо просмотреть весь текст от начала документа до начала нужного элемента. Это — в том случае, если использовать SAX. В случае с DOM все еще хуже

Д>Иными словами — если программе нужно извлечь из файла конфигурации .NET некоторый параметр, и этот параметр последний в списке — то парсер будет добросовестно просматривать весь список параметров, пока не найдет параметр с нужным именем

Д>Возможность читать XML в notepad'e — это полезная фича... но не такой же ценой.


ну тогда прямая дорога хранить конфиги в базе хотя если тебя больше заботит ресурсоемкость "просмотра" и компактность енкодинга, а не сам факт того что нужно "просматривать" — то варианты остаются
Чем безопаснеe — тем неудобнее ;-)
Re[4]: Binary XML
От: hrg Россия  
Дата: 22.11.04 11:57
Оценка:
J.J.OK -> "Re[3]: Binary XML"

hrg>>Хм... у меня вопрос — а какие задачи вы решали? Для чего нужен был

hrg>>именно
hrg>>бинарный формат?

JO> Удостоверяющий Центр сделали — тот который X.509-сертификаты выдает

JO> и кое что еще. В общем наша поляна — все что вокруг PKI и
JO> защищенного документооборота и цифровых подписей. В этой области все
JO> (почти ) стандартизировано и все ( почти ) на ASN.1

Понятно. Глупый вопрос — а просто сжатый zip-ом xml не прокатил был?

Yury Kopyl aka hrg | Хоббиты — маздай! Мордовия — фарева
Posted via RSDN NNTP Server 1.9 gamma
Re[3]: Binary XML
От: hrg Россия  
Дата: 22.11.04 11:57
Оценка:
Дарней -> "Re[2]: Binary XML"

hrg>>А что для тебя является критерием эффективности? Что не устраивает?


Д> Я вижу в XML как минимум одну принципиальную проблему:


Д> Для того, чтобы найти некоторый элемент в документе, необходимо

Д> просмотреть весь текст от начала документа до начала нужного
Д> элемента. Это — в том случае, если использовать SAX. В случае с DOM
Д> все еще хуже

Хм... а насколько часто происходят эти поиски? Наколько велик документ?

Yury Kopyl aka hrg | Любой служащий должен строго выполнять свои
обязанности. А практически каждый занимается на работе чем хочет. (с)
Паркинсон
Posted via RSDN NNTP Server 1.9 gamma
Re[3]: Binary XML
От: J.J.OK  
Дата: 22.11.04 12:05
Оценка:
Здравствуйте, Дарней, Вы писали:

[...]
Д>Я даже нашел небольшое обозрение таких форматов. http://www.idealliance.org/papers/dx_xml03/papers/05-01-02/05-01-02.pdf
Д>Но хотелось бы узнать из "первых рук" — т.е. от тех, кто использовал их в реальных задачах.

В обзоре, кстати, ASN.1 упоминается ...
С точки зрения _использования_ в основе оно будет зависеть от _инструмента_.
А иллюстрацию возможностей самого формата смотри там http://www.itu.int/ITU-T/asn1/database/itu-t/x/x509/1997/CertificateExtensions.html
Чем безопаснеe — тем неудобнее ;-)
Re[4]: Binary XML
От: Дарней Россия  
Дата: 22.11.04 12:11
Оценка:
Здравствуйте, hrg, Вы писали:

hrg>Хм... а насколько часто происходят эти поиски? Наколько велик документ?


я говорю не о каком-то конкретном случае, а "в общем"
В случае XML нет например эффективного способа реализовать DOM через fly-weight. Поэтому остаются только два варианта — кэшировать все данные из документа в памяти (пожирает ресурсы), или каждый раз искать данные в документе (очень медленно).
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re: Binary XML
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 22.11.04 13:13
Оценка:
Здравствуйте, Дарней, Вы писали:

http://msdn2.microsoft.com/library/wsswwk0w.aspx

Здесь МС пытается что то на эту тему сообразить, но что из этого получится
... << RSDN@Home 1.1.4 beta 3 rev. 232>>
AVK Blog
Re[2]: Binary XML
От: Дарней Россия  
Дата: 22.11.04 13:16
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здесь МС пытается что то на эту тему сообразить, но что из этого получится


А почему там написано, что это obsolete?
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[3]: Binary XML
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 22.11.04 13:29
Оценка:
Здравствуйте, Дарней, Вы писали:

AVK>>Здесь МС пытается что то на эту тему сообразить, но что из этого получится


Д>А почему там написано, что это obsolete?


А потому что у них семь пятниц на неделе. Новые классы и методы, объявленные obsolete последнее время стали попадаться прямо таки массово. С одной стороны непонятно что в итоге будет, с другой стороны вроде как видно что работат по проектированию ведется серьезная, а не как получится. ИМХО с большой долей вероятности бинарная реализация XmlWriter будет, но вот какая
... << RSDN@Home 1.1.4 beta 3 rev. 232>>
AVK Blog
EBML
От: Mamut Швеция http://dmitriid.com
Дата: 22.11.04 15:04
Оценка:
Мне вот интересно, пользовал ли кто из all'a Extensible Binary Markup Language из кодека Matroska?
... << RSDN@Home 1.1.4 beta 3 rev. 185>>


dmitriid.comGitHubLinkedIn
Re: Binary XML
От: Banch  
Дата: 22.11.04 18:47
Оценка: -1
когда дело доходить до бинарщины — значит важен размер и скорость
значит тебе ни один формат не подойдет, потому что он будет иметь некие излишества для поддержки общности
Re[2]: Binary XML
От: faulx  
Дата: 23.11.04 11:14
Оценка: 7 (1)
Здравствуйте, J.J.OK, Вы писали:


JJO>Как бинарный способ енкодинга данных, функционально аналогичный XML-ю могу порекомендовать ASN.1

JJO>Давным давно устоявшийся и по сю пору плавно эволюционирующий промышленный стандарт ( родился аж в 80х годах прошлого века)
JJO>С инструментарием правда ситуацию осветить пожалуй не смогу — в своих проектах используем собственную библиотеку по работе с ASN.1. Библиотечка была создана года два назад по результатам обзора рынка на тот момент — все бесплатное было "ниже плинтуса" да еще с неудобными лицензиями, а платное либо не по карману, либо не устраивало по другим критериям.. Возможно сейчас ситуация изменилась в лучшую сторону ...

Библиотека работы с ASN.1 (по-моему, достаточно богатая) есть в Erlang.

По поводу альтернативы XML кое-что любопытное есть здесь. (Кстати, там есть интересные идеи и помимо альтернативного формата)
Re[2]: Binary XML
От: Silver_s Ниоткуда  
Дата: 23.11.04 11:59
Оценка:
Здравствуйте, Banch, Вы писали:

B>когда дело доходить до бинарщины — значит важен размер и скорость

B>значит тебе ни один формат не подойдет, потому что он будет иметь некие излишества для поддержки общности

Скорость не важна если позиционировать XML как формат конфиг-файлов 2-3 килобайтных, редактируемых в notepad.
Но преобразовывать объектную модель в текстовый формат, для передачи по сети, и после передачи обратно в объектную модель — это уже очень сомнитльное удовольствие.
Re[3]: Binary XML
От: master_of_shadows Беларусь  
Дата: 23.11.04 12:35
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Я вижу в XML как минимум одну принципиальную проблему:


Д>Для того, чтобы найти некоторый элемент в документе, необходимо просмотреть весь текст от начала документа до начала нужного элемента. Это — в том случае, если использовать SAX. В случае с DOM все еще хуже

Д>Иными словами — если программе нужно извлечь из файла конфигурации .NET некоторый параметр, и этот параметр последний в списке — то парсер будет добросовестно просматривать весь список параметров, пока не найдет параметр с нужным именем

А чем поможет бинарный формат? Его ведь так же необходимо прочитать.
В данном случае помогут только индексы, их есть и у XML.

Д>Возможность читать XML в notepad'e — это полезная фича... но не такой же ценой.


Не согласен, цена не такая уж и большая.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.