SOA Using Java Web Services
Product Author Bios
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.
Expert Solutions and State-of-the-Art Code Examples
SOA Using Java™ Web Services is a hands-on guide to implementing Web services and Service Oriented Architecture (SOA) with today’s Java EE 5 and Java SE 6 platforms. Author Mark Hansen presents in explicit detail the information that enterprise developers and architects need to succeed, from best-practice design techniques to state-of-the-art code samples.
Hansen covers creating, deploying, and invoking Web services that can be composed into loosely coupled SOA applications. He begins by reviewing the “big picture,” including the challenges of Java-based SOA development and the limitations of traditional approaches. Next, he systematically introduces the latest Java Web Services (JWS) APIs and walks through creating Web services that integrate into a comprehensive SOA solution. Finally, he shows how application frameworks based on JWS can streamline the entire SOA development process and introduces one such framework: SOA-J.
- Introduces practical techniques for managing the complexity of Web services and SOA, including best-practice design examples
- Offers hard-won insights into building effective SOA applications with Java Web Services
- Illuminates recent major JWS improvements–including two full chapters on JAX-WS 2.0
- Thoroughly explains SOA integration using WSDL, SOAP, Java/XML mapping, and JAXB 2.0 data binding
- Walks step by step through packaging and deploying Web services components on Java EE 5 with JSR-181 (WS-Metadata 2.0) and JSR-109
- Includes specific code solutions for many development issues, from publishing REST endpoints to consuming SOAP services with WSDL
- Presents a complete case study using the JWS APIs, together with an Ajax front end, to build a SOA application integrating Amazon, Yahoo Shopping, and eBay
- Contains hundreds of code samples–all tested with the GlassFish Java EE 5 reference implementation–that are downloadable from the companion Web site, http://soabook.com.
About the Author
Chapter 1: Service-Oriented Architecture with Java Web Services
Chapter 2: An Overview of Java Web Services
Chapter 3: Basic SOA Using REST
Chapter 4: The Role of WSDL, SOAP, and Java/XML Mapping in SOA
Chapter 5: The JAXB 2.0 Data Binding
Chapter 6: JAX-WS–Client-Side Development
Chapter 7: JAX-WS 2.0–Server-Side Development
Chapter 8: Packaging and Deployment of SOA Components (JSR-181 and JSR-109)
Chapter 9: SOAShopper: Integrating eBay, Amazon, and Yahoo! Shopping
Chapter 10: Ajax and Java Web Services
Chapter 11: WSDL-Centric Java Web Services with SOA-J
Appendix A: Java, XML, and Web Services Standards Used in This Book
Appendix B: Software Configuration Guide
Appendix C: Namespace
Please visit the author's website at soabook.com.
29 of 32 people found the following review helpful
The author says it is hard...and proves it,
This review is from: SOA Using Java Web Services (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, "...it 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... Read more
13 of 14 people found the following review helpful
Valuable topics, terrible writing,
This review is from: SOA Using Java Web Services (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... Read more
7 of 7 people found the following review helpful
Got us started quickly,
Amazon Verified Purchase(What's this?)
This review is from: SOA Using Java Web Services (Paperback)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.
› See all 23 customer reviews...
Table of Contents
About the Author xxix
Chapter 1: Service-Oriented Architecture with Java Web Services 1
1.1 Am I Stupid, or Is Java Web Services Really Hard? 2
1.2 Web Services Platform Architecture 8
1.3 Java Web Services Standards: Chapters 2 through 8 18
1.4 The SOAShopper Case Study: Chapters 9 and 10 21
1.5 SOA-J and WSDL-Centric Development: Chapter 11 22
Chapter 2: An Overview of Java Web Services 25
2.1 The Role of JWS in SOA Application Development 26
2.2 A Quick Overview of the Ease-of-Use Features 36
2.3 JAX-WS 2.0 43
2.4 JAXB 2.0 54
2.5 WS-Metadata 2.0 73
2.6 WSEE 1.2 80
2.7 Impact of Other Java EE 5 Annotation Capabilities 82
2.8 Conclusions 84
Chapter 3: Basic SOA Using REST 85
3.1 Why REST? 85
3.2 XML Documents and Schema for EIS Records 88
3.3 REST Clients with and without JWS 97
3.4 SOA-Style Integration Using XSLT and JAXP for Data Transformation 114
3.5 RESTful Services with and without JWS 125
3.6 Conclusions 136
Chapter 4: The Role of WSDL, SOAP, and Java/XML Mapping in SOA 137
4.1 The Role of WSDL in SOA 138
4.2 The Role of SOAP in SOA 145
4.3 Dispatching: How JAX-WS 2.0 Maps WSDL/SOAP to Java Invocation 151
4.4 Working around Some JAX-WS 2.0 Dispatching Limitations 166
4.5 SOA Often Requires “Start from WSDL and Java” 175
4.6 Working around JAXB 2.0 Java/XML Mapping Limitations 182
4.7 Conclusions 194
Chapter 5: The JAXB 2.0 Data Binding 195
5.1 Binding versus Mapping 195
5.2 An Overview of the Standard JAXB 2.0 Java/XML Binding 199
5.3 Implementing Type Mappings with JAXB 2.0 209
5.4 A Recursive Framework for Type Mappings 217
5.5 Implementing Type Mappings with JAXB 2.0 Annotations 224
5.6 Implementing Type Mappings with the JAXB 2.0 Binding Language 235
5.7 Implementing Type Mappings with the JAXB 2.0 XmlAdapter Class 245
5.8 JAXB 2.0 for Data Transformation (Instead of XSLT) 256
5.9 Conclusions 262
Chapter 6: JAX-WS—Client-Side Development 265
6.1 JAX-WS Proxies 265
6.2 XML Messaging 285
6.3 Invocation with Custom Java/XML Mappings: An Example Using Castor Instead of JAXB 292
6.4 Asynchronous Invocation 297
6.5 SOAP Message Handlers 304
6.6 Conclusions 310
Chapter 7: JAX-WS 2.0—Server-Side Development 311
7.1 JAX-WS Server-Side Architecture 311
7.2 Start from WSDL Using a Service Endpoint Interface (SEI) 316
7.3 Providers and XML Processing without JAXB 320
7.4 Deploying Web Services Using Custom Java/XML Mappings 325
7.5 Validation and Fault Processing 329
7.6 Server-Side Handlers 343
7.7 Java SE Deployment with javax.xml.ws.Endpoint 347
7.8 Conclusions 355
Chapter 8: Packaging and Deployment of SOA Components (JSR-181 and JSR-109) 357
8.1 Web Services Packaging and Deployment Overview 359
8.2 Deployment without Deployment Descriptors 376
8.3 Using Deployment Descriptors 384
8.4 Automatic Deployment with GlassFish 402
8.5 Web Services Security 405
8.6 OASIS XML Catalogs 1.1 407
8.7 Wrapping Up 409
Chapter 9: SOAShopper: Integrating eBay, Amazon, and Yahoo! Shopping 411
9.1 Overview of SOAShopper 411
9.2 SOAShopper SOAP Services 417
9.3 An SOAShopper RESTful Service and the Standard XML Schema 423
9.4 Service Implementation 431
9.5 eBay and Amazon Services (SOAP) 434
9.6 Yahoo! Services (REST) 444
9.7 SOAShopper API and the Integration Layer 450
9.8 Conclusions about Implementing Real-World SOA Applications with Java EE 460
Chapter 10: Ajax and Java Web Services 463
10.1 Quick Overview of Ajax 464
10.2 Ajax Together with Java EE Web Services 468
10.3 Sample Code: An Ajax Front-End for SOAShopper 470
10.4 Conclusions about Ajax and Java EE 479
Chapter 11: WSDL-Centric Java Web Services with SOA-J 481
11.1 SOA-J Architecture 483
11.2 WSDL-Centric Development with SOA-J 486
11.3 Invocation Subsystem 493
11.4 Serialization Subsystem 503
11.5 Deployment Subsystem 514
11.6 Conclusions 519
Appendix A: Java, XML, and Web Services Standards Used in This Book 523
Appendix B: Software Configuration Guide 525
B.1 Install Java EE 5 SDK 526
B.2 Install Apache Ant 1.7.x 527
B.3 Install Apache Maven 2.0.x 527
B.4 Install the Book Example Code 528
B.5 Configure Maven 528
B.6 Configure Ant 530
B.7 Starting and Stopping the GlassFish Server 532
B.8 Test the Installation by Running an Example 532
B.9 Build and Deploy the SOAShopper Case Study (Chapters 9 and 10) 534
B.10 Build and Deploy the SOA-J Application Framework (Chapter 11) 535
B.11 Install Java SE 6 (Optional) 535
Appendix C: Namespace Prefixes 537
Downloadable Sample Chapter
Book + eBook Bundle
Book Price $47.99
eBook Price $16.80
eBook formats included
This book includes free shipping!
This book includes free shipping!
Includes EPUB, MOBI, and PDF
About eBook Formats
This eBook includes the following formats, accessible from your Account page after purchase:
EPUBThe open industry format known for its reflowable content and usability on supported mobile devices.
MOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.
PDFThe popular standard, used most often with the free Adobe® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discretely watermarking it with your name, making it uniquely yours.
Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.