Кроме того, существует еще один, весьма интересный документ (требуется регистрация): The Pros and Cons of XML
Вроде все доводы за вполне разумны. Все красиво на бумаге - данные и метаданные хранятся вместе, interoperability, readability как для людей так и для машин, обобщенный стандарт для представления Unicode, хранить можно древовидные и плоские данные и прочая, прочая. А то что чересчур большие файлы - ничего страшного, можно юзать сжатие, например на транспортном уровне. Сложно парсить и выбирать данные? Ничего, есть библиотеки для любого языка программирования. Нет нормальных XML-редакторов? Не беда, появятся.
И все же, всякий раз работая с XML-файлами возникает какое-то интуитивное неприятие. "Блин, опять этот хренов XML!" - проносится мысль, когда появляется задача с исходными данными в этом формате. Кажется что-то очень, в корне не правильно.
Я, вообще-то ничего против XML не имею, но только тогда, когда он используется для того, для чего был создан.
А ведь XML ни в коем разе не является форматом хранения данных, хотя в последнее время частенько наблюдается тенденция к его использованию именно для этого. Изначально назначение XML - передача данных и interoperability. XML - является форматом write-once, то есть он не предназначен для того, чтобы записать на хард, а потом иногда вносить изменения. Его назначение в том, однажды вывести свои данные в формате XML, чтоб кто-то это прочел преобразовал в свой формат и всё! На этом жизнь XML-файла должна заканчиваться.
Почему? Потому что модификация такого формата как XML довольно дорогостоящая - переписывается весь файл, плюс если сделать это прилично, то нужно и запирание на уровне файловой системы.
А сейчас есть тенденция подменять БД статическими XML-файлами, при том, что главное назначение СУБД: не хранение данных, а обеспечение параллельного доступа к ним из разных процессов, с атомарными операциями. Данніе можно сохранять любым способом - хоть на бумаге единички и нолики рисовать или в перфокартах дырки долбить. но параллельный доступ и атомарные операции - это совсем другая вещь, для которой и создаются СУБД.
И еще мне не очень нравится, когда конфиги из plain-text(особенно когда это простой, плоский файл без всяких там уровней вложенности) переделывают в xml.
Какой формат проще для чтения и редактирования (для человека)?
127.0.0.1 localhost locahost.mydomain.com
11.12.13.14 myhost myhost.mydomain.com
или
<?xml version="1.0" encoding="ISO-8859-1"?>
<hosts>
<host type="IPv4">
<address>127.0.0.1</address>
<aliases>
<alias>localhost</alias>
<alias>localhost.mydomain.com</alias>
</aliases>
</host>
<host type="IPv4">
<address>11.12.13.14</address>
<aliases>
<alias>myhost</alias>
<alias>myhost.mydomain.com</alias>
</aliases>
</host>
</hosts>
Хотя дело привычки наверное.
Или вот, к примеру Sun заменила inetd систему сервисов на какое-то *** с кучей XML файлов и кучей допутилит. Это вместо 1-го файла и никаких утилит.
3 комментария:
Честно - не дочитал все от байта до байта. Но имею мнение что XML может жить, т.к. для скриптов, которые не знают что такое один сервер и что такое другой сервер (имена и кол-во полей) это единственный способ общаться.
О том и речь! Когда XML используется для организации взаимодействия между программами, то я двумя руками за.
А когда в качестве замены базы данных или plain-text конфигов - хочется плеваться.
А зачем редактировать конфиги, в ручную, должны быть спец приложения для этого
Отправить комментарий