Geeks With Blogs
Random Musing Putting it together one piece at a time...

Windows Communication Foundation was official released with .NET 3.0 a couple of months ago. For those people who're doing connected, distributed systems or are in any way interested in communication aspects of systems, this ought to be a God-send. WCF basically rolled all the different Microsoft messaging formats into one, making it extremely easy to architect the communication layer of simple to complex applications. This tutorial aims to explain the basic concepts behind the common terminology used in WCF development and design.

Below is a quick overview of the WCF architecture


WCF Programs

WCF programs are basically divided into 3 different types of programs. They are common known as

  • Clients
    Clients are program that consumes the services, they are normally the ones that initiate the messenging to the service. Depending on the designed architecture of your application, it is possible that a service behaves as a client as well.
  • Services
    Services are the programs that offers the services to the consumers. They are the ones that react and process the messages, similar to the backend of the application. They can be viewed as the equivalence of web services in .Net 2.0.

    All services have to have endpoints specified in order to work. A good way to remember proper endpoint configurations is ABC. A being Address, B being Binding and C being Contracts

    • Address
      Address are the expose points of services. Services have to tell the world that where they are via addresses.
    • Bindings
      Bindings will describe to the world on how they will communicate with the world. They contain information such as transport way, how they are encoded, are they reliable etc.
    • Contracts are of (but not necessary all have to be present) 3 different kinds

      • Service Contract
        Describes what the service does.
      • Data Contract
        Define custom messaging structure.
      • Message Contract
        Define the message format that is passed between services.

  • Intermediaries
    Intermediaries are programs that act as "middle-man", their basic roles can be similar to providing a firewall, routing, gateway etc. They are commonly invisible to the client and services.

 

Messages
All services and clients communicate via messages, which are made up of one body, and one or more header. All WCF messages are XML formatted and transport neutral. In other words, you can specify different forms of transport (HTTP, MSMQ, Named Pipes etc) for different messages. Within each application, you can specify different messaging transport depending on the communication needs of the system. Basically, messages can be divided into

  • Simplex
    One way messaging. Simplex in short means "fire and forget"
  • Duplex
    Asynchronous two-way messaging. In short this means that once fired, the application will carry on doing its own thing. Upon the return results, it will then handle it.
  • Request Reply
    Synchronous 2 way messaging. This is the common communicate method whereby you'll fire a request, and wait for the response before continuing.

 

Channels
Before a client and service can talk to each other, they have to go through a channel. Imagine a channel as a pipe, with one end being the input message and the other end with the results of the message. There're different channels that can be stacked onto each other, they are commonly known as Channel Stacks. They can be of these different types:

  • Reliable Sessions
  • TCP Transport
  • Binary Message Encoder
  • Windows Security
  • Request Reply

 The way in which messages are sent through the pipe (Channel) is known as a Transport and they way at which they are encoded are known as Encodings. Transport can be made up of the following:

  • HTTP
  • TCP
  • MSMQ
  • Named Pipes

I hope this quick overview will be helpful for you.

Posted on Monday, February 5, 2007 5:20 PM | Back to top


Comments on this post: Basic WCF Concept and Terminologies

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
the handwriting is quite bad.. can't read what on the diagram
Left by wow on Sep 19, 2007 11:12 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Great diagram- If you can read it, it's a good overview. If only there were more mechanism diagrams in computing, understanding would be so much easier......
Left by Se bastian Zeki on Dec 30, 2007 7:09 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Thanks :) good for me to start
Left by Arun on Apr 10, 2008 11:39 PM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
I'm glad you find that useful :)
Left by Nestor on Apr 14, 2008 4:06 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Hi This is Good Overview!!!
Left by Venkata on Apr 30, 2008 7:58 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Good. it's very useful post.
you could understand to me about WCF architechure.
Left by YoungKwanYoon on May 13, 2008 9:34 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
really nice overview. such a relief to see concepts rather than a pile of code from which u extract the concept!!

a couple of questions:
what is message format? -SOAP/JSON?
-the message and channel definition go into bindings?
-request reply is both a message and channel behaviour?
-tcp is a channel and transport?
-the end points could use different Bindings and WCF will perform on-the-fly conversion and deliver?
Left by nan on Jul 08, 2008 8:08 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Hi.....It's a good short note to start with...!
Left by Subbu on Aug 07, 2008 5:06 PM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Great material except diagram. it is not readable.
Left by Arpit on Apr 17, 2009 2:47 PM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Nice article dude.
Left by George on Apr 25, 2009 5:02 PM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Hi, nice article........great....

good to understand the basics of WCF.

If possible enhance the diagram, its not clearly visible
Left by Nitin Babariya on Apr 28, 2009 8:36 PM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Good overview..
Thanks!
Left by Sandeep Aparajit on May 26, 2009 1:50 PM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Good .......Very Helping

Thanx Alot ........
Left by Dax Paneliya on Jul 06, 2009 11:13 PM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Nice way of explaining the things.Good to understand Thanx Man..
Left by Ashutosh on Jul 27, 2009 4:42 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
basic its good
Left by Sunil on Sep 10, 2009 4:31 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
the handwriting is quite bad.. can't read what on the diagram
Left by Sanjay on Oct 08, 2009 6:57 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Good to know basic term of wcf
Left by Sachin on Nov 03, 2009 4:01 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
This is very helpful to me to start WCF basics.
Left by sasikanth on Nov 19, 2009 11:10 PM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
hi sir,
thx for WCF overview,
this very deeply overview for basic study of WCF

Left by adroja anil on Nov 27, 2009 5:16 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
abstract type of information exposing lot of data. Good one to start up WCF
Left by jebasingh on Nov 27, 2009 10:37 PM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Good
very helpful....keep this going


Left by Sanjeev Sharma on Nov 29, 2009 12:32 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Wow Excellent work!!! very helpful!!!
Left by Rakesh Dewangan on Dec 07, 2009 4:22 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Good Stuff to start with !!
Left by Nikesh on Dec 08, 2009 5:03 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Excellent overview about WCF. It is really useful to me.
Left by Bala on Dec 14, 2009 4:19 PM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Good Overview..

Thanks...
Left by Prathima on Dec 28, 2009 4:22 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Gud one sweet and simple
Left by Jay on Feb 02, 2010 1:30 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
really very helpful
Left by Nishi on Feb 09, 2010 6:20 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
THis is Very useful for begner to easily understand what is WCF

Thanks lot
Left by Jeyakumar on Feb 16, 2010 11:29 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Confusing??????????????????????
Better you see www.wcftutorial.com
Left by Amresh chandra on Feb 23, 2010 11:33 PM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
its Good for Start Up with WCF
Left by Gangam Prajwal on Mar 17, 2010 1:16 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Good article....though not able to see the diag...but the other stuff is very easy to understand for the beginners..
looking forard for a new post
Left by Girish on Mar 23, 2010 6:07 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Thanks a lot...
Good concept of WCF...
Left by Searched on Apr 23, 2010 2:36 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Simple and basic definitions which are easy to understand. Could have added more details.
Left by Kavitha on May 02, 2010 11:18 PM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Good one for beginners
Left by Jenietta on Jul 13, 2010 11:49 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
good for beginners
Left by Avinash Dewangan on Jul 25, 2010 11:04 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Nice article...
Left by Sample on Aug 04, 2010 6:06 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Hi
Recently I read a wonderful article on WCF for starters

http://www.freejobsreference.com/dotnetforums/27-Understanding-the-basics-of-WCF-Service--Windows-Communication-Foundation.aspx
Left by Rajiv Ranjan on Oct 12, 2010 1:21 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
It was wonderful.
Left by hurricane on Nov 03, 2010 2:27 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Good for Start Up with WCF......................
Left by Dhiren on Dec 15, 2010 8:13 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
very nice article for the beginners. Easy to understand.
Left by shanthi on Dec 20, 2010 2:38 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...

It is good and easly to understand about WCF basics
Left by JITHU on Jan 17, 2011 11:29 PM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Cool ... Keep it up
Left by Diwesh on Jan 27, 2011 2:04 PM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Nice
But where is the dig..
Left by gopenath on Feb 04, 2011 6:15 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Nice, very good for beginners
Left by Vijay on Feb 22, 2011 2:01 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
good overview
Left by Debjani on Feb 28, 2011 12:43 PM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
good Overview

thanx
Left by jayakanth on Mar 30, 2011 7:07 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Very helpful for a quick overview
Left by Jayce on Jun 11, 2011 1:55 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Good one..
Left by Jayce on Jun 11, 2011 2:06 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Very well written and concise. Just what I was looking for. Well done!
Left by Rikard Uppström on Jun 21, 2011 4:21 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
cool enough,,,
Left by saurabh on Jul 01, 2011 3:41 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Well explained.
Left by Vaishali on Jul 25, 2011 9:00 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
This one is better anlyse wcf easily.


Thanq
Left by bhixu raghava on Aug 07, 2011 2:15 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Excellent Basic Article About WCF...
Left by Mr. G on Aug 26, 2011 10:32 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Excellent Article About Basic WCF...
Left by Mr. G on Aug 26, 2011 10:35 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Raell its helps alot
Left by leela on Sep 29, 2011 12:18 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Nice post, But need the updated concepts,updated version,difference between old and new versions please post.. Its very helpful for us....
Left by Jhon on Sep 30, 2011 12:36 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
It really helped me in understanding WCF in short
Left by Anuraj on Oct 05, 2011 9:05 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Excellent Article on wfc.
Left by vaibhav on Oct 19, 2011 7:06 AM

# re: Basic WCF Concept and Terminologies
Requesting Gravatar...
Very good for basic understanding......
Left by Prabakaran M on Jan 23, 2012 10:19 AM

Your comment:
 (will show your gravatar)


Copyright © Nestor | Powered by: GeeksWithBlogs.net