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.
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.
Inhaltsangabe
Foreword xvPreface xixAcknowledgments xxviiAbout the Author xxixChapter 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 523Appendix 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 537Glossary 539References 555Index 561
Ein Marktplatz-Angebot für "SOA Using Java Web Services" für EUR 49,00