Oct 26th, 2010, 09:38 PM
Spring MVC on GAE: Slow Load Time
I first want to say that I really want Spring Roo to work on Google App Engine.
It appears that from the forum that few people are having issues getting roo to work in this enviroment. So when a release or build is completed is someone running it on Google App Engine to confirm every works. My expectation would be that a roo script would be created that anyone could run and create a project and run it on GAE with out any issues.
The other concern I now have is the following post on google group for gae. Is the Spring Roo team taking into consideration the slow load times on GAE?
Is Spring Roo and Google App Engine the right mix?
Oct 28th, 2010, 01:22 AM
There are plenty of Spring-based apps running on GAE without a problem. I've been involved in two Google keynote events where we demoed Spring apps running live on App Engine and experienced no startup time problems. Even Roo 1.1.0.RELEASE ships with a /sample directory script which produces a GWT-based Spring app that runs on GAE.
If you find you're having trouble with startup time of a Roo app, feel free to log a bug report in our Jira and we will take a closer look. We also have access to the GAE engineers so we can resolve this effectively if we can reproduce it.
Oct 28th, 2010, 09:22 PM
Got the expenses-gae.roo working like a charm.
So when I'm working with google app engine only should I just stick with GWT as my UI?
The other issue I'm seeing is when I need to have restful endpoints. I need to run a controller command and whole other UI layers is created. If I need both a UI and Restful endpoints should I not run gwt setup?
Which is combinations will give me the best results?
Thanks for your help.
Oct 29th, 2010, 02:22 AM
Currently, GAE does not support the JSP 2.1 and JSTL 1.2 standards which causes problems with the Roo scaffolded jsps and tag libraries. This is being worked on by Google and should be resolved soon. The issue is tracked in the Spring Roo Jira here https://jira.springsource.org/browse/ROO-1006.
So currently you can only deploy GWT views on GAE. However, if you run controller all to get the Spring MVC controllers and delete the view artefacts that are being installed alongside (jspx, tagx, etc) you should be able to deploy the app on GAE and use the RESTful JSON endpoints.
Oct 29th, 2010, 08:25 AM
Thanks for the reply. If JSP 2.1 was supported, would I be better off sticking with GWT in the Google App Engine environment?
Also would it make sense to create a controller command that would just create controllers for RESTful JSON endpoints and not create all the other view artifacts?
I could see a case where you would want to create a RESTful JSON endpoint in a non GWT setup.
Oct 29th, 2010, 08:29 AM
Yes, we have considered splitting up the scaffolding of view artifacts (jspx, tagx, tiles, CSS, etc) from the generation of the MVC controllers. This is something we will probably attack soon. Do you want to raise a Jira issue for this?
Once JSP 2.1 is supported on GAE it is your choice which UI technology you prefer. Roo happily supports either one (and more to come).
Oct 29th, 2010, 09:10 AM
Would love to create a jira issue. Do I need to request access to that?
Do you know if GWT out of the box supports a RESTful JSON endpoint?
Oct 29th, 2010, 02:59 PM
You need to create an account here if you don't already have one.
Not sure about a GWT JSON endpoint. GWT can use JSON endpoints for data transport but given it is compiled to JS I don't see how it would directly offer a JSON endpoint. This is where Spring MVC helps .