WCF Part 1 : Services ABC

I want to begin with a conceptual explanation about services. A service always has at least one endpoint, but can have multiple. A client normally communicates with only one endpoint. A plain-old-webservice only has one endpoint and communicates via HTTP and Text/XML. The picture below shows a service with three endpoints. Notice the ABC.


wcfabc.png


 There are a few articles about the WCF ABC’s (1, 2)but the short story is that you always have to remember:



  1. A stands for Address
  2. B stands for Binding
  3. C stands for Contract

I’ll try to explain them, they’ll get more sense once we advanced in posts.



  1. Address
    Every website and webservice has an address, like http://bloggingabout.net/ or http://mydomain.com/stockquote.asmx. Our WCF services also must have an address. WCF can provided addresses for the following protocols:

    1. HTTP
    2. TCP
    3. NamedPipe
    4. Peer2Peer
    5. MSMQ

  2. Binding
    A binding specifies how a service is accessible. Think transport protocol (see the previous list that shows the basic list), encoding (text, binary, etc) and WS-* protocols like transactional support or reliable messaging.
  3. Contract
    The contract is something you completely specify by yourself. The contract is used to specify what your service can do. For example give you the correct streetname and city when providing a zipcode.

In the next articles I’ll explain how you can build a service while using the ABC.


[Go to the WCF series article index]

You may also like...

5 Responses

  1. Farzam says:

    this is completely brief and useful article …
    thanks a million

  2. John Daniel (JD) says:

    Nice Article. Simple and veryuseful

  3. walkincg says:

    Good article. Simple to understand

  4. Ganesh says:

    This is a simple and easy way to start with WCF. Thanks

  5. Shiva says:

    Nice Article.Easy to understand.

Click on a tab to select how you'd like to leave your comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.