I'd like to bolster up my knowledge about web services in the Java universe. My current knowledge right now is that Axis is a (not THE) web service framework and that Axis 2 is very different from Axis 1.
So...I'm looking for a book about web services with a good portion of code and a practical approach. If the practical part is based on Axis, I'll be fine with it.
The current standard bearer of Java WS books is probably Mark Hansen, and before that it was Richard Monson-Haefel. The former is up-to-date API-wise, while the latter is a bit dated (covers JAX-RPC instead of JAX-WS and JAXB) but also has content on topics like UDDI/JAXR and WS-I (which the former lacks).
As an aside, I wouldn't say that Axis 2 is very different from Axis 1, although it does implement a slightly different set of APIs (in particular JAX-WS instead of JAX-RPC). But that's just tracking the evolution of Java WS APIs.
Joined: Apr 12, 2006
Hello Ulf, thank you for your reply. I understand your review that Hansen's book doesn't target absolute WS newbies what is what I am. I skimmed through the other reviews but none really seemed to suit to my needs. Any more recommendations and different opinions welcome.
I was reading Java Web Services from O'reilly. It does talk in theory of SOAP but hard to move the first step for practical. It would have been good if there was 20 % RMI & CORBA section before jumping to Web Service. On the other hand, Apache axis has enough online documentation for 'how' part but doesnt satisfy for 'what ', 'why' and 'why not' part. Moreover the documentation has heavy terminologies, as a beginner i did suffer.
I am working through the Hansen book currently. I'm not strictly a newbie, having some background with RESTful web services and some SOAP work, but near enough I find.
The Hansen book is a very dense read, but by pulling up the code in eclipse and reading and re-reading the text I find I am learning quite a bit.
The problem for newbies is learning enough about SOA to actually be useful. Most *basic* Web Services books are simply not enough in my experience to get you to tht level. If you want simple I recommend sticking with REST. For SOA you have to make a commitment of time.
This is where the Hansen book comes in. Once you are aware of a couple fixes which need to be made, Hansen's examples run well. He takes you though an exhausting list of alternatives and explains what is better and what is worse. Don't just grab an example and assume it's best-practice because sometimes he develops an working example which is pretty grim, then in the next section shows how to make it better.
That said, I've found this book to be exactly what I need to take my skills to the next level. Hansen shows Lot's of ways of doing things. His examples aren't toy examples, they accurately describe the challenges of real-world system integration work, and give you multiple tools to solve those challenges. It's a difficult book but a great one in that respect.
There were a couple of problems with the examples (at least on Windoze) which you need to get past. A recurring maven problem is a POM validation error, maven 2 objects to relative paths names. This pretty much has to be fixed for every example.
The other problem is a missing environment variable which needs to be set to point to the maven 2 home directory. This is named M2_HOME in the build files.
Joined: Feb 10, 2004
Originally posted by Akhilesh Trivedi: I was reading Java Web Services from O'reilly. It does talk in theory of SOAP but hard to move the first step for practical. It would have been good if there was 20 % RMI & CORBA section before jumping to Web Service. On the other hand, Apache axis has enough online documentation for 'how' part but doesnt satisfy for 'what ', 'why' and 'why not' part. Moreover the documentation has heavy terminologies, as a beginner i did suffer.
It sounds like this book covers first-generation SOA using the RPC paradigm. This was basically a repeat of CORBA/RMI and DCOM - distributed objects over SOAP. This uses RPC/Literal binding.
The Hansen book on Java SOA covers second-generation SOAP, which is that the Document/Literal wrapped style should be used. There is also a Document/Literal unwrapped style but this is not legal for multiple parameters under WS-1, so it is only recommended for messages. [ November 15, 2008: Message edited by: Don Stadler ]