КИТА unofficial
Май 06, 2024, 02:35:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   ПРАВИЛА Помощь WIKI PDA Войти Регистрация  


Страниц: [1]   Вниз
  Печать  
Автор Тема: XML: pro и contra  (Прочитано 10896 раз)
0 Пользователей и 1 Гость смотрят эту тему.
LazarusLong
Ирландский доброволец
Проректор
*****

Карма: +181/-7
Offline Offline

Пол: Мужской
Награды:
А может я тоже хочу себе награду?
Сообщений: 6133


Ukrainian by birth, Irish by the grace of God


WWW
« : Май 23, 2008, 11:56:35 »

Один из создателей стнадарта XML, Тим Брей, написал заметку XML Is Too Hard For Programmers, а затем еще одну, менее пессиместичную Why XML Doesn't Suck. Обе заслуживают внимания.

Кроме того, существует еще один, весьма интересный документ (требуется регистрация): The Pros and Cons of XML

Вроде все доводы за вполне разумны. Все красиво на бумаге - данные и метаданные хранятся вместе, interoperability, readability как для людей так и для машин, обобщенный стандарт для представления Unicode, хранить можно древовидные и плоские данные и прочая, прочая. А то что чересчур большие файлы - ничего страшного, можно юзать сжатие, например на транспортном уровне. Сложно парсить и выбирать данные? Ничего, есть библиотеки для любого языка программирования. Нет нормальных XML-редакторов? Не беда, появятся.

И все же, всякий раз работая с XML-файлами возникает какое-то интуитивное неприятие. "Блин, опять этот хренов XML!" - проносится мысль, когда появляется задача с исходными данными в этом формате. Кажется что-то очень, в корне не правильно. Ни у кого аналогичных мыслей не возникает?
Записан

Когда ему нужно - он русский, когда нужно - украинец, а когда ему ни хрена не нужно - он ирландец.

"...Он любил говорить факин щит
Когда что-то не так ему
Принимал он свой самый ирландский вид
И кидался трубкой в жену..."
grimgav
↑ так меня зовут, а это я говорю →
Просто гламурный
Проректор
*****

Карма: +161/-17
Offline Offline

Пол: Мужской
Награды:
I место в фотоконкурсе \
Сообщений: 4636


не ^i^


« Ответ #1 : Май 23, 2008, 12:50:09 »

Ни у кого аналогичных мыслей не возникает?

Возникают и ой как часто. Особенно когда приходиться объяснять все плюсы XML программерам раньше с ним дела не имевшим. И опять же в процессе реализации той или иной функциональности, использующей XML, постоянно вылетают какие-то бока =/ В основном из-за не согласованности действий разработчиков сервверной и клиентской частей =)
Записан

· Я русский ·
artri
Cтудент
*

Карма: +1/-0
Offline Offline

Сообщений: 85


artri@jabber.ru


« Ответ #2 : Май 23, 2008, 07:53:57 »

Удобный формат описания разметки различных данных с возможностью валидации структуры.Также используется при RPC вызовах. Во многих случаях намного проще использовать XML для хранения и экспорта данных, чем городить какой-то свой формат, под который еще парсер потом писать.
 
постоянно вылетают какие-то бока =/ В основном из-за не согласованности действий разработчиков сервверной и клиентской частей =)

Используйте dtd для валидации xml документов, будет Вам и согласованность действий Подмигивающий
Записан

oDesk Certified Java Developer
- Телепатический локатор, - пояснил Петрович, вытирая руки ветошью.- Основной инструмент аналитика, позволяющий напрямую извлекать технические требования из головы заказчика. (с) Трое в серверной, не считая админа. Глава 8. Тестеры и аналитики
EvilMax
Администратор
Завкаф
*****

Карма: +59/-0
Offline Offline

Пол: Мужской
Сообщений: 1072


Злой и страшный :)


« Ответ #3 : Май 23, 2008, 07:56:33 »

grimgav, надо схему сразу делать, всю, целиком на все случаи жизни и сценарии использования. Тога боков не будет. Все всё нормально сделают при минимальном взаимодействии. А не "давайте еще прорисуем протокол"... де-нить посередине разработки. Ну ты помнишь, где такое было )))

Сложно парсить и выбирать данные?
XPath форева. В особенности XPath 2.0

Нет нормальных XML-редакторов? Не беда, появятся.
Давно хватает - тот же XMLSpy. А несложные есть практически во всех нормальных IDE.

Используйте dtd
Это как минимум. Но DTD некторых вещей не учитывает. Так что в идеале, схема.
Записан

Оптимальная концентрация кофе - это когда код уже дает советы, как его написать, но еще не спорит с тобой и не подкалывает в случае неудач...
---
Существует три способа распространения программного обеспечения: воровство, грабёж и обмен краденым. (c) Неизвестный программист
LazarusLong
Ирландский доброволец
Проректор
*****

Карма: +181/-7
Offline Offline

Пол: Мужской
Награды:
А может я тоже хочу себе награду?
Сообщений: 6133


Ukrainian by birth, Irish by the grace of God


WWW
« Ответ #4 : Май 23, 2008, 08:30:26 »

XPath, XMLSpy
Да все это ясно. Просто примеры еще не так давно очень часто встречавшихся аргументов против.

Я, вообще-то ничего против XML не имею, но только тогда, когда он используется для того, для чего был создан.

А ведь XML ни в коем разе не является форматом хранения данных, хотя в последнее время частенько наблюдается тенденция к его использованию именно для этого. Изначально назначение XML - передача данных и interoperability. XML - является форматом write-once, то есть он не предназначен для того, чтобы записать на хард, а потом иногда вносить изменения. Его назначение в том, однажды вывести свои данные в формате XML, чтоб кто-то это прочел преобразовал в свой формат и всё! На этом жизнь XML-файла должна заканчиваться.

Почему? Потому что модификация такого формата как XML довольно дорогостоящая - переписывается весь файл, плюс если сделать это прилично, то нужно и запирание на уровне файловой системы.

А сейчас есть тенденция подменять БД статическими XML-файлами, при том, что главное назначение СУБД: не хранение данных, а обеспечение параллельного доступа к ним из разных процессов, с атомарными операциями. Данніе можно сохранять любым способом - хоть на бумаге единички и нолики рисовать или в перфокартах дырки долбить. но параллельный доступ и атомарные операции - это совсем другая вещь, для которой и создаются СУБД.
Записан

Когда ему нужно - он русский, когда нужно - украинец, а когда ему ни хрена не нужно - он ирландец.

"...Он любил говорить факин щит
Когда что-то не так ему
Принимал он свой самый ирландский вид
И кидался трубкой в жену..."
EvilMax
Администратор
Завкаф
*****

Карма: +59/-0
Offline Offline

Пол: Мужской
Сообщений: 1072


Злой и страшный :)


« Ответ #5 : Май 23, 2008, 08:50:22 »

А сейчас есть тенденция подменять БД статическими XML-файлами, при том, что главное назначение СУБД: не хранение данных, а обеспечение параллельного доступа к ним из разных процессов, с атомарными операциями. Данніе можно сохранять любым способом - хоть на бумаге единички и нолики рисовать или в перфокартах дырки долбить. но параллельный доступ и атомарные операции - это совсем другая вещь, для которой и создаются СУБД.
Мнэээ... Куда-то не туда сворачиваем. Мне кажется, что это не вопрос преимуществ/недостатков XML, а вопрос целевого применения технологий. А по поводу СУБД - посмотрим, во что выльется проект Xindice.
Записан

Оптимальная концентрация кофе - это когда код уже дает советы, как его написать, но еще не спорит с тобой и не подкалывает в случае неудач...
---
Существует три способа распространения программного обеспечения: воровство, грабёж и обмен краденым. (c) Неизвестный программист
LazarusLong
Ирландский доброволец
Проректор
*****

Карма: +181/-7
Offline Offline

Пол: Мужской
Награды:
А может я тоже хочу себе награду?
Сообщений: 6133


Ukrainian by birth, Irish by the grace of God


WWW
« Ответ #6 : Май 23, 2008, 09:02:03 »

Мнэээ... Куда-то не туда сворачиваем. Мне кажется, что это не вопрос преимуществ/недостатков XML, а вопрос целевого применения технологий. А по поводу СУБД - посмотрим, во что выльется проект Xindice.
Возможно я не совсем точно сформулировал что хотел в стартовом посте топика. Я имел ввиду именно тот случай, когда иксэмэль используется не там где нужно. Вещь вообще хорошая, я не возражаю, но сейчас им очень сильно злоупотребляют и часто используют не по назначению.
Записан

Когда ему нужно - он русский, когда нужно - украинец, а когда ему ни хрена не нужно - он ирландец.

"...Он любил говорить факин щит
Когда что-то не так ему
Принимал он свой самый ирландский вид
И кидался трубкой в жену..."
grimgav
↑ так меня зовут, а это я говорю →
Просто гламурный
Проректор
*****

Карма: +161/-17
Offline Offline

Пол: Мужской
Награды:
I место в фотоконкурсе \
Сообщений: 4636


не ^i^


« Ответ #7 : Май 23, 2008, 09:26:54 »


А не "давайте еще прорисуем протокол"... де-нить посередине разработки. Ну ты помнишь, где такое было )))

Да, да. Я именно о таких случаях =)
Записан

· Я русский ·
EvilMax
Администратор
Завкаф
*****

Карма: +59/-0
Offline Offline

Пол: Мужской
Сообщений: 1072


Злой и страшный :)


« Ответ #8 : Май 23, 2008, 09:28:20 »

Возможно я не совсем точно сформулировал что хотел в стартовом посте топика. Я имел ввиду именно тот случай, когда иксэмэль используется не там где нужно. Вещь вообще хорошая, я не возражаю, но сейчас им очень сильно злоупотребляют и часто используют не по назначению
Ну, злоупотребляют всем. Наверное, нужно переименовать тему.
Записан

Оптимальная концентрация кофе - это когда код уже дает советы, как его написать, но еще не спорит с тобой и не подкалывает в случае неудач...
---
Существует три способа распространения программного обеспечения: воровство, грабёж и обмен краденым. (c) Неизвестный программист
grimgav
↑ так меня зовут, а это я говорю →
Просто гламурный
Проректор
*****

Карма: +161/-17
Offline Offline

Пол: Мужской
Награды:
I место в фотоконкурсе \
Сообщений: 4636


не ^i^


« Ответ #9 : Май 23, 2008, 09:34:13 »

А сейчас есть тенденция подменять БД статическими XML-файлами

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

И ещё интересно было бы узнать о "не профильном" применении XML, так сказать для расширения кругозора.
Записан

· Я русский ·
LazarusLong
Ирландский доброволец
Проректор
*****

Карма: +181/-7
Offline Offline

Пол: Мужской
Награды:
А может я тоже хочу себе награду?
Сообщений: 6133


Ukrainian by birth, Irish by the grace of God


WWW
« Ответ #10 : Май 23, 2008, 10:53:28 »

Ну вот я не так давно наблюдал в одном проекте 10 гиг xml-файлов вместо БД.

И еще мне не очень нравится, когда конфиги из plain-text(особенно когда это простой, плоский файл без всяких там уровней вложенности) переделывают в xml.

Какой формат проще для чтения и редактирования (для человека)?

Код:
127.0.0.1     localhost locahost.mydomain.com
11.12.13.14   myhost    myhost.mydomain.com

Код: (xml)
<?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-го файла и никаких утилит.
Записан

Когда ему нужно - он русский, когда нужно - украинец, а когда ему ни хрена не нужно - он ирландец.

"...Он любил говорить факин щит
Когда что-то не так ему
Принимал он свой самый ирландский вид
И кидался трубкой в жену..."
zer_owlet
Необычные пользователи
Проректор
*

Карма: +103/-16
Offline Offline

Пол: Мужской
Сообщений: 2399



« Ответ #11 : Май 24, 2008, 01:39:58 »

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

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

да, когда список параметров плавающий, легче таки юзать xml... тут согласен...

ЗЫ: в принципе, "не профильное" использование вообще свойственно для всего нового...
Записан



Если бы те, кто злословит обо мне, знали, что я о них думаю, они бы ещё не то говорили.

Так хочется быть добрым и порядочным, особенно, когда понимаешь, что патронов на всех никогда не хватит..

Памятка женщинам: если ты хочешь, чтоб мужчина встал на колени - разденься и встань на четвереньки.
LazarusLong
Ирландский доброволец
Проректор
*****

Карма: +181/-7
Offline Offline

Пол: Мужской
Награды:
А может я тоже хочу себе награду?
Сообщений: 6133


Ukrainian by birth, Irish by the grace of God


WWW
« Ответ #12 : Июль 09, 2008, 01:50:13 »

Google предложил замену XML
Записан

Когда ему нужно - он русский, когда нужно - украинец, а когда ему ни хрена не нужно - он ирландец.

"...Он любил говорить факин щит
Когда что-то не так ему
Принимал он свой самый ирландский вид
И кидался трубкой в жену..."
naxellar
Главный флудер
Проректор
*****

Карма: +101/-52
Offline Offline

Пол: Мужской
Сообщений: 5015

Главный флудер


« Ответ #13 : Июль 09, 2008, 04:23:23 »

Бред. Написано, что тот протокол не предназначен для чтения пользователем и еще выставляется это за плюс. XML специально такой, а не вынуждено.
Записан
LazarusLong
Ирландский доброволец
Проректор
*****

Карма: +181/-7
Offline Offline

Пол: Мужской
Награды:
А может я тоже хочу себе награду?
Сообщений: 6133


Ukrainian by birth, Irish by the grace of God


WWW
« Ответ #14 : Июль 09, 2008, 04:39:01 »

Бред не бред, но думаю гугл не зря его использует в своих проектах вместо ХМЛ,

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


Вот какие плюсы выделяет Гугл:

* are simpler
* are 3 to 10 times smaller
* are 20 to 100 times faster
* are less ambiguous
* generate data access classes that are easier to use programmatically

ни слова про читабельность.

С этим форматом я еще не знакомился - так пробежал пару статей по диагонали, но вообще выглядит так, что операции чтения записи будут менее дорогостоящими чем в случая с ХМЛ. Хотя это только первое впечатление.
Записан

Когда ему нужно - он русский, когда нужно - украинец, а когда ему ни хрена не нужно - он ирландец.

"...Он любил говорить факин щит
Когда что-то не так ему
Принимал он свой самый ирландский вид
И кидался трубкой в жену..."
Sochin
Злой модератор
Декан
*****

Карма: +108/-6
Offline Offline

Пол: Мужской
Сообщений: 1518



« Ответ #15 : Июль 09, 2008, 05:52:02 »

ггг. а к чему еще один протокол коли есть уже стандартный? ничего не напоминает? =)
Записан

Говорят, когда компьютер сгорает, перед взором микропроцессора за долю секунды проносятся все операции, которые он когда-либо совершил...
壯鎭
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Penguins Counter Powered by MySQL Powered by PHP Powered by SMF 1.1.8 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS! Internetmap
Страница сгенерирована за 0.104 секунд. Запросов: 32.