DWR (DWR)

Перейти к навигации Перейти к поиску
Direct Web Remoting
Тип Ajax
Разработчики David Marginian / Joe Walker / Dojo Foundation
Написана на Java и JavaScript
Операционная система Кроссплатформенное ПО
Последняя версия 3.0.2 (7 мая 2017)
Тестовая версия 3.rc2 (12 февраля 2008)
Репозиторий github.com/directwebremo…
Состояние Active
Лицензия Apache 2.0 Licence
Сайт directwebremoting.org

DWR (англ. Direct Web Remoting) — это свободная Java библиотека, которая помогает разработчикам, желающим писать сайты, включающие в себя технологию Ajax. Она позволяет коду в браузере использовать функции Java, исполняемые на сервере, так, как если бы они исполнялись в браузере.

Библиотека состоит из двух основных частей:

  • Код на принципах Ajax, позволяющий JavaScript получать данные от сервлета, установленного на веб-сервере.
  • Библиотека JavaScript, которая упрощает веб-мастерам динамическое изменение страницы согласно полученным от сервера данным.

DWR предоставляет новый подход к Ajax — динамическая генерация JavaScript на основе Java-классов. Таким образом разработчики могут использовать Java-код из JavaScript, как если он присутствовал прямо в браузере; но поскольку реально Java код запущен на веб-сервере, он имеет доступ ко всем ресурсам. Из соображений безопасности веб-разработчик должен точно прописывать, какие именно классы и какие данные из этих классов можно экспортировать.

Самая большая сложность при разработке DWR — это соединить асинхронный Ajax и синхронные вызовы функций Java. В асинхронной модели результат доступен только спустя некоторое время после вызова метода. DWR решает эту проблему следующим образом: веб-разработчик задаёт в качестве дополнительного параметра функцию-обработчик, которая будет вызвана, когда придёт результат.

Проект DWR был начат Джо Уолкером (Joe Walker) в 2004.