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

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

Обзор XRX

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

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

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

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

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

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

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

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

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

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

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

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

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

История XRX

Первые примеры использования архитектуры с нулевым преобразованием в многоуровневых системах можно проследить до появления объектно-ориентированных баз данных в 1990-х годах. Видеть История OODBMS

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

Эрик Бручес из Орбеон выступил на 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: простой, элегантный, разрушительный». Получено 2011-07-14.
  2. ^ «Запрос всемирного веб-консорциума». Получено 2011-07-14.
  3. ^ «Формы всемирного веб-консорциума». Получено 2011-07-14.
  4. ^ Бирбек, Марк (26 сентября 2006 г.). "XForms и XQuery в отношении REST" (PDF). Получено 2008-10-26.[мертвая ссылка ]
  5. ^ Бручез, Эрик (2007-12-04). «XForms и база данных eXist XML: идеальная пара». Архивировано из оригинал 22 июня 2008 г.. Получено 2008-10-26.
  6. ^ МакКрири, Дэн (2007-12-14). «Знакомство с архитектурой XRX: XForms / REST / XQuery». Получено 2008-10-26.

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