Call Us: +32 2 466 00 16
Email: info@u2u.be
Follow Us:

Programming with Windows Communication Foundation

5days
Training code
UWCF
Book this course

Introducing WCF

  • Why another Framework? What does WCF add?
  • Understanding WCF fundamental concepts
  • The four tenets of Service Orientation
  • Looking at the WCF runtime architecture
  • Using Clients, Services and Messages
  • ABC: Address, Binding, Contract

The WCF Programming Life Cycle

  • Defining the Service Contract
  • Configuring the Service
  • Hosting the Service
  • Obtaining a client-side Service Contract
  • Creating a WCF Client
  • Best practices for building services

WCF Contracts

  • Building Data Contracts using WCF
  • DataContractAttribute and DataMemberAttribute
  • Inheritance with known types
  • Handling errors with fault contracts
  • Using versioning to handle future and former messages
  • Data Contract Events
  • IExtensibleDataObject
  • Generating Dataclasses from XML
  • Working with Message Contracts
  • Cyclic Object Graphs

WCF bindings

  • It's not what you say, but how you say it: Binding
  • Standard bindings
  • So much to choose from: Guidance in choosing bindings
  • Composing custom bindings when all else fails

WCF configuration

  • Configure it - or code it? Defining Endpoints through configuration
  • Using the Configuration Editor
  • Default Endpoints, Protocols & Bindings

Hosting a WCF Service

  • Building your own Service Host
  • Using IIS to host your service
  • Introducing WAS
  • Introducing AppFabric

Messaging Patterns

  • Using Request-Reply messaging - what you already know
  • Using One-Way messaging
  • Using Duplex and Asynchronous messaging
  • Using WebSockets for bi-directional communication

Behaviors

  • How should your service object be created? Looking at Instancing Behavior
  • Controlling concurrency with Concurrency Behavior
  • Introducing Transactional Behavior
  • Avoiding DOS attacks and other nasty stuff through Throttling

WCF Security

  • Security, and deciding on what to use
  • Transport vs. message security
  • Using Authentication and Authorization in WCF
  • Using Impersonation or Trusted Subsystem?
  • Building and configuring an intranet service for security
  • Building and configuring an internet service for security

Managing and Monitoring Services

  • WCF performance counters.
  • WCF Message and Service Diagnostics
  • Security auditing: configuring WCF to log authentication and authorization attempts, the time, location and the client's identity.

WCF Transactions

  • Flowing transactions - it's a matter of trust
  • Flowing the transaction from client to server
  • Using System.Transactions
  • Understanding Timeout and Isolation Levels

WCF Reliable Sessions

  • Using Sessions in WCF
  • What if messages get lost?
  • Making your sessions reliable in WCF

WCF Queuing

  • Introducing Message Queuing
  • Building highly scalable and reliable systems with Queues
  • Using WCF Queuing

Extending the Service Model Layer

  • Extensibility points that allow developers to customize runtime behavior for service dispatching and client proxy invocation.
  • Message interception: Intercept default execution and inject your own code.
  • Parameter inspection: Inspect operation parameters before and after the method call.
  • Implementing Custom behaviors.

Large Data and Streaming

  • Text vs Binary
  • Message Transmission Optimization Mechanism (MTOM)
  • Streaming Daya

WCF Identity

  • Claims-based Identity
  • WS-Federation: support single sign-on, federation and strong authentication scenarios for on- premises and cloud applications.
  • WIF Vocabulary: Identity MetaSystem, Relying Parties, Identity Providers, STS, Passive vs Active
  • Securing your WCF service with Azure Active Directory

Generic Services and Routing

  • Process Generic Messages
  • Supported Routing Contracts
  • Message filters
  • Content Based Routing
  • Error handling.

Building RESTful services

  • What is REST?
  • Building a REST service with WCF.
  • Consuming REST services from a client.
  • Allow WCF services to expose operations to AJAX and jQuery clients.
  • DataContractJsonSerializer: use JSON as data encoding mechanism.
  • Caching with REST
  • Adding syndication support

RESTful services with ASP.NET Web API

  • Building REST with ASP.NET Web API
  • Implementing CRUD Operations
  • Supporting Multiple Representations: XML and JSON

Workflow Messaging and Workflow Services

  • Workflow Foundation as an extension on WCF
  • Calling a service from a workflow
  • Exposing your workflow as a service
  • Using the Receive activity
  • Understanding correlation
  • Using Content Based Correlation

Creating durable services with persistence

  • Understanding workflow persistence
  • Persistence databases
  • Adding persistence to your workflow service
  • Persist custom data using a Persistence Participant

WCF Data Services

  • Exposing your data through RESTful services
  • OData - The Open Data Protocol
  • OData URL conventions
  • Using WCF Data Services client library and LINQ to consume OData services
  • Updating data with WCF Data Services
  • Building a WCF Data Services interceptor to do validation or access control

Discovery and Announcements

  • What is Discovery?
  • Using Ad-Hoc discovery.
  • Managed discovery.
  • Announce availability of your Services

Today's applications require the ability to communicate with other systems in an efficient and secure manner. Windows Communication Foundation is Microsoft's framework for building communication into your application in a consistent and efficient manner. It allows you to use the same programming constructs and techniques to talk to another .NET system using the most efficient protocols, or to other platforms using highly interoperable protocols. Using the WS-* standards, WCF guarantees interoperability with any other system using these standards.

Beside WCF this training covers an introduction into Microsoft latest web service technology ASP.NET Web API. This technology part of .NET 4.5 or higher allows to create in a simplified way, based on the routing engine of ASP.NET MVC, powerful REST services.

This in-depth course is meant for experienced developers who are already familiar with the syntax of either the VB.NET or C# language and who want to learn how to use the .NET framework to build services.

© 2018 U2U All rights reserved.