Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question

closed as off-topic by Oliver Weiler, GlenH7, MichaelT, Bart van Ingen Schenau, Dan Pichelman Oct 30 '14 at 18:58

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – Bart van Ingen Schenau, Dan Pichelman
If this question can be reworded to fit the rules in the help center, please edit the question.

Hm... that was the most hated topic 2 years ago in my study... welcome to the world of Web Services! – WarrenFaith Jun 7 '11 at 15:36
"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 '11 at 15:58
up vote 6 down vote accepted

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.

share|improve this answer
+1 for Jersey... – Mike Baranczak Jun 7 '11 at 17:36

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.

share|improve this answer
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 '12 at 1:51

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.

share|improve this answer

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