I think this question may turn out to be a bit subjective, so I mark it as CW.
My team is interested in developing a new set of "web services" for our projects. I put "web services" in quotation marks, as this term can mean so many different things. The only thing we really need is that we can provide some set of APIs for cross-platform clients in order to consume our data and take action on it.
I'm trying to do some research to understand what the “current state” is when it comes to creating services to provide your data to a large number of other (internal) applications and even other services. I learn things like Thrift, protocol buffers, JAX-WS, RMI, etc., and I lost a bit, as it turned out, which approach we should take when developing a new set of services. I would like for us to be able to essentially create an “infrastructure” for services, so I take a little overview of all the current approaches.
To create brand-new-from-scratch web services, where is the current best practice / current state?
Our only real requirements:
- The data format / encoding must be platform independent (this excludes RMI).
- Services should work on HTTP
- Writing the actual server services in Java should not be a problem.
- The ability to generate client proxies will be a good plus.
- I would like each service to be easy, where we could deploy services for different functions as completely separate deployments.
We currently use some combination of SOAP and Axis / JAXRPC services, and frankly, this is a huge pain to work with - messages sent back and forth are huge and overly verbose.
source
share