As explained in Chapter 8, "Custom Transports," Windows Communication Foundation protocols are implemented as channels. A channel for multiparty, peer-to-peer communication is provided, called Peer Channel. Peer Channel is a significant innovation of the Windows Communication Foundation that provides two very important benefits. First, it enables the construction of sophisticated peer-to-peer applications involving the exchange of structured data. More generally, though, Peer Channel provides simply the easiest way to leverage the new Windows Peer-to-Peer Networking facilities available in Windows XP Service Pack 2 and later Windows client operating systems. Using Structured Data in Peer-to-Peer ApplicationsToday, on Windows XP and later Windows operating systems, the Windows application programming interface (API) incorporates a real-time communications client API. That API enables one to develop applications incorporating facilities for real-time human communications in a variety of forms: instant messaging, two-way voice and video, and application sharing. The various Microsoft instant messaging solutions are built using the real-time communications client API. Although one can certainly construct powerful and interesting applications with that API, those applications rely on the human participants to structure the data that is being exchanged. When one is doing instant messaging or conversing verbally with someone via one's computer over a network, one relies on one's linguistic and verbal abilities to be understood. Yet there are many circumstances in which the computer could assist considerably in structuring the data that is being passed around. For example, in the species of file-sharing application exemplified by the original Napster, users provide some input every now and then, but the bulk of the activity is done by the application that accepts the user's input, puts it into a form meaningful to its peers, and then goes about getting what the user wanted. Here is another example. It is becoming increasingly common for technology companies to offer technical support via instant messaging. Users of those technical-support instant messaging applications do want to start exchanging free-form text messages with one another. However, before they reach that point, they must generally identify themselves, and describe their needs so that the appropriate support person can be engaged to assist them, which is a process in which structured data must be gathered from them, exchanged between applications, and processed. The Windows Communication Foundation's Peer Channel facility is the right technology to choose in any scenario like that, in which computer software applications need to exchange structured data with one another on behalf of their respective human users. Leveraging the Windows Peer-to-Peer Networking Development PlatformWindows XP Service Pack 2 and later Windows client operating systems provide Windows Peer-to-Peer Networking as an optional Windows Networking Services Component. Windows Peer-to-Peer Networking is a developer platform for building secure, scalable, and autonomic peer-to-peer applications of any kind. Its key components are these:
Peer Channel is the very easiest way to leverage all the capabilities of Windows Peer-to-Peer Networking to build serverless applications. |