PacktLib: WCF Multi-tier Services Development with LINQ

WCF Multi-tier Services Development with LINQ


About the Author

About the Reviewers


SOA Service Oriented Architecture

What is SOA?

Why SOA?

How do we implement SOA?

SOA from different users' perspectives

Complexities in SOA implementation

Web services

Web services: standards and specifications


WCF Windows Communication Foundation

What is WCF?

Why is WCF used for SOA?

WCF architecture

Basic WCF concepts WCF ABCs

WCF production and development environments


Implementing a Basic HelloWorld WCF Service

Creating the HelloWorld solution and project

Creating the HelloWorldService service contract interface

Implementing the HelloWorldService service contract

Hosting the WCF service in ASP.NET Development Server

Creating a client to consume the WCF service


Hosting and Debugging the HelloWorld WCF Service

Hosting the HelloWorld WCF service

Debugging the HelloWorld WCF service


Implementing a WCF Service in the Real World

Why layering a service?

Creating a new solution and project using WCF templates

Creating the service interface layer

Adding a business logic layer


Adding Database Support and Exception Handling to the RealNorthwind WCF Service

Adding a data access layer

Adding error handling to the service


Modeling a WCF Service with Service Factory

What is the Service Factory?

What are Guidance Packages?

Preparing environments

Differences between the December 2006 version and the February 2008 version

Modeling the data contracts

Modeling the service contracts

Specifying the implementation technology for the models

Generating source code


Implementing the WCF Service with Service Factory

Creating the business entities

Customizing the data access layer

Customizing the business logic

Translating the messages

Customizing the Fault contract

Customizing the product service

Modeling the host application and the test client

Customizing the client

Testing the service


Introducing Language-Integrated Query (LINQ)

What is LINQ

Creating the test solution and project

New data type var

Automatic properties

Object initializer

Collection initializer

Anonymous types

Extension methods

Lambda expressions

Built-in LINQ extension methods and method syntax

LINQ query syntax and query expression

Built-in LINQ operators


LINQ to SQL: Basic Concepts and Features

ORM Object-Relational Mapping

Comparing LINQ to SQL with LINQ to Objects

LINQ to Entities

Comparing LINQ to SQL with LINQ to Entities

Creating LINQ to SQL test application

Modeling the Northwind database

Querying and updating the database with a table

Deferred execution

Deferred (lazy) loading versus eager loading

Joining two tables

Querying a view


LINQ to SQL: Advanced Concepts and Features

Calling a stored procedure

Compiled query

Direct SQL

Dynamic query


Handling simultaneous (concurrent) updates

Transactions support

Adding validations to entity classes

Debugging LINQ to SQL programs


Applying LINQ to SQL to a WCF Service

Creating the LINQNorthwind solution

Modeling the data contracts

Modeling the service contracts

Generating the source code

Modeling the Northwind database

Implementing the data access layer

Implementing the business logic layer

Implementing the service interface layer

Creating the host application and the test client

Testing the GetProduct and UpdateProduct operations

Testing concurrent update manually

Testing concurrent update automatically


Distributed Transaction Support of WCF

Creating the DistNorthwind solution

Testing the transaction behaviour of the WCF service

Enabling distributed transaction support

Understanding distributed transaction support of a WCF service

Testing the distributed transaction support of the WCF service