After building mainly Java desktop apps and some small GWT services, I'm trying to learn how to build Web Services in Java but I feel overwhelmed by the sheer amount of buzzwords, terms, specifications and technologies. Besides, I'm not able to find a comprehensive, yet correct source to learn.

Is this normal when starting WS, and what are good books/resources?

  • Hm... that was the most hated topic 2 years ago in my study... welcome to the world of Web Services! Jun 7, 2011 at 15:36
  • 2
    "Is this normal when starting WS"? This isn't a very helpful or interesting question. You should probably remove this, since it's purely subjective. Focus on the other half of your question, listing the kinds of resources you'd like to have. Also, explain why the first few Google hits on "Web Services Tutorial" are not good helpful enough for you.
    – S.Lott
    Jun 7, 2011 at 15:58

4 Answers 4


Yes, it's normal. I was productive in Ruby on Rails after a couple of days. In contrast, I have found the Java web frameworks to be insanely complex for no obvious reason, and have found the documentation to be fair to poor. Decent API documentation, but little overview. But things are getting better. For web services, I like Jersey quite a lot.


In java there are two types of web services. There's the Web Services where you're going to use SOAP, WSDL, etc. (which is what I always learned was "web services") and then there's the REST style calls (that I've always referred to as REST over HTTP). But then I noticed that other engineers get pretty informal about it and they call REST "web services" which to me confused the issue.

Anyway my experience is that the REST style (Jersey, Spring Rest Template, etc.) are both easier to learn and much more popular (those two points are probably related, btw). So if you find the SOAP web services confusing (and I know I did) you can do yourself a favor and skip learning them until you run across hard proof that you'll actually use them in the real world.

  • I, too, believe that "Web services" referred to SOAP, and "ReST service" or "ReSTful service" was perfectly fine, but people sometimes say "ReSTful Web service" anyway. For an intro to ReST, check out Dr. M. Elkstein's tutorial.
    – hotshot309
    Oct 2, 2012 at 1:51

The Java API for RESTful Services (JAX-RS) is the easiest to start with. The following example from my Java XML Binding blog may help:


1st thing to understand is that Web Services are alternative to older styles or RPC:

  • DCOM
  • Corba
  • platform specific RPCs and application specific
  • all above were way loaded with unnecessary details too

2nd thing is that it is sort of way to make API calls to object over http (or other transport, messaging, pigeon mail).

3rd important part is - Every programming language since invention of web services can generate whole client code, which should make your application using webservice as some plain object with methods. No matter how many moving parts involved, you should be able as a user to compile, run, invoke, recieve results and exceptions as if it was local object.

The rest of complexity is caused by aspects of reliability, compatibility, security etc.

Not the answer you're looking for? Browse other questions tagged or ask your own question.