PacktLib: WCF Multi-tier Services Development with LINQ

WCF Multi-tier Services Development with LINQ

Credits

About the Author

About the Reviewers

Preface

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

Summary

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

Summary

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

Summary

Hosting and Debugging the HelloWorld WCF Service

Hosting the HelloWorld WCF service

Debugging the HelloWorld WCF service

Summary

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

Summary

Adding Database Support and Exception Handling to the RealNorthwind WCF Service

Adding a data access layer

Adding error handling to the service

Summary

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

Summary

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

Summary

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

Summary

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

Summary

LINQ to SQL: Advanced Concepts and Features

Calling a stored procedure

Compiled query

Direct SQL

Dynamic query

Inheritance

Handling simultaneous (concurrent) updates

Transactions support

Adding validations to entity classes

Debugging LINQ to SQL programs

Summary

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

Summary

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

Summary

Index