Jump to content

XRX (архитектура веб-приложений)

В разработке программного обеспечения XRX — это архитектура веб-приложений, основанная на XForms , REST и XQuery . Приложения XRX хранят данные как на веб-клиенте , так и на веб-сервере в формате XML и не требуют перевода между форматами данных. XRX считается [1] простая и элегантная архитектура приложения благодаря минимальному количеству трансляций, необходимых для транспортировки данных между клиентскими и серверными системами. Архитектура XRX также тесно связана со W3C стандартами ( CSS , XHTML 2.0 , XPath , XML Schema ). [2] [3] чтобы гарантировать надежность приложений XRX в будущем. Поскольку приложения XRX используют современные декларативные языки на клиенте и функциональные языки на сервере, они предназначены для расширения возможностей не-разработчиков, которые не знакомы с традиционными императивными языками, такими как JavaScript , Java или .Net.

XRX — это архитектура приложений с нулевой трансляцией , которая использует XML для хранения данных в клиентском веб-браузере, на сервере приложений и на сервере базы данных. Поскольку каждый из этих уровней использует XML в качестве одной и той же структурной модели данных, приложениям XRX не нужно преобразовывать структуры данных как в объектные, так и в реляционные структуры данных и обратно. Из-за отсутствия необходимости перевода XRX считается имеющим чистый и элегантный дизайн. Архитектура веб-приложений XRX позволяет разработчикам сосредоточиться на бизнес-задачах, а не на проблеме перевода. XRX извлекает выгоду из нескольких достижений в области программных технологий:

Архитектурные особенности клиента

[ редактировать ]
  • Архитектура модель -представление-контроллер (MVC), которая отделяет данные от их представления и бизнес-логики.
  • Один элемент (xf:submission) для всех отправлений с сервера. Это заменяет большую часть кода JavaScript, необходимого в большинстве приложений AJAX.
  • Расширенная модель событий ( XML Events ), соответствующая стандартам W3C , которая освобождает приложения от необходимости обработки событий, зависящих от поставщика и браузера.
  • Граф зависимостей , используемый для хранения структуры зависимостей клиентских контроллеров. Это освобождает разработчика от необходимости вручную обновлять модель или представления при изменении данных в приложении. Это позволяет создавать на клиенте приложения, подобные электронным таблицам, с минимальными усилиями.
  • Декларативный стиль программирования , позволяющий создавать большинство клиентских приложений XForms с использованием небольшого набора, состоящего примерно из 20 элементов. Это позволяет создавать многофункциональные клиентские приложения без знания JavaScript или других процедурных языков сценариев.
  • Простая в расширении система для создания новых элементов управления пользовательского интерфейса с использованием EXtensible Bindings Language . Это позволяет разработчикам добавлять новые элементы управления в любое время, не опасаясь несовместимости со W3C . стандартами

Особенности серверной архитектуры

[ редактировать ]
  • Многие собственные базы данных XML имеют встроенные интерфейсы REST, что делает каждый запрос XQuery по своей сути веб-службой RESTful.
  • Модель функционального программирования , которая продвигает системы без побочных эффектов , которые легче отлаживать и которые легче запускать на нескольких процессорах.
  • Легко расширяемая система с использованием функций и модулей XQuery.

И клиент, и сервер

[ редактировать ]
  • Как клиентские, так и серверные компоненты XRX поддерживают широкий спектр стандартов, связанных с XML, таких как XPath , XML-схема и пространства имен XML.
  • Последовательное использование интерфейсов REST для обмена данными между клиентом и сервером для всех передач данных, включая проверку данных по мере ввода и функции предложения.
  • Последовательная интеграция стандартов W3C , включая использование XPath и XML Schema. типов данных
  • Большая библиотека стандартных функций, используемых как на клиенте, так и на сервере.

Общие преимущества XRX

[ редактировать ]

Одним из основных преимуществ архитектуры XRX является то, что она позволяет избежать необходимости «разделять» сложные структуры данных на реляционные структуры, а затем восстанавливать данные обратно в структуры при редактировании записи на клиенте.

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

Еще одним преимуществом является то, что разработчику клиента не нужно изучать JavaScript на клиенте.

Сравнение с традиционными объектными/реляционными архитектурами веб-приложений

[ редактировать ]

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

История XRX

[ редактировать ]

Ранние примеры использования архитектуры с нулевой трансляцией в многоуровневых системах можно отнести к появлению объектно-ориентированных баз данных в 1990-х годах. См. историю ООСУБД

Марк Бирбек на встрече с группой пользователей XML Великобритании в сентябре 2006 года предположил, что сочетание XForms, XQuery и REST-интерфейсов между ними имеет много преимуществ. . [4] Его презентация была одной из первых, в которой конкретно предлагалось, что сочетание трех технологий: XForms и XQuery с интерфейсами REST будет иметь удивительно полезные эффекты. Марк назвал этот процесс «скиммингом», но этот термин не казался заразительным.

Эрик Бручез из Orbeon выступил на конференции XML 2007 в Бостоне в декабре 2007 года. [5] В своей презентации «XForms и база данных eXist XML: идеальная пара» Бручез показал, что многие люди обнаруживают синергетические преимущества XForms на клиенте и XQuery на сервере.

Название для XRX было предложено Дэном МакКрири в блоге от 14 декабря 2007 года. [6] Именно в этой статье Дэн предположил необходимость создания заразительного мема для идей, лежащих в основе архитектуры XRX.

Обобщения XRX

[ редактировать ]

Хотя изначально XRX был предназначен для обозначения использования XForms на клиенте, REST в качестве интерфейса и XQuery на сервере, другие сторонники симметричного использования XML на клиенте и сервере обобщили этот термин, включив в него любой XML-ориентированный веб-клиент. и любой сервер, который может хранить и запрашивать XML-документы. Такое использование XRX обычно называют «мелким XRX». Эти обобщения действительно выигрывают от упрощенной архитектуры с нулевой трансляцией, но многие из них не получают преимуществ от интерфейсов REST, XPath для согласованного выбора данных, декларативных систем на клиенте и функциональных языков на сервере (один из ключевых аспектов XRX). Использование всех трех технологий (XForms, REST и XQuery) называется «глубоким XRX».

Хотя архитектура XRX основана на XForms и XQuery, она не исключает использования других технологий, которые изначально манипулируют XML, таких как XSLT , XProc и XSL-FO .

См. также

[ редактировать ]
  1. ^ МакКрири, Дэн (23 мая 2008 г.). «XRX: Просто, элегантно, революционно» . Проверено 14 июля 2011 г.
  2. ^ «Запрос Консорциума Всемирной паутины» . Проверено 14 июля 2011 г.
  3. ^ «Формы консорциума Всемирной паутины» . Проверено 14 июля 2011 г.
  4. ^ Бирбек, Марк (26 сентября 2006 г.). «XForms и XQuery для REST» (PDF) . Проверено 26 октября 2008 г. [ мертвая ссылка ]
  5. ^ Брюшес, Эрик (4 декабря 2007 г.). «XForms и база данных eXist XML: идеальная пара» . Архивировано из оригинала 22 июня 2008 года . Проверено 26 октября 2008 г.
  6. ^ МакКрири, Дэн (14 декабря 2007 г.). «Представляем архитектуру XRX: XForms/REST/XQuery» . Проверено 26 октября 2008 г.

Дополнительный ресурс

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c4f942fa97f8dd0c033f671cd7d89ade__1610016300
URL1:https://arc.ask3.ru/arc/aa/c4/de/c4f942fa97f8dd0c033f671cd7d89ade.html
Заголовок, (Title) документа по адресу, URL1:
XRX (web application architecture) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)