22 people following this project (follow)

Project Description
A WCF based ServiceBus that provides durable messaging (SqlServer Db or MSMQ, extensible) with support for a variety of filter types, including TOPIC (regex) and XPATH filters. Subscriber and Publisher APIs. Compatibility with existing WCF clients/services. Static or Run-time configuration of Subscriptions.

Current Status
  • Just released v1.1 beta.

v1.1 Release Notes
  • Added test application to test/evaluate Subscriptions, including topics, topic filters and xpath expressions.
  • Added a Sql Server Db for message storage.
  • Added Advertisements. Advertisements are Publisher registrations to associate a messages to topics based on filters (a topic will be associated based on publisher filters before the message hits the topic evaluation stage).
  • Added client side APIs (Publisher and Subscriber) to easily set up pub/sub over WCF (see below).

QuickStart

Here's how you'd define your messages:
Messages

Here's how you'd publish your messages:
Publish

Here's how you'd subscribe to your messages:
Subscribe

Here's how you'd process your messages:
Process

Why RockBus?
  • Reliable messaging using any of the following durable backing stores:
    • Custom SQL Server database (status: beta)
    • MSMQ (netMsmqBinding)
    • SQL Server Service Broker (SsbBinding: ssbwcf.codeplex.com)
  • Topic based publish/subscribe using TOPIC regex expressions.
  • Content based routing using the .NET message filter infrastructure, including XPATH filters.
  • Advertisements: Publisher registration information, containing filter-to-topic mapping.
  • Dynamic (@run-time) publish/subscribe (adding/removing subscriptions/routing-rules at run-time) through WCF service interface
  • OneWay/TwoWayAck/Request-Response Sync/Async Transactional/Non-Transactional Durable/Non-Durable Communication/Message Delivery through WCF Protocols/Bindings
  • Support for any WCF binding:
  • Configurable RoundRobin delivery between two (or more) subscribers
  • Transactional delivery to a group of subscribers (subscribers can be configured to receive within one and the same distributed transaction)
  • Pluggability:
    • Caching: EntLib or AppFabric
    • ConfigurationRepository: Sql Server Db, EntLibCache or AppFabric cache
    • Pluggability for message transports (queue frameworks, database)
  • Easy application of RockBus into your existing WCF infrastructure, because of compatibility options:
    • You can 'insert' RockBus in between a client an service, without affecting client and service.
    • Support for void-response generation/registration.
  • Flexible hosting: IIS, Console host (wcf self-host), and/or any of your existing processes
    • Optionally install as centralized broker, or use as distributed bus across your existing processes
  • Failover & Scalability through SQL Server or MSMQ.

RoadMap
  • Request-Response over OneWay.
  • Endpoint Management UI.
  • Subscription Management UI.
  • Message Management UI.

Looking for contibutors
This project is looking for contributors! If you're interested to contribute, pls. contact me.

Relevant links:

Sela Unity WCF ConfigurationSectionDesigner FluentValidationFluentAssertions

Last edited Oct 29 2011 at 7:33 AM by BVeldhoen, version 53