|
Java Web Services
For many Java developers, web services appeared to come out of nowhere. Its advantages are clear: web services are platform-independent (like Java itself), language-agnostic (a clear advantage over Java RMI), can easily be tunneled through firewalls (an obvious benefit to anyone who has dealt with modern enterprise networks), object-oriented (we all
know about that), and tends to be loosely coupled (allowing more flexible application development). But these advantages have been obscured by a cloud of hype and a proliferation of jargon that are difficult to penetrate. What are SOAP, UDDI, WSDL, and JAXM? To say nothing of JAXR, tModels, category bags, WSFL, and other friends? And assuming that you understand what they are, how do you do anything with them? Do they live up to their promises? Are they really the future of network computing, or a dead end?
Java Web Services gives the experienced Java developer a way into the Web Services world. It helps you to understand what's going on, what the technologies mean and how they relate, and shows Java developers how to put them to use to solve real problems. You'll learn what's real and what isn't; what the technologies are really supposed to do, and how they do it. Java Web Services shows you how to use SOAP to perform remote method calls and message passing; how to use WSDL to describe the interface to a web service or understand the interface of someone else's service; and how to use UDDI to advertise (publish) and look up services in each local or global registry. Java Web Services also discusses security issues, interoperability issues, integration with other Java enterprise technologies like EJB; the work being done on the JAXM and
JAX-RPC packages, and integration with Microsoft's .NET services.
The web services picture is still taking shape; there are many platforms and APIs to consider, and many conflicting claims from different marketing groups. And although web services are inherently language-independent, the fit between the fundamental principles on which Java and web services are based means that Java will almost certainly be the predominant language for web services development. If you're a Java developer and want to climb on the web services bandwagon, or if you only want to "kick the tires" and find out what web services has to offer, you will find this book indispensable.
Table of Contents:
1. Welcome to Web Services
What Are Web Services?
Web Services Adoption Factors
Web Services in a J2EE Environment
What This Book Discusses
2. Inside the Composite Computing Model
Service-Oriented Architecture
The P2P Model
3. SOAP: The Cornerstone of Interoperability
Simple
Object
Access
Protocol
Anatomy of a SOAP Message
Sending and Receiving SOAP Messages
The Apache SOAP Routing Service
SOAP with Attachments
4. SOAP-RPC, SOAP-Faults, and Misunderstandings
SOAP-RPC
Error Handling with SOAP Faults
SOAP Intermediaries and Actors
5. Web Services Description Language
Introduction to WSDL
Anatomy of a WSDL Document
Best Practices, Makes Perfect
Where Is All the Java?
6. UDDI: Universal Description, Discovery, and Integration
UDDI Overview
UDDI Specifications and Java-Based APIs
Programming UDDI
Using WSDL Definitions with UDDI
7. JAX-RPC and JAXM
Java API for XML Messaging (JAXM)
JAX-RPC
SOAPElement API
JAX-RPC Client Invocation Models
8. J2EE and Web Services
The SOAP-J2EE Way
The Java Web Service (JWS) Standard
9. Web Services Interoperability
The Concept of Interoperability
The Good, Bad, and Ugly of Interoperability
Potential Interoperability Issues
SOAPBuilders Interoperability
Other Interoperability Resources
Resources
10. Web Services Security
Incorporating Security Within XML
XML Digital Signatures
XML Encryption
SOAP Security Extensions
Further Reading
Appendix. Credits
|