Skip to content
No description or website provided.
C# Batchfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Welcome. Ella is a middleware project for the .NET ecosystem. We have recently moved from CodePlex.

Ella publish/subscribe middleware

Ella is a fully distributed publish/subscribe (see for the basic concept) middleware written in pure C# and compatible with Mono.

It is also a very useful tool to build non-distributed applications. The Networking part can be completely disabled. Then Ella is used to enable composability, scalability, flexibility for your application.

Ella handles all the communication needed to transfer data from a producer to a consumer with no need to care if both are on the same or on different nodes in your network. It discoveres other nodes which run Ella instances, so you do not have to care about

how to scale your application.

Ella is based on the type-based pub/sub flavour because it is most intuitive to handle and does not require topic conventions (in topic-based pub/sub) or a dedicated query mechanism for properties (in case of content-based pub/sub).

Basic concepts

An introductory article to Ella has been posted on


The goal in designing Ella was to make it most easy to use for developers. Thus, it does not require any inheriting from base classes or instance handling (you'll never see an Ella-object you have to use to call Ella-specific methods). Instead, we use Attributes

to mark classes as publishers or subscribers (and for other stuff too) and provide a static facade to interact with the Middleware System. This facade is designed with intuitive and fluent use in mind.

So you'll see a lot of code like




Why "Ella"?

You might ask why we call our middleware Ella......

The short answer: Because we can.

The Long answer: ever tried to find a meaningful name (or acronym) for a project? Then you know the problem. Instead of trying to fit the words "publish, subscribe, middleware,...." into an acronym we decided to go for a different approach.

Being big fans of Jazz music, we decided to name the system after the greatest Jazz singer in history: Ella Fitzgerald. That's the story. It also makes it very easy to find release code names ;)

Further documentataion

To be found here

You can’t perform that action at this time.