In a GWT web application, is there a way I can deploy only the changes done to either the view or say a presenter?
Fo eg: we have a MVP model in GWT web app, if we are adding a new set of M-V-P(a new view, its corresponding presenter and the models involved) in the code, user would want to deploy just the new component
instead of the complete packaged war. I am trying to see it as upgrade patch that user can use it whenever there are any changes in web app.
I have posted this in AWT/SWT topic forum as I was not sure of GWT forum.
Where are you deploying? If you are using Google App Engine, it is smart enough to figure out and pick up the delta only.
If it is some other web or application server, that would depend if the said server supports partial upgrades. Remember your application will be packaged as a war.
Also, making a minor change might not necessarily mean corresponding changes to the files. Remember, GWT is JS code compiled from your java code. Even if you use code splitting, some other JS might be affected.
We are installing a gui web app (which is a GWT code) as desktop application and so have embeded the web server(say tomcat) with the packaged web app.
and now need to explore how to upgrade the app with minimal or the only changes done (these changes can be simple UI changes or adding complete new set of functionality).
Given that it's run as a desktop app, why would distributing a partial update be any easier than just distributing a new war file and restarting the app? Or, to put it another way, what is the underlying problem you're trying to solve?
well, the end users are not comfortable taking the complete war when they need just the label changes, I guess they are used to upgrade/patch env a lot.
So , do you think we have that flexibilty here or are there any ways to do so.
Joined: Mar 22, 2005
If it's about the end users, then I'd say any process that involves partial updates is bound to be more involved than updating just one file, wouldn't you agree?
Web UI running as a desktop application. That sounds like a strange combination to me. If your business requirement permits, I would suggest using Java Web Start.
Also, from my perspective, if I were the end user, I would prefer replacing one file (war1.0 with war2.0) instead of applying a patch.
Joined: Jun 17, 2013
Yes I agree with you. infact installling a new version of war is an ease to maintain.
incase biz wants patch like install tomorrow, just seeing options if we have any. i have one more quick question on gwt impl -
have a situation where async call should be made to server before rendering the 1st screen of the app( say login screen). so can we write service call in onmoduleLoad() and onsuccess, display the 1st screen, is this approach correct or is there a better design?
thats one good option.
If I want to do the following way, please guide me how should I go about it-
I have GWT_proj1 and GWT_proj2. GWT_proj1 has the service call in onModuleLoad() and onresponserecieved() I am writing window.location.assign(url of index.html for GWT_proj2). while redirecting to 2nd html, it says requestURI not found.
Basically I am doing the service call in one gwt proj and if successful then only download the 2nd project . this way I am trying to avoid loading 2nd module(which is a loginmanager) incase required data is not there from service call.
I am not sure how do I redirect from one GWT prj to another. Also checked module inheritence, but thats not helping me. Please suggest option to redirect and the way url should be used for location change.