XRX (архитектура веб-приложений) - XRX (web application architecture)
Тема этой статьи может не соответствовать Википедии общее руководство по известности.Август 2016 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Эта статья слишком полагается на Рекомендации к основные источники.Август 2016 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
В разработка программного обеспечения 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.
Смотрите также
Рекомендации
- ^ МакКрири, Дэн (23 мая 2008 г.). «XRX: простой, элегантный, разрушительный». Получено 2011-07-14.
- ^ «Запрос всемирного веб-консорциума». Получено 2011-07-14.
- ^ «Формы всемирного веб-консорциума». Получено 2011-07-14.
- ^ Бирбек, Марк (26 сентября 2006 г.). "XForms и XQuery в отношении REST" (PDF). Получено 2008-10-26.[мертвая ссылка ]
- ^ Бручез, Эрик (2007-12-04). «XForms и база данных eXist XML: идеальная пара». Архивировано из оригинал 22 июня 2008 г.. Получено 2008-10-26.
- ^ МакКрири, Дэн (2007-12-14). «Знакомство с архитектурой XRX: XForms / REST / XQuery». Получено 2008-10-26.
Дополнительный ресурс
- XRX: простой, элегантный, разрушительный к Дэн МакКрири
- Репозиторий Google Code для разработчиков XRX
- Метафорический Интернет и XRX к Курт Кейгл
- Запросы XRX с использованием базы данных eXist к Джени Теннисон
- Сопоставление URL-адресов XRX с помощью Orbeon Forms к Джени Теннисон
- XRX выполняет обновления к Джени Теннисон
- Блокировка зерна XRX к Дэн МакКрири
- XRX Wikibook XRX Wikibook с руководствами по созданию приложения CRUDS с использованием базы данных eXist
- Гибкий стек к Джейсон Монберг
- Блог Джесси Алама о XQuery и XRX