provided by: 
Originally published at Internet.comJava Programming Notes # 696 * Preface * General Background Information * Preview * Discussion and Sample Code * Simple HTML or JSP Pages * The Web Application Named WebApp001 * The Web Application Named WebApp002 * The Competing Ajax Technologies * The Google KitchenSink Web Application * The ThinWire simpleapp Web Application * Run the Program * Summary * What's Next? -----------------------------------
Preface
Normally when I write these tutorials, I try to keep them from becoming personal. I attempt to approach the subject from a purely professional and impersonal viewpoint. However, that is not the case with this tutorial. In this tutorial, I will become personal and share some of my experiences with you.
Why did I write this tutorial?
A couple of weeks ago, I decided that I had been procrastinating long enough and it was time for me to learn what Ajax technology is all about. I had a general idea of the technology based on some articles that I had read, and I had found several applications such as Google Maps and Google Suggest to be very impressive. Realistically, however, I didn't have any idea how to implement an Ajax application.
Two promising Ajax technologies
So, I did a little research at Google and quickly came up with the following two competing technologies for developing Ajax web applications that I found to be very interesting: * Google Web Toolkit, (GWT) * ThinWire, Beyond Ajax
I probably could have found some more if I had continued to search, but I decided that these two would be good for starters.
GWT got my attention
The GWT folks at Google got my attention very quickly on the basis of the following statement:
"Google Web Toolkit (GWT) is a Java development framework that lets you escape the matrix of technologies that make writing AJAX applications so difficult and error prone. With GWT, you can develop and debug AJAX applications in the Java language using the Java development tools of your choice. When you deploy your application to production, the GWT compiler translates your Java application to browser-compliant JavaScript and HTML."
ThinWire sounded good also
Similarly, the folks at ThinWire got my attention with very interesting descriptions of their technology such as the following: * Familiar event-driven GUI programming model * Develop exclusively in server-side language only * Never use HTML, CSS, or JavaScript again * Proggram exclusively in Java * All Major Browsers Supported * Deploy on any Java Servlet Container (including Apache Tomcat) * Also Runs on Nokia 770 Internet Tablet
My strong suite is Java
Since my strong suite is Java and not JavaScript, I was pleased to learn that there are at least two emerging technologies that make it possible to develop Ajax applications exclusively using Java.
Interesting applications already on line
In addition to the interesting Google applications that I mentioned earlier, I was also impressed by the ThinWire claim that much of the production business software currently being developed by Custom Credit Systems (CCS) is being developed using the ThinWire technology.
Download and get started
So, I downloaded both products and started working with them, concentrating on their documentation and their sample web applications.
Google Web Toolkit
I had no difficulty compiling the GWT Kitchen Sink sample program from Java to a combination of HTML and JavaScript files and running it in a local directory. However, on the strength of a very cursory look, I wasn't overjoyed with the overall development procedure. It will take some getting used to but is certainly better than having to program using JavaScript.
The ThinWire sample application
The ThinWire SDK comes with a web application called simpleapp that is ready to be deployed into a Java Servlet Container. It is also supposed to be possible to run it locally according to the following statement that appears in one of their ReadMe files.
"To help get you up and running quickly, this SDK includes a trimmed down version of Apache Tomcat v5.5. The steps for running the Tomcat server and loading a demo are: ..."
However, I was unable to get simpleapp to run locally, so I took another approach.
Need to deploy the ThinWire sample web application
When I couldn't get the application to run in the manner described in the ThinWire literature, I decided that I would simply need to deploy the ThinWire simpleapp web application into a jakarta-tomcat-5.0.27 system that I keep on my local system for testing JSP pages and servlets. (See the earlier lesson entitled Getting Started with Jakarta Tomcat, Servlets, and JSP.)
Oops, something is missing here
After making that decision, it didn't take me very long to realize that if I was going to be deploying complex web applications involving servlets and JSP pages, I would need to learn a great deal more about the deployment of web applications than I already knew.
(Although I had tested numerous simple JSP pages and servlets using Tomcat, I had never given any thought to how to deploy a web application in any way other than in the default ROOT directory of the Tomcat server.)
Ajax to the back burner
So, I put the Ajax project on the back burner and embarked on an effort to learn more about deploying web applications. (I will resurrect the Ajax project later.) I spent the next few days pouring through the documentation in order to get a handle on the deployment of
Author: Richard G. Baldwin
Read article at Internet.com site