GWT RPC may not be supported beyond GWT 2.8, so I'd be wary of using it for a new project now.
Paul On 19 Feb 2016 8:17 p.m., "Sam Wootton" <[email protected]> wrote: > Thank you Gilberto, good advice. Im not sure it will reduce work or > achieve the 'minimal' server rewrite (or rather maximal legacy reuse), but > at least it will be done properly. I hadnt heard of RestyGWTbefore, so > thanks. I'll give your advice a go, and see where it takes me. > > Regards, Sam > > On 19 February 2016 at 18:35, Gilberto <[email protected]> > wrote: > >> I don't think my comment will help you out, but in my opinion you >> shouldn't go to GWT RPC if you're rewriting the communication with the >> server. Go RESTful. Given the nature of your application, a pure RESTful >> structure can not be achieved, but at least you can start using REST >> frameworks, such as Jersey (on the server) and RestyGWT (on the client). >> >> I say that because I'm currently working on a project where I have to >> convert GWT RPC calls to REST calls, to enable the server to be called from >> native mobile apps. Trust me: I'd be happier if I had started RESTful since >> day 1. >> >> About the XML stuff: were you using SOAP? Or something else? Is the XML >> just the transport for the entity data? If so, you could replace it with >> JSON... without having to write the parsers for it. You get it for free >> when using Jersey or any other REST framework for Java. >> >> >> On Friday, February 19, 2016 at 3:18:44 PM UTC-2, Sam Wootton wrote: >>> >>> I guess one of the main problems is jumping from RemoteServiceServlet >>> (setting session data), then handing control over to a 'standard' Servlet >>> (which does db work, business logic, sets new session data and attempts to >>> write, a now redundant?, response)... then jumping back in to the original >>> RemoteServiceServlet and returning the original rpc call. >>> >>> Btw - Im having problems formatting my posts here (using Firefox >>> 42.0b9), I cant put spaces in between words in my post titles, apologies :] >>> >>> Regards, Sam >>> >>> >>> >>> >>> On Friday, 19 February 2016 13:54:25 UTC, Sam Wootton wrote: >>>> >>>> >>>> Dear GWT Users, >>>> >>>> Many thanks in advance for any help and advice. Very much appreciated! >>>> >>>> I have a legacy application: java Swing client with XML based Servlet >>>> communication (request and response). >>>> >>>> The server comprised of aro >>>> >>>> und 10 Servlets, one 'Front Controller' that forwarded >>>> (RequestDispatcher >>>> ) to other Servlets depending on the initial XML request from >>>> client. These delegated Servlets did everything (parsed XML, db queries, >>>> session data, etc). >>>> >>>> I decided move java swing client to gwt. Also move from XML to gwt >>>> rpc. Ideally I dont want to rewrite the whole server again (even thought >>>> it just talks in XML / Strings). >>>> >>>> I thought I could just forward my request from my main >>>> RemoteServiceServlet class, on to my 'legacy' XML servlets. >>>> >>>> What do I have so far? >>>> >>>> A working GWT client, making RPC calls to my RemoteServiceServlet. >>>> Successfully set session data and forward on to a e.g. LoginServlet. >>>> LoginServlet queries db and updates session data. >>>> Read updated session data in RemoteServiceServlet. >>>> >>>> For example: >>>> >>>> *RemoteServiceServlet* >>>> getThreadLocalRequest().getSession().setAttribute("username", username); >>>> requestDispatcher = >>>> getThreadLocalRequest().getRequestDispatcher("/LoginServlet"); >>>> requestDispatcher.forward(getThreadLocalRequest(), >>>> getThreadLocalResponse()); >>>> >>>> *LoginServlet* >>>> String username = (String) session.getAttribute("username"); >>>> // do some db stuff & set new session data >>>> session.setAttribute("userEmail", userEmail); >>>> >>>> *RemoteServiceServlet* >>>> getThreadLocalRequest().getSession().getAttribute("userEmail") >>>> >>>> >>>> This seems very convoluted and hacky, and not scalable for the amount >>>> of work done in my 'legacy' servlets. Is there a better way? >>>> >>>> Can I have multiple servlets extend RemoteServiceServlet? >>>> Whats the best way to implement a 'front controller' style architecture >>>> with gwt? >>>> Whats the best way to integrated multiple legacy XML servlets with a >>>> GWT facade / front controller? >>>> My legacy servlets just read and write a lot of XML, for example >>>> >>>> <MFRequest> >>>> <Request type='SaveSettings' data=''/> >>>> <UserPrefs download_pref='../' email_pref='yes' decompress_pref='no' >>>> password_pref='no'/> >>>> </MFRequest> >>>> >>>> >>>> This thread was helpful >>>> >>>> https://groups.google.com/forum/#!topic/google-web-toolkit/kRmrirPsFC8 >>>> >>>> I have a lot of XML data, session data and file upload / download data >>>> (hence have these split up in to different servlets). >>>> >>>> Anyway- hope this gives an overall picture of my project / problem(s). >>>> >>>> Regards, Sam >>>> >>>> >>>> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "GWT Users" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/google-web-toolkit/rR0liCZDSl4/unsubscribe >> . >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at https://groups.google.com/group/google-web-toolkit. >> For more options, visit https://groups.google.com/d/optout. >> > > -- > You received this message because you are subscribed to the Google Groups > "GWT Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/google-web-toolkit. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "GWT Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/d/optout.
