Почему используем AMF вместо XML

Недостатки XML

Синтаксис XML избыточен

  • Размер XML-документа существенно больше бинарного представления тех же данных. В грубых оценках величину этого фактора принимают за 1 порядок (в 10 раз).
  • Размер XML-документа существенно больше, чем документа в альтернативных текстовых форматах передачи данных (например JSON[2], YAML) и особенно в форматах данных, оптимизированных для конкретного случая использования.
  • Избыточность XML может повлиять на эффективность приложения. Возрастает стоимость хранения, обработки и передачи данных.
  • XML содержит метаданные (об именах полей, классов, вложенности структур), и одновременно XML позиционируется как язык взаимодействия открытых систем. При передаче между системами большого количества объектов одного типа (одной структуры), передавать метаданные повторно нет смысла, хотя они содержатся в каждом экземпляре XML описания.
  • Для большого количества задач не нужна вся мощь синтаксиса XML и можно использовать значительно более простые и производительные решения.[7]

Неоднозначность моделирования

  • Нет общепринятой методологии для моделирования данных в XML, в то время как для реляционной модели и объектно-ориентированной такие средства разработаны и базируются на реляционной алгебре, системном подходе и системном анализе.
  • В природе есть множество объектов и явлений, для описания которых разные структуры данных (сетевая, реляционная, иерархическая) являются естественными, и отображение объекта в неестественную для него модель является болезненным для его сути. В случае с реляционной и иерархической моделями определены процедуры декомпозиции, обеспечивающие относительную однозначность, чего нельзя сказать о сетевой модели.[8]
  • В результате большой гибкости языка и отсутствия строгих ограничений, одна и та же структура может быть представлена множеством способов (различными разработчиками), например, значение может быть записано как атрибут тега или как тело тега и т. д. Например: <a b=«1» c=«1»/> или <a b=«1» c=«1»></a> или <a><b>1</b><c>1</c></a> или <a><c value=«1»/></a> или <a><fields b=«1» c=«1»/></a> и т. д.[9]
  • Поддержка многих языков в именовании тегов дает возможность назвать, например вес русским словом, в таком случае компьютер никак не сможет установить соответствия этого поля с полем weight в англоязычной версии программы и с полями в версиях модели объекта на множестве других языков.
  • XML не содержит встроенной в язык поддержки типов данных. В нём нет строгой типизации, то есть понятий «целых чисел», «строк», «дат», «булевых значений» и т. д.

Ограничения иерархической модели

  • Иерархическая модель данных, предлагаемая XML, ограничена по сравнению с реляционной моделью и объектно-ориентированными графами и сетевой моделью данных.
    • Выражение неиерархических данных (например графов) требует дополнительных усилий
    • Кристофер Дейт, специалист в области реляционных баз данных, автор классического учебника «An Introduction to Database Systems», отмечал, что «…XML является попыткой заново изобрести иерархические базы данных…»[10] (в 1980-е года иерархические базы данных были вытеснены реляционными базами данных).
  • Пространства имён XML сложно использовать и их сложно реализовывать в XML-парсерах.
  • Существуют другие, обладающие сходными с XML возможностями, текстовые форматы данных, которые обладают более высоким удобством чтения человеком (YAML, JSON, SweetXML[11], XF[12]).

Источник: http://ru.wikipedia.org/wiki/XML

По этой причине Qubix использует бинарный протокол AMF для передачи данных во флеш и реляционные базы данных в качестве хранилища информации.

 
Наверх
about/amf_xml.txt · Последние изменения: 2010/09/04 16:15 От Valkov Eugeni