Exotic WCF channels - Carrier Pigeon
Sometimes, to explore the full meaning of an abstraction, you have to discuss the fringes - the cases where the abstraction almost works, but is quite ridiculous.
One such case is the Carrier Pigeon WCF (Indigo) Transport. In its core, a channel implementation should support sending and receiving a Message object. One way to send a Message object would be to serialize (in this case, manually write) the resulting XML on a piece of paper, tie it to a friendly pigeon, and send the message. The receiving side would deserialize the message by typing in the content of the paper. We don't yet plan on automating the pigeons themselves.
This transport has some interesting properties. The basic data unit is a datagram (piece of paper).
It is slow, low throughput, unreliable (pigeons get lost), does not have order guarantees and insecure (opponents can capture our pigeons, read the attached paper, and modify it). It can also be pretty messy.
However, the carrier pigeon transport would fit the WCF channel model. It can be composed with WS-Security to provide security, and WS-RM (or another reliability protocol, as WS-RM was not optimized for carrier pigeons) to provide ACKs and reliability, etc.
In reality, a similar transport has been used during WWI.
Do you have other exotic WCF channel ideas? leave me a comment or send me an email! -- Yaniv