The Eneter Messaging Framework is the lightweight framework intended for the communication between processes.
The second version of the framework supports all features and API from the previous version and in addition, it comes with new features:
- Monitoring of the connection
- Buffering of sent messages in case of a disconnection and automatic reconnect
- Acknowledged communication
- SSL supported for the TCP communication
- Fast symmetric encoding of messages with AES and Rijndael
- HTTP policy server for the HTTP communication between Silverlight and the standalone .NET application
The following picture summarizes possibilities of the framework:
In summary the framework covers the following main use-cases:
The framework enables you to implement the communication between your applications with using messages.
You can use string messages or strongly typed messages. The communication can be one-way or request-response. You also can implement publish-subscribe scenarios where applications can be subscribed to receive desired notification messages from other applications.
The reason why you could consider the communication via messages is, the communicating applications are loosely coupled. It means, they do not have many assumptions about each other. They just need to know the message format and the address (channel) where to send / receive the message. This reduces the maintenance effort and increases the flexibility.
E.g. In case of messaging communication, if you add a new message to the service, the existing client applications are not affected.
In case of Remote Procedure Call (RPC), if you add a new method to the service interface, you probably need to update clients using this interface.
Across Platform Communication
The framework is implemented for the following platforms: .NET, Silverlight, Windows Phone 7 and Mono.
Therefore, with using the framework you can use the same approach to connect applications running on different platforms:
- Silverlight application and .Net application
- Silverlight application and Mono application
- Windows Phone 7 application and .Net application
- Windows Phone 7 application and Mono application
- .NET application and Mono application
The communication across the network is much less reliable as the communication on one machine. It is quite common, the network connection is interrupted or the application is not available.
To support these scenarios, the framework provides:
- Buffered messaging with automatic reconnect - in case of the disconnection, the sent messages are stored in the buffer and the framework tries to reconnect. If reconnected, the messages stored in the buffer are sent to the receiver.
- Acknowledged messages - the delivery of sent messages is confirmed.
To secure the communication, the framework allows to use HTTPS or SSL or you can just encrypt messages with fast symmetric encryption AES or Rijndael.
If you are interested in more technical details, you can visit:
The full version of the framework is free for non-commercial usage and can be downloaded from:
I hope, you will enjoy the second version.