Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java REST/SOAP service technology stack [closed]

I'm looking for suggestions on selecting an Open Source technology stack for Java REST/SOAP Web service implementation.

I've looked at Tomcat and Jetty, amongst others, but being relatively new to this domain I've been somewhat overwhelmed by the sheer number of options and lack of documentation for some.

This is for a PoC so ease of configuration and use is very important. If the chosen technologies are carried forward to production then obviously scalability will become a priority but for the time being it's not (showcasing other parts of the project is the main objective).

Any recommendations would be much appreciated.

like image 885
Aeham Avatar asked Mar 23 '23 09:03

Aeham


2 Answers

This is not a very precise question. But to help you to get started, I can say that:

  • tomcat and jetty are both Java Application Server. They don't provide specific support for REST/SOAP technologies. They are just Servlet Container. But : your webservices will be implemented by one or more servlets. So a ServletContainer is certainly something that will be part of your stack. (Tomcat is widely used).

  • once you have an ServletContainer you can choose some framework to help you. Spring framework is a lightweight framework helping you to bring everything together. Configuring all your components etc... It provide built-in support for REST/SOAP, but it can also be integrated with more powerful-webservice-dedicated frameworks.

  • for REST implementation, I recommend Jersey (the reference implementation). It can be integrated with Spring quite easily.

  • for SOAP : you can look at apache CXF (it also provide support for REST)

So, you can look at : Tomcat + Spring + Jersey + CXF. In my opinion it's a good opensource stack to start with webservices.

like image 126
ben75 Avatar answered Mar 24 '23 23:03

ben75


For REST, I use Jersey: https://jersey.java.net/ and Grizzly: https://grizzly.java.net/

for SOAP: I use JAX-WS (in Java since 6), but it's touchy.

like image 42
Zagrev Avatar answered Mar 25 '23 00:03

Zagrev