aspose file tools*
The moose likes GWT and the fly likes ways to deploy only the changes done in GWT web app  something like a upgrade patch Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Frameworks » GWT
Bookmark "ways to deploy only the changes done in GWT web app  something like a upgrade patch" Watch "ways to deploy only the changes done in GWT web app  something like a upgrade patch" New topic
Author

ways to deploy only the changes done in GWT web app something like a upgrade patch

aditi singh
Greenhorn

Joined: Jun 17, 2013
Posts: 14
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.
Please suggest.

I have posted this in AWT/SWT topic forum as I was not sure of GWT forum.

Maneesh Godbole
Saloon Keeper

Joined: Jul 26, 2007
Posts: 10535
    
    9

Welcome to the Ranch.

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.

[How to ask questions] [Donate a pint, save a life!] [Onff-turn it on!]
aditi singh
Greenhorn

Joined: Jun 17, 2013
Posts: 14
Thanks Maneesh for the quick reply!

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).
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42951
    
  72
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?
aditi singh
Greenhorn

Joined: Jun 17, 2013
Posts: 14
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.
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42951
    
  72
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?
Maneesh Godbole
Saloon Keeper

Joined: Jul 26, 2007
Posts: 10535
    
    9

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.
aditi singh
Greenhorn

Joined: Jun 17, 2013
Posts: 14
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?
Maneesh Godbole
Saloon Keeper

Joined: Jul 26, 2007
Posts: 10535
    
    9

One option would be to have a servlet/jsp as your main page (instead of the static html) Before the content is written back to the client, you can make the call on the server side itself and make that data available as a part of the rendered html.
Check out http://google-web-toolkit.googlecode.com/svn/javadoc/1.4/com/google/gwt/i18n/client/Dictionary.html
aditi singh
Greenhorn

Joined: Jun 17, 2013
Posts: 14
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.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: ways to deploy only the changes done in GWT web app something like a upgrade patch