In addition to previous poster -> yes you can keep on using the GWT RPC.
The things I had to change in order to keep it working when packaging the
spring boot jar, was;
1 - to make sure Spring Boot runs the servlets (enough on the web for that)
2 - to make sure the gwt compile ends up in de classes folder before the
.jar is created
3 - to make sure the servlet can access the .gwt.rpc file to validate the
servlet calls.
Normally that is available to the servlet from the war package, but since
it's a jar with Spring boot you need to make some changes;
For that I had to override the RemoteServiceServlet method;
@Override
protected SerializationPolicy doGetSerializationPolicy(HttpServletRequest
request, String moduleBaseURL, String strongName) {
return SerializationPolicyLoader.loadFromStream(new
ClassPathResource("classpath:yourLocation/" +
strongName+".gwt.rpc").getInputStream(), null);
}
So the changes are quite limited and not as much Spring boot specific, but
more the oddities of changing the package format from a .war to a .jar
That was all -> runs like a charm
Op maandag 5 december 2022 om 23:00:26 UTC+1 schreef [email protected]:
> Hi All,
>
> you don't have to move GWT RPC to REST and JSON when you want to move the
> backend to Spring Boot. GWT RPC is just a servlet which you can register in
> Spring Boot.
>
> Here are some examples of the standard GWT Demo StockWatcher but
> implemented using Spring Boot with GWT RPC and REST JSON:
>
> https://github.com/lofidewanto/stockwatcher
>
> (1) This example shows how to integrate the GWT RPC servlet to Spring Boot
> using @WebServlet:
> https://github.com/lofidewanto/stockwatcher/blob/master/stockwatcher-springboot-webapp/stockwatcher-springboot-webapp-server/src/main/java/stockwatcher/GreetingServiceImpl.java
>
> (2) This example shows to integrate the GWT RPC servlet to Spring Boot,
> but I think doesn't work so far. I could take a look if you want to.
>
>
> https://github.com/lofidewanto/stockwatcher/blob/master/stockwatcher-springboot/stockwatcher-springboot-server/src/main/java/stockwatcher/WebConfig.java
>
> Cheers,
> Lofi
>
> Michael Joyner schrieb am Montag, 21. November 2022 um 16:50:29 UTC+1:
>
>> *Are you using gwt-RPC ?*
>> Yes! we are using GWT-RPC & currently having a single WAR of near about
>> 500mb, having CLIENT-SHARED-SERVER in a same project.
>>
>> You can still have everything in a master parent project that builds the
>> final WAR with all the client JS and SERVER classes in the same war.
>>
>>
>> *You'll need to switch to JSON for data transport.*
>> Is there any drawback of switching to JSON in GWT, such as impact on
>> performance etc.
>>
>> You lose easy polymorphism for models, they will require an extra set of
>> annotations at the very least if you have polymorphism as part of your DTO
>> setup.
>>
>>
>> *You'll need to use something like DominoKit REST.*
>> We found one RestyGWT <https://resty-gwt.github.io/>, but not sure about
>> its final impact as we haven't applied it yet. any suggestions...
>>
>> RestyGWT is effectively defunct. Stick with a modern GWT3 compatible
>> approach such as DominoKit.
>>
>>
>>
>> *It would be also be best to split the project into three projects. An
>> API project, a shared code project, and a UI project.*
>> We cannot get why keeping *SHARED CODE *as a separate project is best.
>> We are not having any library of GWT on server side. So except MODELS, what
>> are the other stuffs we can have in SHARED CODE PROJECT.
>>
>> In this case SHARED CODE is really just the MODELS and INTERFACES and
>> possible the REST Interface.
>>
>>
>> *If you are using gwt-RPC then IMHO there will need to be a big
>> refactoring change at the very least*
>> This is where we are stuck & looking for the solution with a minimum
>> change and should be stable but unable to figure out yet.
>>
>> I don't think you can accomplish this with a large project with minimum
>> of change unless the client API calls are fully abstracted away (or can be)
>> so that code could be replaced with a different class.
>>
>>
>> On Monday, November 21, 2022 at 7:37:33 PM UTC+5:30 Michael Joyner wrote:
>>
>>> There are a lot of factors to consider.
>>>
>>> Are you using gwt-RPC ? You'll need to switch to JSON for data transport.
>>>
>>> You'll need to use something like DominoKit REST (
>>> https://github.com/DominoKit/domino-rest) for the data transport layer.
>>>
>>> It would be also be best to split the project into three projects. An
>>> API project, a shared code project, and a UI project.
>>>
>>> If you are using gwt-RPC then IMHO there will need to be a big
>>> refactoring change at the very least.
>>>
>>>
>>> On 11/21/22 08:19, [email protected] wrote:
>>>
>>>
>>> We are having a huge project already running successfully on GWT.
>>>
>>> But for some reasons we are planning to move our backend to SPRING-BOOT
>>> keeping front end in GWT.
>>>
>>> Is there any way we can do it easily without a big change in our
>>> existing application.
>>>
>>>
>>> --
>>> 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 view this discussion on the web visit
>>> https://groups.google.com/d/msgid/google-web-toolkit/c267bbb3-504f-41a8-896a-a2c2463eccdcn%40googlegroups.com
>>>
>>> <https://groups.google.com/d/msgid/google-web-toolkit/c267bbb3-504f-41a8-896a-a2c2463eccdcn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> --
>> 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 view this discussion on the web visit
>> https://groups.google.com/d/msgid/google-web-toolkit/1790c907-ce31-4d97-a5b9-1915fef68865n%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/google-web-toolkit/1790c907-ce31-4d97-a5b9-1915fef68865n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>>
>>
--
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 view this discussion on the web visit
https://groups.google.com/d/msgid/google-web-toolkit/5535048c-bbc2-4f58-8cf4-11025a166464n%40googlegroups.com.