 |
Building Web Services with Java: Making Sense of XML, SOAP, WSDL, and UDDI
Read an excerpt:
Chapter 3: The SOAP Protocol
Reprinted with permission from Sams.
|
Be the First to Write a Review and tell the world about this title!People who purchase this book frequently purchase: - Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services; Thomas Erl, $31.95, 36% Off!
- J2EE Web Services; Richard Monson-Haefel, $40.95, 37% Off!
- Web Services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging and More; Sanjiva Weerawarana, et al, $34.50, 37% Off!
- Hibernate in Action; Christian Bauer, et al, $26.95, 40% Off!
Books on similar topics, in best-seller order:Books from the same publisher, in best-seller order:
Sams has assembled a team of experts in web services to provide you with a detailed
reference guide on XML, SOAP, USDL and UDDI. Building Web Services with Java is
in its second edition and it includes the newest standards for managing security,
transactions, reliability and interoperability in web service applications. Go
beyond the explanations of standards and find out how and why these tools were
designed as they are and focus on practical examples of each concept. Download
your source code from the publisher's website and work with a running example
of a full enterprise solution. Learn from the best in Building Web Services with
Java.
Table of Contents
Introduction.
I. WEB SERVICES BASICS.
1. Web Services Overview and Service-Oriented Architectures.
What Is a Web Service?
Service-Oriented Architectures.
Trends in E-Business.
Why Do We Need Web Services?
The Web Service Opportunity.
Justifying Web Services.
Web Services Interoperability Stack.
Summary.
2. XML Primer.
Document- Versus Data-Centric XML.
XML Instances.
XML Namespaces.
XML Schemas.
Processing XML.
Summary.
Resources.
3. The SOAP Protocol.
Simple Object Access Protocol (SOAP).
Doing Business with SkatesTown.
Inventory Check Web Service.
A Closer Look at SOAP.
The SOAP Messaging Framework.
SOAP Intermediaries.
The SOAP Body.
The SOAP Processing Model.
Versioning in SOAP.
Processing Headers and Bodies.
Faults: Error Handling in SOAP.
Objects in XML: The SOAP Data Model.
The SOAP RPC Conventions.
XML, Straight Up: Document-Style SOAP.
When to Use Which Style.
The Transport Binding Framework.
Using SOAP to Send Binary Data.
Small-Scale SOAP, Big-Time SOAP.
Summary.
Resources.
4. Describing Web Services.
Why Service Descriptions?
Role of Service Description in a Service-Oriented Architecture.
Well-Defined Service.
History of Interface Definition Languages (IDLs).
Web Services Description Language (WSDL).
A Sketch of How WSDL Maps to Java.
Nonfunctional Descriptions in WSDL.
Standardizing WSDL: W3C and WSDL 2.0.
Summary.
Resources.
5. Implementing Web Services with _Apache Axis.
A Brief History of Axis.
Axis Architecture.
The Message APIs and SAAJ.
The Axis Client APIs.
Web Service Deployment Descriptor (WSDD).
Building Services.
A Guide to Web Service Styles.
From XML to Java and Back Again: The Axis Type-Mapping System.
When Things Go Wrong: Faults and Exceptions.
Axis as an Intermediary.
How to Write a Handler.
Built-in Security.
Understanding Axis Transport s.
No API Is an Island: Axis and Its Environment.
Development/Debugging Tools.
Axis Futures: A Quick Tour.
Participating in the Axis Community.
Summary.
Resources.
6. Discovering Web Services.
What Is Service Discovery?
UDDI (Universal Description, Discovery, _and Integration) .
Other Service Discovery Methods.
Summary.
Resources.
II. ENTERPRISE WEB SERVICES
7. Web Services and J2EE.
J2EE Overview.
Using EJBs from Axis.
Using JSR109: Implementing _Enterprise Web Services.
Summary.
Resources.
8. Web Services and _Stateful Resources.
Web Services and State.
WS-Resources.
Stateful Resources.
Modeling Resource Properties.
Using Notifications.
Resource Lifetime.
Other WS-Resource Framework Specifications.
Summary.
9. Securing Web Services.
Example Scenario.
Security Basics.
Web Services Security.
WS-Security.
WS-Trust.
WS-SecurityPolicy.
WS-SecureConversation.
WS-Federation.
Enterprise Security.
J2EE Security.
Authorization in J2EE.
J2EE and Web Services Security.
Security Services.
Summary.
Resources.
10. Web Services Reliable Messaging.
Background of the Web Services Reliable Messaging Protocol (WS-RM).
The WS-RM Specification.
WS-RM Processing Model.
Client-Side Processing.
Server-Side Processing.
Sequence Faults.
Policy Assertions.
SpecVersion Assertion .
DeliveryAssurance Policy.
SequenceExpiration Policy.
InactivityTimeout Assertion.
BaseRetransmissionInterval _Assertion.
AcknowledgementInterval Assertion.
SequenceRef Element.
Flaws and Other Thoughts on the WS-RM Spec.
Putting WS-RM into Use.
Summary.
Resources.
11. Web Services Transactions.
Web Services Coordination and Transaction _(WS-C/Tx).
Transactions: A Brief Introduction.
WS-Coordination.
The CoordinationContext .
The CreateCoordinationContext _Operation.
The Register Operation.
WS-Coordination Fault Codes.
WS-Transaction: Atomic Transactions.
WS-AT Operations.
Commit and Rollback.
AT Protocols.
Two-Phase Commit Protocols.
Committing the Transaction.
Transaction Flow Overview.
Business Activity Protocol.
Reliable Delivery and Security.
Summary.
Resources.
12. Orchestrating Web Services.
Why Are We Composing Web Services?
Two-Level Programming Model.
Stateless and Stateful Web Services.
Evolution of Business Process Languages.
SkatesTown Requirements.
Business Process Execution Language for _Web Services.
Design Goals.
External Interface of a Process.
Overall Structure of a Process.
Basic and Structured Activities.
Process Lifecycle and Related Activities.
Partner Links .
Properties and Correlation Sets.
Invoking Web Services and Providing Web Services.
Data Handling and Related Activities .
More Basic Activities: wait , empty .
Flows.
More Structured Activities: sequence , while , switch , scope .
Fault Handling .
Compensation Handling .
Event Handling .
SkatesTown: Putting It All Together.
Advanced Considerations.
Abstract Processes.
Language Extensibility.
Summary.
Resources.
III. WEB SERVICES IN THE REAL WORLD
13. Web Services Interoperability.
Web Services Interoperability Organization.
WS-I Basic Profile 1.0.
Common Requirements for SOAP Envelope, WSDL Document, and XML Schema
_Document.
Understanding the WSDL Document _Structure.
Importing XML Schema and WSDL _Documents.
Defining the Service Interface.
Defining a SOAP Binding.
Publishing a Service Description.
HTTP and SOAP Message Content.
Web Service Security.
WS-I Conformance Claims.
Service Provider, Requestor, and Registry Requirements.
Summary of Basic Profile 1.0 Requirements.
Future WS-I Profiles.
Basic Profile 1.1.
Simple SOAP Binding Profile 1.0.
Attachments Profile 1.0.
Basic Security Profile 1.0.
WS-I Sample Applications.
WS-I Test Tools.
Monitor Overview.
Monitor Configuration File.
Message Log File.
Analyzer Overview.
Analyzer Configuration File.
Test Assertion Document.
Profile Configuration Report.
Summary.
Resources.
14. Web Services Pragmatics.
Enterprise Adoption of Web Services.
Time-Based Adoption Challenges.
Inherent Limitations of SOA.
Top-Down Versus Bottom-Up.
Policies and Processes.
Putting Web Services in Production.
Web Services Technology Map.
System Architectures for Web Services.
Features, Capabilities, and Approaches.
Tools and Platforms.
SOA Testing.
Deployment and Provisioning.
Business Process Automation Using Web _Services.
Operations.
Summary.
Resources.
15. Epilogue: Web Services Futures.
A Roadmap for Web Services.
Age of Invention (Base SOAP, WSDL, _UDDI).
Age of Development (from Hype to _Delivery).
Age of Mainstream Acceptance (Web _Services Become Boring).
Future Trends in Web Services.
Short-Term Trends and Issues.
Medium-Term Trends.
Longer-Term Trends.
Summary.
Appendix A:- Glossary.
Index.
About the Authors
Steve Graham is an architect in the Emerging Technologies division
of IBM Software Group. He has spent the last several years working on service-oriented
architectures, most recently as part of the IBM Web Services Initiative. Before
this, Steve worked as a technologist and consultant working with emerging technologies
such as Java and XML; before that, he was an architect and consultant with the
IBM Smalltalk consulting organization. Before joining IBM, Steve was a developer
with Sybase, a consultant, and a faculty member in the Department of Computer
Science at the University of Waterloo. Steve holds a Bachelor of Arts degree
in math and a Master of Arts degree in math in computer science from the University
of Waterloo.
Doug Davis works in the Emerging Technology organization of
IBM, working on IBM's Web Services Toolkit, and he is one of IBM's representatives
in the W3C XML Protocol working group. Previous projects include WebSphere's
Machine Translation project, TeamConnection, and IBM's FORTRAN 90 compiler.
Doug has a Bachelor of Science degree from the University of California at Davis
and a Master's degree in Computer Science from Michigan State University.
Simeon (Sim) Simeonov has been developing software for more
than 15 years. Sim's areas of expertise encompass object-oriented technology,
compiler theory, Internet tools, enterprise computing, and the broad spectrum
of XML technologies. As chief architect at Macromedia Inc., Sim provides direction
for the evolution of the company's technology and product strategy as well as
the architecture of its server-side platform products. Previously, Sim was chief
architect at Allaire Corporation, where his initiatives brought about numerous
innovations to the core product lines. Sim is currently working on service-oriented
architectures for the next generation of distributed XInternet applications.
He is actively involved with the Java Community Process in the areas of Internet
applications, XML, and Web Services. Sim also represents Macromedia on the W3C
working group on XML Protocol. He is a regular speaker at conferences and a
monthly columnist for XML Journal. Sim holds a B.A. in Computer Science, Economics,
and Mathematics and a MSc in Computer Science.
Glen Daniels has run the gamut in his 13 years in the software
industry, from device drivers and network stacks up through user interface and
Web site work, in everything from assembly language to C++ to Lisp. Distributed
computing has always been a passion, and as such he is currently the technical
lead for the JRun Web Services team at Macromedia. Glen is also an active member
of the W3C XML Protocol group as well as one of the lead developers of Axis.
Peter Brittenham is a Senior Technical Staff Member working
in the IBM Emerging Technology group. Peter is currently an architect applying
service-oriented architecture concepts to IBM's Autonomic Computing initiative.
Yuichi Nakamura is a contributor to the Apache SOAP and Axis
projects.
Paul Fremantle is a Senior Technical Staff Member in IBM's Software
division. Paul works on IBM's Enterprise Service Bus initiative and other Web
services activities in the WebSphere product.
Dieter König is a software architect for workflow systems
at the IBM Germany Development Laboratory. He joined the laboratory in 1988
and has worked on Resource Measurement Facility for z/OS, MQSeries Workflow,
and WebSphere Process Choreographer.
Claudia Zentner is an architect working for IBM's Software Group
at the IBM Development Laboratory in Böblingen, Germany. Currently she
is an architect for the process choreography component of the WebSphere Business
Integration offering.
|
 |