Share via


The Old Indigo ABC's

One of the fundamental things that has followed us around through more product name changes than you can shake a stick at is that a service endpoint basically boils down into three things:

 

Address

Binding

Contract

 

Formerly the Indigo ABC's, I guess these are now the WCFABCs (it really just flows off the tongue when pronounced as a word).

 

A service is nothing but a blob of code that runs somewhere in the world.  The connection points where a service interacts with someone else are called endpoints.

 

The only thing that identifies an endpoint is that it has some URL for an address.  That's pretty much all you need to know about addresses to survive in the new WCF world.  Addresses are where things take place.

 

At a particular address, both sides need to use the same network protocols so that the two can exchange messages.  The binding wraps a particular group of protocols together to describe the right way to put messages on the wire and the right way to take those messages back off the wire on the other side.  I suppose that bindings are a little more complicated than addresses because I basically started this blog to talk about this binding business and I just punted a few of the lower priority topics to May.  Bindings are how things take place.

 

Once you have an address and binding, you can start actually exchanging messages between the client and server.  The particular set of messages that one side can send and the other side will understand is called the contract.  Putting together the right contract is even more complicated than designing the right binding, so you're pretty much on your own here.  Contracts are what things take place.

 

Here's the essence of a WCF service in just 10 words:

 

Addresses are where,

Bindings are how,

and

Contracts are what.

 

Next time: One of these Things is Not Like the Others (Channel vs. Transport)

Comments

  • Anonymous
    February 20, 2006
    The architecture we saw last time is actually a nice solution to the original web service problem. ...
  • Anonymous
    March 01, 2006
    On the road to building a custom channel, we're going to need to make use of a lot of small but very...
  • Anonymous
    October 17, 2006
    The architecture we saw last time is actually a nice solution to the original web service problem . We