SOA Using Java Web Services / Edition 1
  • SOA Using Java Web Services / Edition 1
  • SOA Using Java Web Services / Edition 1

SOA Using Java Web Services / Edition 1

4.5 2
by Mark D. Hansen
     
 

ISBN-10: 0130449687

ISBN-13: 9780130449689

Pub. Date: 05/23/2007

Publisher: Prentice Hall

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

…  See more details below

Overview

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.

The book

  • 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.

Foreword
Preface

Acknowledgments
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
Prefixes
Glossary

References

Index

Read More

Product Details

ISBN-13:
9780130449689
Publisher:
Prentice Hall
Publication date:
05/23/2007
Edition description:
New Edition
Pages:
578
Product dimensions:
6.90(w) x 9.10(h) x 1.10(d)

Table of Contents

Foreword xv

Preface xix

Acknowledgments xxvii

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

Glossary 539

References 555

Index 561

Read More

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >

4.5 out of 5 based on 0 ratings. 2 reviews.
Anonymous More than 1 year ago
The examples are very practical.
Guest More than 1 year ago
Hansen offers the serious and experienced java programmer a way to learn Java Web Services, based on Java EE 5, which is probably the most heavily used version right now. (Version 6 has just come out and the book's code should easily run under it.) The bulk of the text essentially works through very detailed examples using JWS and associated (recent) standards like JAXB 2. The gist is to be able to write java code that can take XML output from some Web Service out there on the net, and let you composite it into another Web Service. It's still not trivial to do. The code fragments assume a working knowledge of several current standards. Hansen is correct when he says that this is much easier than it would have been just a few years ago. The recent upgrades to java and the standards make this possible. But keep in mind that easier does not necessarily mean simple. One passage in the text might appeal to those hapless enough to have dealt with XSLT. Several years ago, XSLT was promoted as the method to transform one XML representation to another. Several books have been written about this topic. But (bitter) experience has shown that XSLT is a remarkably cumbersome and obtuse way of doing things. What Hansen demonstrates is that JAXB 2 can be used in place of XSLT. Seems much more straightforward. Though to be fair, more practise will be needed doing this, to see if it holds true for other XML transformations.