Skip to content
September 29, 2011 / kiranpatils

Why we need Windows Communication Foundation?

Challenge:

In earlier days, when i was totally newbie to WCF, I was not clear why we need WCF? one thing I was clear that it has something to do with Web Services. But other than that nothing was much clear.

Then at one fine day, I came across Shivprasad Koirala’s .NET Interview questions book. In which he explained why we need WCF and what is WCF using a fictional story. It is really nicely written and it clears why we need WCF.

Before couple of days, I got good time (as I was on holidays) to convert that story in a comic — To make it more funny (And that’s what philosophy I follow — “Coding should be fun” :-)) and comic blog — a new concept which I always wanted to start!

So, here we go my first comic blog article which explains why we need WCF?

Solution:

  • Long Long time ago there lived a hardworking and a nice architecture.
  • Develop a Booking Engine which books tickets for any flight carriers.
  • The nice and hardworking architecture and his team developed a nice booking engine by which you can book tickets through any of the flight Carriers. The Travel Agent Company was very happy with the architecture and his team Member’s achievements.

  • As time passed by the travel agent’s business grew in multiples
  • Architecture and his team was very excited and they started to work on this new stuff
  • All franchises run on Windows Platform.
  • Booking engine was located in the main head office and all the franchise should communicate to this booking engine.
  • After months he rolled out his project successfully.

  • Time passed by and because of the good automated booking service more companies wanted to take the franchise from the travel agent. But the big issue was many of the franchise did not have windows operating system. They worked on Linux and other Non-Microsoft operating systems.
  • Due to this limitation travel agent was losing lot of franchise business.
  • Now, booking engine runs on two platforms .NET Remoting (for Windows based clients) and Web Services (for non-windows based clients).

  • Franchise client had to wait to get response and was not able to process the next ticket booking until the first one was served. Travel Agent started receiving huge complaints because of this synchronous processing.
  • Booking engine had the capacity of serving 20 tickets / second but it had now to serve 50 tickets / second.
  • when the travel agent makes a booking it will come and fall in the queue and release the travel agent. Booking engine will always poll for this queue. When the booking engine finishes he will publish the booking results back to the queue. Travel agent client can then come at his leisure and see the results.

  • Everyone in the travel company was really happy and impressed by the architect and his team members
  • Travel Agent then felt a huge necessity of a good security model with the booking engine.

  • Till now the travel agent was booking one ticket at a time. But soon he started getting lot of orders to book group family tickets.
  • Consistency – If father’s ticket gets canceled. Kid’s ticket should also be got canceled.

They were working on:

  • .NET
  • .NET Remoting
  • Web Services
  • MSMQ
  • WSE
  • COM+

WCF is a unification of all distributed technologies like:

  • .NET Remoting
  • MSMQ
  • Web Services
  • COM+

Thanks a lot Shivprasad Koirala for writing such a nice story!

Happy Coding!🙂

14 Comments

Leave a Comment
  1. Varun Jamdar (@vhjamdar) / Sep 29 2011 9:22 pm

    WCF is the big thing…
    bigger is integrating WCG and WF !!!

  2. Keyur / Sep 30 2011 4:28 am

    Hi Kiran,

    First of all I must say, “Comic Blog” – Nice concept.🙂
    Thanks a lot to both of you (Mr. Kiran and Mr. Shivprasad) for spreading WCF awarness; that too so beautifully!!!

    Keep it up mate.

    • kiranpatils / Sep 30 2011 5:14 pm

      Dear Keyur,

      Thanks a lot for the nice words!

      Keep Visiting! Happy Reading!

      Sincerely,
      Kiran

  3. sqlservr / Sep 30 2011 10:18 am

    superb

  4. katebutenko / Jul 20 2012 3:46 am

    Cool and understandable post, despite the fact I haven’t had much WCF practice yet. I especially like the tragic moment of meeting with Jesus🙂

    • kiranpatils / Jul 21 2012 12:57 pm

      Dear Ekaterina,

      Yes, that’s the power of picture — “It can say thousand words!” And yes we all like happy ending and whenever we can’t see anyway we go to God/Jesus who shows us a way! [OOPs concepts! :-)]

      Thanks for reading!

      Keep Visiting! Happy Reading!

      Sincerely,
      Kiran

  5. Sukesh / Mar 11 2014 5:02 pm

    Nice thing buddy….I did the same thing some time back with factory pattern..Check it out
    http://www.codeproject.com/Articles/492900/From-No-Factory-to-Factory-Method

  6. Ajeet Kumar / Mar 11 2014 6:09 pm

    its awsam …I have gone through many more tech articla …but this one is awsam i..keep it up

  7. Arunprasanth KV / Feb 18 2016 8:51 am

    Awesome article, I had never seen an article like this. You explained nicely with very valid points with the help of a story . Hats of u. Thank U ..Keep writing

  8. vakarų komunikacijų darbai / May 9 2016 10:00 am

    Hello my family member! I want to say that
    this article is awesome, nice written and include approximately all vital
    infos. I’d like to peer extra posts like this .

  9. Meenal / Sep 27 2016 9:15 am

    this is an amazing post !! this is what i was looking for !! awsum piece of work !! Thanks a lot !!

Trackbacks

  1. WCF Fundamentals and Quick start « A Place for C Sharpers/.Netters
  2. WCF Behavioral Contracts and Message Exchange Patterns « A Place for C Sharpers/.Netters
  3. Technology trends you should know | A Place for C Sharpers/.Netters

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: