Has anyone built an NServiceBus system which allows many interested / 3rd parties to host an endpoint? Consider for example, an airport, which is the system owner for both flights and baggage handling.
Let’s say we’re providing a NSB architecture for a baggage handling system and we want to let baggage handlers / airlines know about bags which have been routed to their baggage loading points via a sortation system.
We would have an event BagDelivered which would have properties like flight, airline, baggage handler, chute number etc.
We want to inform the baggage handler and the airline about this event and preference would be to do it over the bus.
The baggage handler / airline would be responsible for providing their own endpoint to handle these events and process them into whatever systems they would like. (i.e. pass the cost of integration onto them)
Now, obviously, we only want airlines to receive the events specific to their airline. Considering the number of airlines, it would be impractical to create a BagDelivered event for each airline, particularly as new airlines may start serving an airport etc.
Now, how can this be made to work with NSB? The pub/sub pattern does not allow for this (effectively content based routing but shh!)
Is NSB the wrong kind of architecture for this type of application?