DWR (на английски: Direct Web Remoting ) е безплатна библиотека Java, която помага на разработчиците, които искат да пишат сайтове, включващи технологията AJAX.. Тя позволява на кода в браузъра да използва функции Java, изпълнявани на сървъра, все едно са изпълнени в браузъра.
Библиотеката DWR се състои от две основни части:
DWR осигурява нов подход към AJAX – динамично генериране на JavaScript въз основа на Java-класове. По този начин разработчиците могат да използват кода на Java-от JavaScript, сякаш той присъства директно в браузъра; но тъй като действителният код на Java се изпълнява на уеб сървъра, той има достъп до всички ресурси. От съображения за сигурност уеб разработчикът трябва да определи точно кои класове и какви данни от тези класове могат да бъдат експортирани.
Най-голямото предизвикателство при разработката на DWR е да се съчетаят асинхронният характер на AJAX и синхронният характер на обикновените извиквания на функции Java.. В асинхронния модел резултатът е достъпен едва известно време след извикването на метода. DWR решава този проблем по следния начин: уеб разработчикът посочва като допълнителен параметър обработваща функция, която ще бъде извикана, когато пристигне резултатът.
Проектът DWR е започнат от Джо Уокър (Joe Walker ) през 2004 г.


