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

Проект был начат Джо Уолкером (Joe Walker) в 2004 году; первый стабильный релиз, версия 1.0, вышел 29 августа 2005 года. DWR является подпроектом Dojo — участника организации JS Foundation.

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

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

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

См. также Google Web Toolkit

Примечания

Ссылки

Категория:AJAX Категория:Java Категория:Свободные библиотеки программ