WebService Java REST ou SOAP?

Galera é o seguinte:

Tenho um aplicativo desktop (Projeto Maven), onde roda localmente no cliente e sem servidor… Apenas um .jar

Eu preciso fazer a comunicação local (sem internet) entre esse aplicativo e um app mobile na mesma rede (intranet), sei que isso é possível então a ideia é criar um Web Service que rode dentro do meu arquivo .jar e agora chega as duvidas:

1- Seria possível criar esse web service sem uso de servidor (Sem Tomcat)?
2- Devo criar ele REST ou SOAP?
3- Qual a melhor forma e framework para isso?

Sem internet é complicado.

Estarão na mesma rede, a comunicação dentro da mesma rede não precisa de internet. A Duvida não é essa e sim qual Web Service devo criar?

E se rodaria sem o Tomcat

Sem um servidor HTTP, vc teria que usar sockets para comunicação (ainda mais por ser uma aplicação desktop).

Eu iria de REST, mas seria preciso um servidor HTTP (há como iniciar um tomcat embarcado na aplicação para fazer isso).

Eu usaria Spring Boot, mas se for uma aplicação que já está construída. Dê uma pesquisada sobre Embedded Tomcat (ou jetty, ou undertow).

1 - Sim.
2 - REST, pois é o padrão para mobile.
3 - JAX-WS com Jersey

1- Não teria como usar um web service SOAP no lugar de sockets?

2- Vou pesquisar sobre Tomcat embarcado, vlw pela dica.

3- Aplicação está sendo feita por mim, então com Spring Boot eu não precisaria do Tomcat embarcado?

Tem como criar REST sem o servidor(Tomcat)?

Sim. https://www.devmedia.com.br/desenvolvendo-e-usando-web-services-em-java/37261. Até onde sei, apenas webservices REST necessitam de um servidor http para funcionar.

Por padrão, o spring boot já utiliza um tomcat embarcado para funcionar.

1 curtida

Cara muito obrigado pelas suas respostas, deu para ter uma ideia boa do que eu tenho que fazer.

Só fiquei com duvida em relação a qual versão e/ou “tipo” de spring boot usar, pois existem vários (spring-boot-starter, spring-boot, spring-boot-starter-parent, etc…)?