17.01.2005, 12:06 | #1 |
Участник
|
Технология Extensible Markup Language стала практически универсальным средством обмена информацией в онлайне. Но все чаще можно услышать признание, что за преимущества XML подчас приходится платить снижением производительности.
... Проблема в следующем: сейчас стандарт XML предписывает хранить информацию в виде текста. Это означает, что XML-документ, такой как заказ-наряд или веб-страница, может легко воспринять человек или «считать» машина — при помощи многочисленных редакторов текста или XML-парсеров. Но из-за тенденции XML к созданию очень крупных файлов возникают проблемы производительности. Отчасти причина в требовании, чтобы каждый элемент XML-документа помечался текстовыми метками. К тому же основанные на XML протоколы, называемые веб-сервисами, также генерируют значительный XML-трафик. «XML не только многословен, но и чересчур избыточен с точки зрения пространства, приходящегося на единицу передаваемых полезных данных, — утверждает Джефф Лам, главный технолог компании Leader Technologies, где XML интенсивно используется для проведения телеконференций и где убеждены, что нужно что-то менять. Основным кандидатом на роль средства, способного ускорить работу XML, служит технология, называемая бинарным XML, которая требует использования нового формата, компрессирующего XML-передачи. Sun Microsystems инициировала проект open source Fast Infoset Project, основанный на бинарном XML, а ответственная за XML организация по стандартизации World Wide Web Consortium (WC3) сформировала рабочую группу Binary Characterization Working Group, которая займется переводом XML в двоичный формат. Подробнее... http://zdnet.ru/?ID=474189 |
|
17.01.2005, 13:54 | #2 |
Участник
|
Ну наконец то на это обратили внимание в широкой общественности.
Действительно так и есть - XML черезчур раздувает объемы данных, непомерно усложняет парсинг файла с данными (попробуйте ка написать собственный парсер, с поддержкой всего функционала, расписанного на сотне страниц мелкого технического текста. ха! ). Ну и т.д. и т.п. Кстати бинарные древовидные хранилища данных появились очень давно хотя бы в том же Windows в виде т.н. Structured File Storage (Compound Files), в которых данные хранятся в виде коллекций хранилищ и потоков бинарных данных в этих хранилищах. Эта технология знакома нам по файлам с расширением doc, xls, pps, mdb, т.е. другими словами - почти все файлы продктов MS Office и даже.... 1Cv7.MD Однако та технология тяжеловесна и ориентирована на Win, а вот бинарный XML - то самое что нам нужно. |
|
17.01.2005, 14:06 | #3 |
Administrator
|
Однако, таким образом будет потеряно одно из качеств XML, которое было заложено в него еще при разработке: будет потеряна возможность чтения XML-документов человеком.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
17.01.2005, 14:11 | #4 |
Участник
|
Цитата:
Сообщение от Maxim Gorbunov
Однако, таким образом будет потеряно одно из качеств XML, которое было заложено в него еще при разработке: будет потеряна возможность чтения XML-документов человеком.
По моему это совершенно бесполезное качество. В крайнем случае можно сделать редактор bin-XML наподобие редактора реестра. |
|
17.01.2005, 15:20 | #5 |
Moderator
|
Я вот уже год обмениваюсь с региональными представительствами (1С) посредством XML-файлов. Избыточность огромная, спасает только RAR. Причем просматривать, а тем более править гиганский XML файл - задача совершенно пошлая. Но даже маленький файл просматривать удобнее в специальной программе, умеющей управлять его структурой. Поэтому невозможность просматривать этот файл Notepad-ом не есть серьезный аргумент.
|
|
17.01.2005, 15:55 | #6 |
Administrator
|
Цитата:
Сообщение от XML.com: A Technical Introduction to XML
XML Development Goals
... 6. XML documents should be human-legible and reasonably clear. If you don't have an XML browser and you've received a hunk of XML from somewhere, you ought to be able to look at it in your favorite text editor and actually figure out what the content means. ... 9. XML documents shall be easy to create. Although there will eventually be sophisticated editors to create and edit XML content, they won't appear immediately. In the interim, it must be possible to create XML documents in other ways: directly in a text editor, with simple shell and Perl scripts, etc.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
17.01.2005, 16:03 | #7 |
Moderator
|
Да бросьте! Первая база данных RDB тоже состояла из текстовых файлов, а теперь как выглядят реляционные базы? Со временем объем информации убивает простоту просмотра.
|
|
17.01.2005, 17:51 | #8 |
Administrator
|
Да я же не об этом!
Я просто пытаюсь обратить Ваше внимание на то, что возможность чтения XML-документов с помощью обычных текстовых редакторов закладывалась на уровне задач, которые должны быть решены в процессе создания этого языка. И она не является менее важной, чем, например, задача совместимости с SGML.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
17.01.2005, 19:47 | #9 |
Участник
|
Цитата:
Сообщение от Maxim Gorbunov
Да я же не об этом!
Я просто пытаюсь обратить Ваше внимание на то, что возможность чтения XML-документов с помощью обычных текстовых редакторов закладывалась на уровне задач, которые должны быть решены в процессе создания этого языка. И она не является менее важной, чем, например, задача совместимости с SGML. ну или просто - люди, которым приходится по рациональным причинам в нотепаде править SGML-like XML, отзовитесь. 8() |
|
17.01.2005, 20:04 | #10 |
Модератор
|
Цитата:
Сообщение от =A=L=X=
ну или просто - люди, которым приходится по рациональным причинам в нотепаде править SGML-like XML, отзовитесь. 8()
Был период, когда часто правили много мелких файлов. Специализированные редакторы уже были, но править файлы руками оказалось быстрее
__________________
-ТСЯ или -ТЬСЯ ? |
|
17.01.2005, 20:44 | #11 |
Участник
|
Цитата:
Сообщение от Vadik
Цитата:
Сообщение от =A=L=X=
ну или просто - люди, которым приходится по рациональным причинам в нотепаде править SGML-like XML, отзовитесь. 8()
Был период, когда часто правили много мелких файлов. Специализированные редакторы уже были, но править файлы руками оказалось быстрее Не оказалось ли в последующем исправить причину неточностей, чем заниматься ручной работой? Согласитесь ли вы снова заниматься подобными вещами? |
|
17.01.2005, 21:15 | #12 |
Модератор
|
Цитата:
Сообщение от =A=L=X=
Не оказалось ли в последующем исправить причину неточностей, чем заниматься ручной работой?
__________________
-ТСЯ или -ТЬСЯ ? |
|
18.01.2005, 05:45 | #13 |
Участник
|
Да не - это всё равно несерьезно. Не для того делаются форматы файлов данных, чтобы в них ручками копались, исключением пожалуй являются конфигурационные файлы настроек под юниксоидными программами.
Да и бинарные файлы всегда будут компактнее по размерам в разы, в десятки раз (!) быстрее парсится и проще в программном интерфейсе, чем текстовые. И разговоры о том что у нас винты скоро будут терабайтные и процессоры десятигигагерцовые и следовательно это несущественно, лажа, т.к. и на терабайтных винтах и десятигигагерцовых процессоров бинарные файлы будут в разы компактнее и в десятки раз быстрее. . |
|
18.01.2005, 12:49 | #14 |
Гость
|
Не удержусь, выступлю-таки в защиту XML.
Во-первых, согласен с Максимом в том, что при разработке формата XML ставились несколько иные цели, нежели передача двоичных данных в компактном виде. Для этого существует огромное число двоичных форматов, в том числе позволяющих структурировать данные по аналогичному с XML принципу - например, тот же RIFF (*.avi, *.wav, *.ani, и т.п.) с его вложенными блоками (chunks) вместо тэгов, или Structured File Storage, о котором писал выше =A=L=X=. Во-вторых, возможность ручной правки очень даже полезна в случае испорченных или частично потерянных данных. Даже самый супер-мега-крутой редактор любого бинарного формата можно ввести в заблуждение, подсунув ему хитро "подпорченный" файл. В лучшем случае он просто обругает вас и откажется работать не со "своим" форматом. Что будет в худшем случае - см. следующий абзац. Таким образом, одно из преимуществ текстовых форматов (в т.ч. XML) состоит в возможности использовать в экстренных случаях естественный интеллект человека вместо создания искусственного интеллекта. И в-третьих, нельзя забывать о безопасности, с точки зрения которой недвоичные форматы заметно выигрывают. Всем известны многочисленные дыры, найденные в архиваторах, графических вьюерах и т.д., позволяющие путем подсовывания кривых данных исполнять на машине произвольный код (содержащийся в этих самых данных). Речь о червях, троянцах и иже с ними. В XML-формат засунуть вирус (а главное - заставить его выполниться) практически невозможно. Одним из исключений являются макро-вирусы, но, ИМХО, ничего более идиотского, чем макрос в теле документа придумать было нельзя. Хочешь расширить функционал - пиши плагины... Но это уже вопрос философский. А что касается XML, то, по-моему, только в пьяном бреду можно написать для него парсер, который на некорректных данных вызывал бы утечки памяти или переполнение стека, то есть потенциальную угрозу безопасности. Поэтому утверждение =A=L=X= о том, что "бинарные файлы... проще в программном интерфейсе, чем текстовые", считаю очень даже спорным, ведь кроме простоты чтения/записи есть еще надежность и отказоустойчивость. Так что еще раз соглашусь с Максимом Горбуновым: "бинарный XML - это уже не XML", а нечто другое, выполняющее совсем иные функции. |
|
18.01.2005, 19:17 | #15 |
Участник
|
Цитата:
Сообщение от Ruff
.
Цитата:
Во-первых, согласен с Максимом в том, что при разработке формата XML ставились несколько иные цели, нежели передача двоичных данных в компактном виде.
Цитата:
Таким образом, одно из преимуществ текстовых форматов (в т.ч. XML) состоит в возможности использовать в экстренных случаях естественный интеллект человека вместо создания искусственного интеллекта.
Цитата:
это уже вопрос философский. А что касается XML, то, по-моему, только в пьяном бреду можно написать для него парсер, который на некорректных данных вызывал бы утечки памяти или переполнение стека, то есть потенциальную угрозу безопасности.
Цитата:
потому утверждение =A=L=X= о том, что "бинарные файлы... проще в программном интерфейсе, чем текстовые", считаю очень даже спорным, ведь кроме простоты чтения/записи есть еще надежность и отказоустойчивость.
Цитата:
Так что еще раз соглашусь с Максимом Горбуновым: "бинарный XML - это уже не XML", а нечто другое, выполняющее совсем иные
|
|
19.01.2005, 09:00 | #16 |
Гость
|
Цитата:
Ппроще перезаписать болванку за 20 рублей
Цитата:
только на то чтобы написать модуль проверяющий соответсвие XML-документа заявленному формату через dtd вам потребуется потратить ОЧЕНЬ много человеко-часов, совершенно неоправданно
А рар-ом и зип-ом я на самом деле уже почти не пользуюсь (с тех пор, как появились CD-RW и DVD-RW). И, кстати, один неверный бит всегда легче локализовать, чем несколько неверных бит Вспомните теорию помехоустойчивых кодов. Поэтому, иногда вы можете и не догадываться о существовании ошибки в данных. Это так, к слову. Разумеется ни о какой помехоустойчивости текстовых данных речи не идет - это должно обеспечиваться протоколами нижнего уровня. И на последок. Я не пытаюсь утверждать, что двоичные данные - это зло, а текстовые - forever . Я говорю, что и тот и другой способы имеют право на существование. Просто надо отделять мухи от котлет. В самом первом постинге mazzy была приведена цитата одного товарища, рассказывающего, как неудобно использовать XML для телеконференций. И из этого он сделал вывод, что "надо что-то менять". Если так рассуждать, то когда кто-то догадается засунуть в принтер туалетную бумагу, чтобы напечатать фотографию, то после его неудачи нужно ВСЮ туал. бумагу делать из картона? В-общем, текстовый XML должен остаться по-любому... По крайней мере еще несколько лет, пока hardware не выйдет на принципиально новый уровень. P.S. =A=L=X=, а что такое "программоустойчивость"? Опечатка? |
|
19.01.2005, 09:57 | #17 |
Участник
|
Цитата:
А причем здесь болванка? Хранение данных - это совсем не из той оперы. XML задумывался прежде всего для передачи по сети. Это "живые" данные, но никак не мертвый груз.
Тут еще кстати я замечу что эта проблема актуальна еще и для HTML - HTML тоже очень избыточен в своих размерах, и к сожалению в протокол HTTP не заложили возможность хотя бы сжимать передаваемый поток данных тем же общедоступным zlib-ом, это чувствуют все кто по выделенке сидят в веб-чатах, по сравнению с той же аськой. Цитата:
Так все же уже написано... Поэтому он так и популярен.
Цитата:
И на последок. Я не пытаюсь утверждать, что двоичные данные - это зло, а текстовые - forever .
Цитата:
В-общем, текстовый XML должен остаться по-любому... По крайней мере еще несколько лет, пока hardware не выйдет на принципиально новый уровень.
Цитата:
P.S. =A=L=X=, а что такое "программоустойчивость"? Опечатка?
|
|
28.01.2005, 17:07 | #18 |
Участник
|
А вот и стандарты
http://www.w3.org/TR/xop10/ http://www.w3.org/TR/soap12-mtom/ вот пресс-релиз http://www.w3.org/2005/01/xmlp-pressrelease |
|