Echo2: Turn Java into AJAX Without Touching JavaScript or JSP

Get to know Echo2, a pure Java framework for developing AJAX-based web applications. Using Echo2 typically does not require any HTML or JavaScript coding, unless you are extending the framework.

by Samudra Gupta

Mar 31, 2009

Page 1 of 3

he web is experiencing a rapid trend towards AJAX and rich Internet applications (RIAs). With AJAX as a tool for RIAs, developers can now deliver much richer content over the web and produce much more sophisticated user experiences. At the same time, a lot of frameworks that hide the inherent complexities of writing AJAX-based web applications are emerging.

These frameworks are broadly classified into client-side or server-side products. Echo2, a complete server-side AJAX framework, translates pure Java code into HTML and all the required AJAX components on the fly. This article introduces Java developers to the power and simplicity of Echo2 and provides a simple AJAX-based web application for demonstration.

Introduction to Echo2

Echo2 is a pure Java framework for developing AJAX-based web applications that can run in any servlet container. Developers using Echo2 typically do not need to know or touch any HTML or JavaScript code, unless they are extending the framework. As a purely server-side product, Echo2 processes all client interactions on the server and sends results back to the browser in a DOM format. The Echo2 client engine then transforms the DOM into HTML.

Because it is based on pure Java, Echo2 abstracts from the developer all the nuances of HTML, JavaScript, and traditional JSP-based application development. This allows Java programmers to build web applications quickly and easily. Echo2 also instantly introduces AJAX capabilities into the application; the developer doesn't have to worry about the plumbing of the AJAX communication.

It is easy to debug with remote debugging tools, just like a normal Java application.

It is easy to unit test.

It is extensible. Developers can extend the framework easily to create more UI components.

Along with these advantages, however, Echo2's sever-side nature makes it slower than equivalent client-side frameworks. For this reason, many argue that Echo2 is better suited for intranet applications that don't require speed and bandwidth as much. Yet benchmark tests have shown that Echo2 performance is optimized to such a degree that it can serve all kinds of web applications. (Click here for a comparison of Echo2 and the Java-based, client-side Google Web Toolkit (GWT) framework.)

Author's Note: A new version, Echo3 is in beta. It adds the ability to operate in full client-side mode as well. You can track its development by monitoring the Echo3 page for updates.