DWR
Материал из Википедии — свободной энциклопедии
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.