views:

69

answers:

1

I am eager to build an application with Gwt and App Engine. I'm more familiar with App Engine: creating dynamic html pages with servlets and jsp's. I'm wondering however, if this type of application technology belongs with GWT?

The two examples I can foresee being a problem are login and database retrieval.

For user log-in, my current approach is simple: at the beginning of a servlet, check if the user object exists. If it does, show the page. If it doesn't, redirect to Google's login service. How does this model fit in with GWT? It seems to me that GWT compiles into static html/javascript/css files you place on your server. With this approach, it doesn't seem possible to do any server processing to check for a vlid user before serving the static page (because any user could just bypass the servlet and type the static page url directly).

The other example would be show data from the app engine datastore. If i wanted to create a table which each row being an entry from the data store, I would dynamiclly create the html in a servlet, and do my datastore access there etc, etc. It seems with GWT I would have to serve a container html page, then use ajax to load the database content after the fact?

Maybe GWT isn't right for my type of application, or maybe I'm just thing about web application development the wrong way. Some clarification would be appreciated.

A: 

In a over simplified sense, a typical GWT app will work like this:

  1. User navigates to your web page. Their browser uses a static url(s) to download all the javascript, css, and images necessary to run your app.

  2. From now on, every time a user presses a button or otherwise interacts with the page, data is retrieved via an AJAX call. So yes, they might download your app before logging in, but all your security sensitive data would only be returned via an ajax call, giving you the chance to validate their identity however you wish (cookie, user/pass, etc)

This is basically what you describe in your second example about loading data from the datastore. It sounds like you think this is bad for some reason, but you don't say why.

Peter Recore
Thanks for the response, and I agree now that I understand this framework a little better. For anybody else reading this and thinking along the same lines as me previously, the key misunderstanding I had was that GWT works via javascript. What i mean is, you can have any html resource you want, and wrap it with GWT later. this means, you can still dynamically crated your html pages (via jsp for example), then wrap them with GWT javascript on the client.
darren