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
Download
    • Like
    • Love It
    • Awesome
    • Interesting
    • It's Okay
    • Thumbs Down
  • 16.7k
  • 0

Introduction

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 www.desigeek.com.

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 http://dotnetpathak.blogspot.com.

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 www.chrispeiris.com.

What is in this book

Contents

 

Foreword

About the Authors

About the Technical Reviewers

Acknowledgments

Introduction

 

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

Summary

 

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

ASMX

MSMQ

WSE

Enterprise Services

How Do You Unify All These Technologies?

Summary

 

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

ServiceHost

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

Summary

 

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

Summary

 

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

Recycling

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

Summary

 

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

Summary

 

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

Summary

 

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

Summary

 

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

Summary

 

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

Summary

 

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

Round-Tripping

XML Serialization

Security

Introducing Message Contracts

Fine-Tuning SOAP

Security

Performance

Using the Message Class

Filtering

Filters

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

Summary

 

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

Summary

 

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

Summary

 

PART 4  -  Appendixes

 

Appendix A - QuickReturns Ltd

 

Market Overview

Services and Collaboration

Asset Manager

Market Maker

Exchange

Depository

Data Contracts

Quote

Trade

Execution

Settlement

Position

 

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

Summary

 

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 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

Summary

 

INDEX

 

Note:

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.