Programming Books C Java PHP Python Learn more Browse Programming Books
SOA Using Java Web Services and over one million other books are available for Amazon Kindle. Learn more
  • List Price: $59.99
  • Save: $11.10 (19%)
Only 3 left in stock (more on the way).
Ships from and sold by
Gift-wrap available.
SOA Using Java Web Servi... has been added to your Cart
Condition: Used: Good
Comment: A little worn but still in good overall condition.
Access codes and supplements are not guaranteed with used items.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

SOA Using Java Web Services Paperback – May 19, 2007

ISBN-13: 978-0130449689 ISBN-10: 0130449687

Buy New
Price: $48.89
25 New from $24.70 35 Used from $0.22
Amazon Price New from Used from
"Please retry"
"Please retry"
$24.70 $0.22
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

Best Books of the Year
See the Best Books of 2014
Looking for something great to read? Browse our editors' picks for 2014's Best Books of the Year in fiction, nonfiction, mysteries, children's books, and much more.

Frequently Bought Together

SOA Using Java  Web Services + Java SOA Cookbook + Java Web Services: Up and Running
Price for all three: $111.39

Buy the selected items together

Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Paperback: 608 pages
  • Publisher: Prentice Hall (May 19, 2007)
  • Language: English
  • ISBN-10: 0130449687
  • ISBN-13: 978-0130449689
  • Product Dimensions: 7 x 1.2 x 9.2 inches
  • Shipping Weight: 1.8 pounds (View shipping rates and policies)
  • Average Customer Review: 3.8 out of 5 stars  See all reviews (24 customer reviews)
  • Amazon Best Sellers Rank: #1,614,493 in Books (See Top 100 in Books)

Editorial Reviews

About the Author

Mark Hansen, Ph.D., is a software developer, consultant, and entrepreneur. His company, Javector Software, provides consulting and software application development focused on Web services. Mark is also a content developer for Project GlassFish and has developed the open source SOA-J application framework for WSDL-centric Web services development.

Previously, Mark was a visiting scholar at MIT, researching applications for process and data integration using Web services technology. Prior to that, Mark was an executive vice president for Xpedior, Inc., a leading provider of e-business consulting services. He joined Xpedior when they acquired his consulting firm, Kinderhook Systems.

Mark founded Kinderhook in 1993 to develop custom Internet solutions for Fortune 1000 firms in the New York metropolitan area. Prior to founding Kinderhook Systems, Hansen was a founder and vice president of technology for QDB Solutions, Inc., a software firm providing tools for data integrity management in corporate data warehouses.

Mark's work has been featured in publications such as the Wall Street Journal, Information Week, Computer World, Database Management, Database Programming and Design, Business Communications Review, EAI Journal, and IntelligentEnterprise.

Mark earned a Ph.D. from the MIT Laboratory for Computer Science, a master's degree from the MIT Sloan School of Management and a bachelor's degree in mathematics from Cornell University.

Mark and his wife, Lorraine, live in Scarsdale, New York, with their three children, Elizabeth, Eric, and Emily.

Excerpt. © Reprinted by permission. All rights reserved.

Java became a powerful development platform for Service-Oriented Architecture (SOA) in 2006. Java EE 5, released in May 2006, significantly enhanced the power and usability of the Web Services capabilities on the application server. Then Java SE 6, released in December 2006, incorporated the majority of those capabilities into the standard edition of the Java programming language.

Because robust Web Services technology is the foundation for implementing SOA, Java now provides the tools modern enterprises require to integrate their Java applications into SOA infrastructures.

Of course, Java has had basic Web Services capabilities for some time. JAX-RPC 1.0 was released in June 2002. J2EE 1.4, finalized in November 2003, included JAX-RPC 1.1. So what is significant about the latest versions of the Java Web Services (JWS) APIs?

The answers are power and ease of use. Programmers will find it much easier to build enterprise-class applications with Web Services in Java EE 5 than in J2EE 1.4. Evidence of that is contained in Chapters 9 and 10, which describe an application I developed to integrate online shopping across eBay, Yahoo! Shopping, and Amazon. It’s a pure Java EE 5 application, called SOAShopper, that consumes REST and SOAP services from those shopping sites. SOAShopper also provides its own SOAP and REST endpoints for cross-platform search, and supports an Ajax front-end. SOAShopper would have been a struggle to develop using J2EE 1.4 and JAX-RPC. With the new Java Web Services standards, it was a pleasure to write.

This book focuses on the following standards comprising the new Java Web Services:

  • JAX-WS 2.0 JSR 224—The Java API for XML-Based Web Services. The successor to JAX-RPC, it enables you to build and consume Web services with Java.
  • JAXB 2.0 JSR 222—The Java Architecture for XML Binding. Tightly integrated with JAX-WS, the JAXB standard controls how Java objects are represented as XML.
  • WS-Metadata JSR 181—Web Services Metadata for the Java Platform. WS-Metadata provides annotations that facilitate the flexible definition and deployment of Java Web Services.
  • WSEE 1.2 JSR 109—Web Services for Java EE. WSEE defines the programming model and run-time behavior of Web Services in the Java EE container.

These standards contain a few big improvements and many little enhancements that add up to a significantly more powerful Web Services programming platform. New annotations, for example, make it easier to write Web Services applications. And the delegation, in JAX-WS 2.0 JSR 224, of the Java/XML binding to JAXB 2.0 JSR 222 greatly improves the usability of JAX-WS as compared with JAX-RPC. The deployment model has been greatly simplified by WS-Metadata 1.0 JSR 181 and an improved 1.2 release of WSEE JSR-109.

Chapters 1 and 2 review these JWS standards in detail and describe how they improve on the previous set of JWS standards. Chapters 3 through 10 focus on writing code. To really understand the power and ease of use of the new Java Web Services, you need to start writing code. And that is primarily what this book is about. Chapters 3 through 10 are packed with code examples showing you how to best take advantage of the powerful features, avoid some of the pitfalls, and work around some of the limitations.

Chapter 11 looks to the future and offers some ideas, along with a prototype implementation, for a WSDL-centric approach to creating Web Services that might further improve JWS as a platform for Service-Oriented Architecture.

I started writing this book in 2002, when JAX-RPC first appeared on the scene. I soon ran into trouble, though, because I wanted it to be a book for programmers and I had a hard time writing good sample code with JAX-RPC. Four years later, when I started playing around with beta versions of the GlassFish Java EE 5 application server, I noticed that things had significantly improved. It was now fun to program Web Services in Java and I recommitted myself to finishing this book.

The result is a book with lots of code showing you how to deal with SOAP, WSDL, and REST from inside the Java programming language. Hopefully this code, and the writing that goes with it, will help you master Java Web Services and enable you to start using Java as a powerful platform for SOA.

About This Book

An Unbiased Guide to Java Web Services for SOA

My primary goal in this book is to offer an unbiased guide to using the Java Web Services (JWS) standards for SOA. Of course, any author has a bias, and I admit to believing that the JWS standards are quite good. Otherwise, I would not have written this book.

Having admitted my bias, I also freely admit that JWS has weaknesses, particularly when it comes to the development approach known as Start from WSDL and Java. As you will see described in many different ways in this book, the JWS standards present a Java-centric approach to Web Services. That approach can be troublesome when you need to work with established SOA standards and map your Java application to existing XML Schema documents and WSDLs.

In such situations, it’s helpful to be able to take a WSDL-centric approach to Web Services development. In this area, JWS is less strong. Throughout the book, I point out those shortcomings, and offer strategies you can use to overcome them. Chapter 11 even offers a prototype framework, called SOA-J, that illustrates an alternative, WSDL-centric approach to Java Web Services.

Written for Java Developers and Architects

This is a book for people who are interested in code—primarily the developers who write systems and the architects who design them. There are a lot of coding examples you can download, install, and run.

Being a book for Java programmers working with Web Services, the discussion and examples provided within assume you have a working knowledge of Java and a basic understanding of XML and XML Schema. You don’t need to know a lot about SOAP or WSDL to dive in and start learning. However, as you go along in the book, you might want to browse through an introductory tutorial on WSDL and/or XML Schema if you need to firm up your grasp on some of the Web Services basics. Throughout the book, I offer references to Web sites and other books where you can brush up on background material.

Knowledge of J2SE 5.0 Is Assumed

This book assumes you have a basic understanding of J2SE 5.0—particularly the Java language extensions generics and annotations. If you are not familiar with generics or annotations, you can learn all you need to know from the free documentation and tutorials available at

Don’t be intimidated by these topics. Generics and annotations are not hard to master—and you need to understand them if you are going to do Web Services with Java EE 5 and Java SE 6. The reason I have not written an introduction to generics and annotations as part of this book is that there is so much good, free information available on the Web. My focus in this book is to go beyond what is freely available in the online tutorials and documentation.

Why GlassFish?

All the code examples presented in this book have been developed and tested using the GlassFish GLASSFISH open source Java EE 5 reference implementation. At the time I wrote this, it was the only implementation available. Now that the book is going to press, there are more, and the code should run on all these platforms without change. The only changes that will need to be made have to do with the build process where GlassFish specific tools (e.g., the wsimport WSDL to Java compiler, the asadmin deployment utility) are used.

I plan to test the example code on other platforms as they become available and to post instructions for running them on JBoss, BEA, IBM, and so on, as these vendors support the JWS standards. Check the book’s forthcoming Web site ( for updates on progress with other platforms.

If you haven’t tried GlassFish, I suggest you check it out at It supports the cutting edge in Java EE and the community is terrific. In particular, I’ve had good experiences getting technical support on the mailing lists. It’s not uncommon to post a question there and have one of the JSR specification leads respond with an answer within minutes!

Why Some Topics Aren’t Covered

Both SOA and Web Services are vast topics. Even when restricting the discussion to Java technology, it is impossible to cover everything in one book. Faced with that reality, I decided to focus on what I consider to be the core issues that are important to Java developers and architects. The core issues involve creating, deploying, and invoking Web Services in a manner that enables them to be composed into loosely coupled SOA applications.

In narrowing the book’s focus, it is inevitable that I will have disappointed some readers because a particular topic of interest to them isn’t covered. Some of these topics, pointed out by my reviewers, are listed here, along with the reasons why I didn’t include them.

SOA Design Principles

This is not a book that covers the concepts and design philosophy behind SOA. It is a how-to book that teaches Java developers to code SOA components using Java Web Services. For a thorough introduction to SOA concepts and design, I recommend Thomas Erl’s Service-Oriented Architecture Erl.


UDDI is very important. And Java EE 5 includes the JAX-R standard interface to UDDI repositories. But JAX-R hasn’t changed since J2EE 1.4. And it is covered well in many other books and online tutorials. So, in an effort to keep this book to a manageable size, I have left it out.<...

Customer Reviews

I cannot say this is a bad book.
T. Dugan
This book explains the concepts very clearly along with very good examples which I use as reference for my development.
This book has lots of great information on implementing JAX-WS web services.
Jonathan Famous

Most Helpful Customer Reviews

29 of 32 people found the following review helpful By T. Dugan on August 1, 2007
Format: Paperback
Mark Hansen says SOA using Java Web Services is hard and he seems to do his best to prove it.

The author states in the Preface, " is inevitable that I will have disappointed some readers because a particular topic of interest to them isn't covered." For me, that wasn't the problem. The problem was there was not enough grounding in what I already know to give me enough lift to understand the text.

I couldn't really follow most of the book. Reading this book, my concentration collapsed under a borage of acronyms and complex notations. I don't think this book is for someone who is not already nearly an expert on the subject. Too many times I saw phrases like "my purpose is not to write a detailed tutorial for..." -- leaving me wondering what background information he would provide.

I cannot say this is a bad book. I can only say I didn't get much out of it and that most developers would be challenged themselves. I am not an expert in SOA or Web Services, but I have been a Java developer more than six years and a software engineer for more than 20.

Despite being a book about Java Web Services, there is really not very much Java in the book. It's mostly dense text with XML examples.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
13 of 14 people found the following review helpful By GA on December 25, 2007
Format: Paperback
I couldn't wait to dive into this book, as it covered precisely the topics that are sorely lacking in other books on the subject. For instance, the book covers topics related specifically to JEE 5. It's also got a chapter on REST, which other current SOA books bizarrely ignore.

But there's the rub: the writing logic is incredibly "upside down". The author chokes you with details first, then, much later, gives the context into which the details should fit. Sometimes he even neglects to give any context at all, and you're left with a load of low-level details for which you have no use.

The REST chapter is a case in point, instead of explaining REST or elaborating the position of REST vis-a-vis the broader spectrum of Web Services, which he said in the preface that he'd do, the chapter starts with an out-of-place primer on XML and XSLT and then moves to implementation examples of doing REST with and without Java Web Services. The end.

Also, the book assumes you already know all you need to know about SOA and Web Services, and focuses far too closely on the the implementation using the new tools of Java Web Services. While that's the title of the book, the back cover makes you think that it covers issues broader than implementation details, by saying things like "practical techniques for managing the complexity of web services and SOA, including best-practice design examples".

In general I found that the information is badly organized, the sub-topics in a chapter don't build up well to the chapter's objective, the diagrams are confusing, and, usually, you don't get what the author is trying to achieve from the flood of information he provides.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
7 of 7 people found the following review helpful By Eric Dimick Eastman on August 22, 2007
Format: Paperback Verified Purchase
A colleague and I were already experienced Java developers. This book greatly helped getting us jump started into web services. I bought a couple similar books at the same time, but this is the one I used most.

That said, acronyms were over-used. By page 70, my head was swimming trying to remember the difference between an SEI and an EIS. If you are going to abbreviate that many things, create a table to decode them or at least include them in the glossary.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
12 of 14 people found the following review helpful By Shilpa on May 18, 2007
Format: Paperback
This is a very good book to learn and master WebServices and SOA concepts. I am a developer and understand how difficult it is to develop and maintain webservices for an enterprise application. This book explains the concepts very clearly along with very good examples which I use as reference for my development. From design to implementation this book has been very helpful. I recommend that everyone who is working on webservices should have this book. This book also talks about interesting ideas which will help in designing robust and scalable web service applications. It surely helps improve design and build robust,scalable web service application, and very good for reference.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
7 of 8 people found the following review helpful By Rconline on August 31, 2007
Format: Paperback
I work in a company, which lost its largest client because it delivered
a large Java application with poor usage of SOA techniques. Having worked
on that project, I know how difficult it can get when there are 18
engines talking to each other through XML's !

I wish our company had had this book to guide us during that project.
Although not an easy text, reading this book has been a pleasure,
because it offers clear and practical advice for working with
the often overly complex SOA technology standards for Java (e.g.,

The book has lots of examples, starting with simple REST services and
progressing to more complex SOAP/WSDL and JAXB illustrations, including a
"SOAShopper" tool that integrates shopping across eBay, Yahoo, and Amazon.

For me, the book's pluses are: the speed at which I
could get started with web services; the forward-looking approach
based on both SOAP and RESTful API's; the detailed coverage of JAXB;
and the entire concept of binding rather than mapping for Java/XML

Chapter 6 and 7 deal with the JAX-WS both client side and server side.
The author describes SOA architecture and concepts of WS with
sufficient detail and on the other he provides granular examples to
develop and deploy lots of examples. I think this combination of high
level architecture and detailed examples distinguished this book from
any other SOA/Web Services text that I've seen.

Chapter 8 clarifies packaging issues in detail; a very comprehensive
effort that deals with most of the situations a software developer is
likely to encounter in practice!
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews

More About the Author

Discover books, learn about writers, read author blogs, and more.

What Other Items Do Customers Buy After Viewing This Item?