DWR (Java)
From Wikipedia, the free encyclopedia
This article needs references that appear in reliable third-party publications. Primary sources or sources affiliated with the subject are generally not sufficient for a Wikipedia article. Please add more appropriate citations from reliable sources. (September 2008) |
File:Direct Web Remoting Logo.png | |
Screenshot
|
|
Developed by | Apache Software Foundation |
---|---|
Latest release | 2.0.6 / 2009-02-12 |
Preview release | 3.rc2 / 2008-02-12 |
Written in | Java and JavaScript |
Operating system | Cross-platform |
Size | 1.08 MB (archived) |
Development status | Active |
Type | Ajax technology |
License | Apache 2.0 Licence |
Website | http://directwebremoting.org/ |
DWR, or Direct Web Remoting, is a Java open source library which helps developers write web sites that include Ajax technology. It allows code in a web browser to use Java functions running on a web server as if those functions were within the browser.
It consists of two main parts:
- Code to allow JavaScript to retrieve data from a servlet-based web server using Ajax principles.
- A JavaScript library that makes it easier for the web site developer to dynamically update the web page with the retrieved data.
DWR takes a novel approach to Ajax by dynamically generating JavaScript code based on Java classes.[1] Thus the web developer can use Java code from JavaScript as if it were local to the web browser; whereas in reality the Java code runs in the web server and has full access to web server resources. For security reasons the web developer must configure exactly which Java classes are safe to export.
This method of remoting functions from Java to JavaScript gives DWR users a feel much like conventional RPC mechanisms like RMI or SOAP, with the benefit that it runs over the web without requiring web browser plug-ins.
DWR does not consider the web browser / web server protocol to be important, and prefers to ensure that the programmer's interface is natural. The greatest challenge to this is to marry the asynchronous nature of Ajax with the synchronous nature of normal Java method calls.
In the asynchronous model, result data is only available some time after the initial call is made. DWR solves this problem by allowing the web developer to specify a function to be called when the data is returned using an extra method parameter.This extra method is called CallBack Method.
Here is a sample Callback:
MJavaClassOnJs.getListProducts(selectedCategory,{ callback:function(returnedList){ dwr.util.addOptions(myComboId,returnedList,"productId","productName") } })
The callback is that function inside the Json object passed as an additional parameter to the remoted function.
With version 2.0 DWR supports Reverse Ajax[1] where Java code running on the server can deliberately send dedicated JavaScript to a browser.
The DWR project was started by Joe Walker in 2004.
[edit] References
- ^ a b "Overview of DWR". http://getahead.org/dwr/overview/dwr. Retrieved on 2008-06-24.
[edit] Books
- Salkosuo, Sami (October 29, 2008), DWR Java AJAX Applications (1st ed.), Packt Publishing, pp. 210, ISBN 1847192939, http://www.packtpub.com/direct-web-remoting-java-ajax-applications/book
- Zammetti, Frank (January 25, 2008), Practical DWR 2 Projects (1st ed.), Apress, pp. 540, ISBN 1590599411, http://www.apress.com/book/view/9781590599419
[edit] External links
This World Wide Web-related article is a stub. You can help by expanding it. |