Pro WCF: Practical Microsoft SOA Implementation

Amit Bahree & Others

Pro WCF: Practical Microsoft SOA Implementation is a complete guide to WCF from the SOA architecture perspective and shows you why WCF is important to web service development and architecture.

  • Published on Jun 12 2007
  • Pages 500
  • Downloaded 245
  • Type PDF
    • Like
    • Love It
    • Awesome
    • Interesting
    • It's Okay
    • Thumbs Down
  • 16.7k
  • 0


Part of Microsoft’s radical new WinFX API is the Indigo foundation, more formally known as the Windows Communication Foundation, or WCF. Pro WCF: Practical Microsoft SOA Implementation is a complete guide to WCF from the SOA architecture perspective and shows you why WCF is important to web service development and architecture.

The book covers the unified programming model, reliable messaging, security, the peer-to-peer programming model, and more. You’ll also learn how to move your current DCOM and .NET remoting applications to WCF, and how to integrate those applications with new WCF-based applications. You’ll want to get ahold of a copy because it

  • Contains a comprehensive WCF programming model
  • Explains how queue management and reliable messaging work in WCF
  • Discusses implementing transaction support in WCF
  • Shows how to make WCF services interoperable with other SOA offerings
  • Thoroughly covers WCF security topics and concerns

Author Information

Amit Bahree is a solution architect with Avanade and has over 14 years of experience in IT, developing and designing mission-critical systems. His background is a mixture of product development, embedded systems, and custom solutions across both public and private sectors. He has experience in a wide range of industry verticals ranging from financial services to utilities to insurance and has implemented solutions for many Fortune 100 companies. For Amit, computers is a passion first, a hobby second, and a career third, and he is glad he gets paid to do what he loves the most. He can be contacted via his blog at

Shawn Cicoria is a consultant with Avanade and lives with his family in Denville, New Jersey. He has MBAs in finance and information systems, and a BA in economics. Shawn is also a MCT training instructor with SetFocus, located in Parsippany, New Jersey. He has been working in systems for nearly 20 years, mostly in financial services (even working with punchcards). Shawn has worked on many platforms including VMS, UNIX variants, and, for most of the past decade, Microsoft Windows. Shawn has concentrating on distributed technologies such as COM[+], J2EE, and, for the past 5 years, .NET, SOAP, BizTalk, and database technologies—and now WinFX, using them to create capital market solutions that serve the needs of business on time and on budget.

Dennis Mulder started his career in 1997, choosing to dedicate himself to Microsoft technology. As an early adopter of Microsoft technology, Dennis has kept pace with certification challenges and succeeded in getting several certifications. In August 2004, he started work with Avanade, a Microsoft and Accenture joint venture. Currently he is focused on a few areas of the Microsoft platform, specifically service orientation, integration, and infrastructure for development. As a consultant based in the Netherlands, Dennis works with enterprise customers to solve their challenges by leveraging the power of the Microsoft platform. Besides his role as a principal consultant, Dennis is a solution manager and evangelist focusing on several of the Avanade assets. Every now and then, he writes articles for Microsoft .NET Magazine, a Dutch publication. He is a frequent speaker at Dutch Microsoft conferences and usergroups, and he has become an INETA speaker as of early 2006, which gives him some visibility outside of the Netherlands as well.

Nishith Pathak is a Microsoft Most Valuable Professional (MVP), reviewer, published Apress author, speaker, and Microsoft purist who has been working on the .NET platform since its early beta days. Nishith was born, raised, and educated in a town called Kotdwara in Uttaranchal, India. His expertise is in delivering enterprise solutions to Fortune 100 companies spanning the globe. He is a contributing author and an avid technical reviewer for multiple electronic and print publications. Over the years, he has also been involved in providing consultancy and training services to corporations. Nishith is also a frequent speaker and conductor of webcasts for Microsoft India and user groups on various upcoming technologies. Currently, he is focused on key areas of the Microsoft platform, specifically distributed computing, service orientation, exploring Vista, and helping companies architect solutions based on service-oriented architecture (SOA). You can contact him at [email protected] and visit his blog at

Chris Peiris, .NET MVP, has a masters degree in IT, and bachelor of computing and bachelor of accounting degrees from Monash University, Victoria, Australia. Chris currently works for Avanade as a solutions architect. Chris has coauthored many books on web services, UDDI, C#, IIS, Java, and security topics. He has written many articles, reviews, and columns for various online publications including DevX, 15 Seconds, Wrox Press, and ASP Today. He is also a frequent speaker at professional developer conferences on Microsoft technologies. Chris has developed large-scale integration solutions for financial institutions, G2G, B2B, and media groups since 1995. Chris’s current passions include WCF, WinFX, IBM Message Broker, and EAI. He lives with his family in Conder, ACT, in Australia. He can be reached at

What is in this book




About the Authors

About the Technical Reviewers




PART 1  -  Introducing Windows Communication Foundation


CHAPTER 1 - Introducing Service-Oriented Architecture


What Is Service-Oriented Architecture?

Disadvantages of Integrating Multiple Applications on Disparate Networks

Advantages of Using Messaging

Understanding Service-Oriented Architecture

What Is a Service?

Web Services As a Key Enabling Technology for a Service-Oriented Architecture

Introducing SOAP

SOAP Implementations by Major Software Vendors

Web Services Description Language: Describing Service Endpoints

Dynamically Discovering Web Services

Sending Messages Between Loosely Coupled Systems



CHAPTER 2 - Introducing WCF Basics


Introducing the Microsoft Remote Object Invocation Model

Introducing COM and DCOM

Introducing NET Remoting

Why Are Web Services the Preferred Option?

What Does WCF Solve?

Unification of Existing Technologies

Interoperability Across Platforms

WCF As a Service-Oriented Development Tool

Exploring New Features in WCF

Developer Productivity

Attribute-Based Development

Coexisting with Existing Technology

Hosting Services

Migration/Integration with Existing Technology

Components vs Services

Support of Visual Studio 2005

One Service, Multiple Endpoints

Integration Technologies

Unifying Distributed Technologies




Enterprise Services

How Do You Unify All These Technologies?



CHAPTER 3 - Exploring the WCF Programming Model


Introducing the Technical Architecture

Introducing the Programming Approach

Learning the ABCs of WCF

What Are Addresses?

What Are Bindings?

What Are Contracts?

Looking at the WCF Layers “Inside”

What Is the Messaging Layer?

What Is the Service Model Layer?

Using ServiceHost and ChannelFactory


Channel Factory

Service Description

Service Runtime

Applying Behaviors

Service Behavior

Contract Behavior

Channel Behavior

Operation Behavior

Service Metadata Behavior

Using the Configuration Tool

Configuring Diagnostics

Configuring Instrumentation



PART 2  -  Programming with WCF


CHAPTER 4 - Installing and Creating WCF Services


Understanding the Requirements

Hardware Requirements

Software Requirements

Installing the NET 3.0 Development Components

Understanding Service Contracts

Contract First or Code First?

Service Design

Programming Model

“Hello, World”

“Hello, World” with Interfaces

Hosting on IIS

ServiceContract Attribute

OperationContract Attribute

ServiceBehavior Attribute

OperationBehavior Attribute

Understanding Data Contracts

XML Serialization

Data Contracts

Message Contracts



CHAPTER 5 - Hosting and Consuming WCF Services


Exploring Your Hosting Options

Hosting Environment Features

Hosting Environment Requirements

Self-Hosting Your Service

Hosting in Windows Services

Hosting Using Internet Information Services

Core IIS 5.1 and 6.0 Features

Hosting WCF Services in IIS

Configuring WCF Services in IIS

Accessing ServiceHost in IIS


ASPNET Compatibility Model

Windows XP and IIS 5.1

Windows Server 2003 and IIS 6.0

Hosting in IIS 7.0

Windows Activation Services

Hosting Options

Consuming WCF Services

Service Proxies

Using Visual Studio 2005

Command-Line Implementation



CHAPTER 6 - Managing WCF Services


Exploring the Business Drivers

Building Custom Code to Monitor Activity

Using Configuration Files

Configuration Editor: SvcConfigEditorexe

Using Tracing and Message Logging Capabilities

Message Logging

Enabling Message Logging

Enabling Tracing

Using SvcTraceViewerexe

Utilizing WCF Performance Counters

Enabling Built-in WCF Performance Counters

Creating Custom Performance Counters

Using Windows Management Instrumentation



PART 3  -  Advanced Topics in WCF


CHAPTER 7 - Implementing WCF Security


Introducing the Business Drivers

Introducing the WCF Security Features

Security Features of Bindings

Protection Levels

Credentials and Claims

Transport-Level Security

Message-Level Security

Mixed Mode

Federated Security Model in WCF

Authorization in WCF

Auditing for Security Features in WCF

Windows CardSpace



CHAPTER 8 - Implementing Reliable Messaging and Queue-Based Communications


The Need for Reliable Messaging

Challenges of Implementing Reliable Messaging

Communication Issues

Processing Issues

Reliable Sessions

Enabling WCF Web Service with Reliable Sessions

ReliableSessionBindingElement Class

Some Pointers on Reliable Messaging

Queuing in WCF

Installing MSMQ

Microsoft Message Queues in Windows Server 2007

Transport Channels

Integration Channels

Some Pointers on Using MSMQ



CHAPTER 9 - Using Transactions in WCF


What’s a Transaction?

Understanding the Types of Transactions in WCF

Defining Transactions in WCF

Using the TransactionFlow Attribute

Using the ServiceBehavior Attribute and the OperationBehavior Attribute

Defining Transactions in QuickReturns Ltd

Working with Transactions and Queues



CHAPTER 10 - Integrating with COM+


Why Integrate with COM+?

Running a COM+ Application As a WCF Service

Visual Basic 6 COM+ Component Sample Setup

COM+ Application WCF Service Wrapper

NET Enterprise Services and COM+ Components

Consuming WCF Services from COM+

QuickReturns Ltd Quote Service

Security Credentials with IChannelCredentials



CHAPTER 11 - Working with Data


Understanding the Data Transfer Architecture

Exploring the Serialization Options in WCF

Introducing Data Contracts

Data Contract Names

Data Contract Equivalence

Data Contract Versioning


XML Serialization


Introducing Message Contracts

Fine-Tuning SOAP



Using the Message Class



Filter Tables

Best Practices for Versioning

With Schema Validation

Without Schema Validation

Putting It All Together: Quote Client Sample Application

Creating the Service

Creating the Client



CHAPTER 12 - Developing Peer-to-Peer Applications with WCF


Introducing Peer-to-Peer Computing

Why Use P2P?

The Challenges of P2P

P2P Development Life Cycle

Windows P2P Networking

How Does a P2P Mesh Work?

What Is Peer Channel?

QuickReturnTraderChat Sample

P2P Security

QuickReturnSecureTraderChat Sample

Working with NetShell

Listing Clouds

Clouds Scopes

Listing Peers in a Cloud

Cloud Statistics

Working with Peers

SOA with P2P



CHAPTER 13 - Implementing SOA Interoperability


Achieving Java/J2EE Interoperability

Non-Microsoft SOA Platforms

Interoperability with WS-I Basic Profile

Sending Binary Data Over Web Services

Using WS-ReliableMessaging

WS-ReliableMessaging Example

Platform Support of WS-ReliableMessaging



PART 4  -  Appendixes


Appendix A - QuickReturns Ltd


Market Overview

Services and Collaboration

Asset Manager

Market Maker



Data Contracts







Appendix B - History of Microsoft Web Service Implementations


ASMX Pages

Web Services Enhancements (WSE)

WSE 1.0

WSE 2.0

WSE 3.0

SOA and NET v2.0

Sample XML Schema

Sample Complex Schema

SOAP Message Example



Appendix C - WCF and NET Framework Installation Steps


Installing Internet Information Services

Windows 2003

Windows XP

Installing Visual Studio 2005 or the NET 2.0 SDK


NET 2.0 Runtime Installation

NET 2.0 SDK Installation

Visual Studio 2005

Registering ASPNET

Installing NET Framework 3.0 Runtime Components for XP and Windows 2003

Installing NET 3.0 RTC

Installing Microsoft Windows SDK for Windows Vista

Installing Windows SDK for All Platforms

Installing NET Framework 3.0 Development Tools

Making Windows Firewall Changes

Firewall Primer

WCF Requirements






Mindcracker Network accepts no liability for providing the customer with the hard copy of the book purchased. Mindcracker is not responsible for any dispute relating to the above. All eBooks listed in this section are in "PDF" Format. Contact [email protected] for further assistant.