The Fedora software is based on an architecture known as FEDORA (Flexible Extensible Digital Object and Repository Architecture). The software takes advantage of distributed (or local) Web services, and makes representations of objects (called disseminations) available via HTTP. It is particularly good at handling complex digital objects where source datastreams and behaviors are distributed. There are two binary distributions (server and client), and a source distribution (including all libraries and source code needed to build any distribution).
Channel is a C++ template framework for distributed message passing and event dispatching. Its major components (message IDs, routing algorithms...) are highly configurable as template parameters. As a namespace shared by peer threads, channels support publish/subscribe scope control, message filtering, and translation.