Praise for .NET Web Services
“Keith Ballinger has been ‘Mr. Web Services’ at Microsoft for as long as there were Web services. Anyone doing work on the Microsoft Web Services platform would do themselves a favor by reading this book, as Keiths insights are unique.” —Bob Beauchemin, DevelopMentor
“This book is a very good introduction to Web services, providing enough specific information for a person to fully understand the principles and implementation issues of Web services . . . Ballinger clearly outlines the fundamental architectural topics that any organization looking to implement XML Web services should consider.” —Colin Bowern, Consultant, Microsoft Corporation
“This book provides information about all principal components of Webservices: transport protocol, interface definition and services discovery mechanisms, security and messaging infrastructure, as well as underlying technologies (XML, TCP/IP, HTTP). Description of each subject is comprehensive and complete; examples provide good illustration from the content.” —Max Loukianov, Solomio Corp.
.NET Web Services is the authoritative guide to designing and architecting better Web services using Microsoft technologies. Written by Keith Ballinger, a Program Manager for XML Web Services at Microsoft, this book explains what Web services are, why they exist, and how they work in .NET. Readers will gain a thorough understanding of the technologies that allows them to take full advantage of .NET.
The book opens with an introduction to Web services and Web services standards. It then explores .NET technologies and examines how the .NET Framework gives developers the tools they need to build Web service applications. The core of the book focuses on the key specifications that make up the Web services architecture, from HTTP to SOAP to WS-Security. .NET Web Services concludes with the author's expert advice on architecting and designing Web service applications.
Topics covered include:
- The features and pitfalls of Web services
- Web services standards
- Creating Web Services with ASP.NET
- Creating Web service clients
- XML serialization with .NET
- Extending Web services
- Transport protocols for Web services
- XML and XML Schemas
- Describing Web services
- Discovering Web services
- Messaging with Web services
- Securing Web services
- Advanced messaging
Best practices are illustrated throughout with full working examples as well as code samples using C# and ASP.NET Web services. A companion Web site at www.keithba.net includes all sample code from the book.
Books in the Microsoft .NET Development Series are written and reviewed by the principal authorities and pioneering developers of the Microsoft .NET technologies, including the Microsoft .NET development team and DevelopMentor. Books in the Microsoft .NET Development Series focus on the design, architecture, and implementation of the Microsoft .NET initiative to empower developers and students everywhere with the knowledge they need to thrive in the Microsoft .NET revolution.
Best practices are illustrated throughout with full working examples as well as code samples using C# and ASP.NET Web services. The companion Web site includes all sample code from the book. Books in the "Microsoft .NET Development Series" are written and reviewed by the principal authorities and pioneering developers of the Microsoft .NET technologies, including the Microsoft .NET development team and Develop Mentor. Books in the "Microsoft .NET Development Series" focus on the design, architecture, and implementation of the Microsoft .NET initiative to empower developers and students everywhere with the knowledge they need to thrive in the Microsoft .NET revolution.
1. Introducing Web Services.
The Problem: Sharing Data.
The Solution: Distributed Application Development.
The Web Architecture.
Defining Web Services.
The Significance of Internet Standards.
The Significance of WSDL.
The Significance of Interoperability.
The Significance of Loose Coupling.
The Web Service Architecture.
The Baseline Specifications of Web Service Architecture.
2. XMLWeb Services Standards.
XML and XML Schema.
Standards for XMLWeb Services.
The Protocol: SOAP.
Describing Services with WSDL.
Discovering Services with UDDI.
3. Creating Web Services with ASP.NET.
Roadmap to ASP.NET Web Services.
Anatomy of a Web Service.
Building Document-Literal Services.
Building Document-Encoded Services.
Building RPC-Encoded Services.
Building One-Way Services.
Using SOAP Bindings.
Implementing a Server Asynchronously.
Using SOAP Headers.
4. Creating Web Service Clients.
Creating Clients with the .NET Framework SDK.
Discovery with disco.exe.
Creating Clients with Visual Studio .NET.
Creating Web Service Clients Manually.
Building Document-Literal Clients.
Building Document-Encoded Clients.
Building RPC-Encoded Clients.
Building One-Way Clients.
Building a Client That Includes Asynchronous Methods.
Handling Errors and SOAP Faults.
Extending and Customizing a Client.
5. XML Serialization with .NET.
Only Classes with a Public, Default Constructor Will Be Serialized.
Only Public Fields and Properties Will Be Serialized.
Read-Only Fields and Properties Will Not Be Serialized.
Methods and Other Type Information Will Not Be Serialized.
Writing and Reading XML.
Serializing Encoded XML.
Customizing XML Serialization.
The Namespace of Serialized XMLWill Be http://tempuri.org by Default.
Properties and Fields Will Remain in the Same Namespace.
Properties and Fields Will Be Serialized as Elements.
Arrays with XML Serialization.
Serializing Untyped XML.
Creating Classes from Schemas.
XML Serialization and Web Services.
6. Extending Web Services.
Customizing Transport Information.
Setting Exposed HTTP Properties.
Overriding Proxy Class Behavior.
The Web Services Enhancements for Microsoft .NET.
7. Transport Protocols for Web Services.
Unreliable Messages with UDP.
SOAP in E-mail: SMTP.
The Web's Transport: HTTP.
The WebClient Class.
The WebRequest Classes.
8. Data and Format: XML and XML Schemas.
XML Documents and Namespaces.
Programming with XML and Namespaces.
Streaming XML Processing.
Describing XML with Schemas.
Data Types with XML Schema.
Describing the XML Shape.
Programming with Schemas.
Programming Schema-Based XML.
Manipulating XML Schema Documents.
9. The Messaging Protocol: SOAP.
Overview of the SOAP Protocol.
Enveloping with SOAP.
Errors with SOAP.
Remote Method Calls with SOAP.
SOAP and HTTP.
Using SOAP to Send Messages.
SOAP Headers and Asynchronous Messaging
10. Describing Web Services.
Requirements for Describing Web Services.
The Web Services Description Language.
Anatomy of WSDL.
Abstract Message Operations.
Concrete Operation Information.
Port Types and Operations.
Services and Ports.
Reading WSDL Documents with .NET.
Web Service Policy.
11. Discovering Web Services.
Universal Discovery with UDDI.
The Anatomy of UDDI.
WSDL and UDDI.
Anatomy of WS-Inspection.
12. Messaging with Web Services: WS-Routing, WS-Referral, and DIME.
Message Paths with WS-Routing.
Building WS-Routing Applications.
Dynamic Configuration of SOAP Routers.
Anatomy of a DIME Message.
Using DIME with SOAP.
13. Securing Web Services with WS-Security.
Security Technologies and Standards.
Web Service Security Protocols.
14. Advanced Messaging: Reliability and Sessions.
Dialogues and Monologues.
15. Designing Web Services.
Writing Performance-Oriented Code with .NET.
Message Size and Network Latency.
How Important Is Performance?
Specific SOAP Issues.
Types of Versioning.
Loosely Coupled Architecture and Implementation Versioning.
Namespaces and Versioning.
Using Business Logic.