Event brokering is a role played by middleware in facilitating event-driven application architecture. The minimum capability required to play the role of event broker is pub-sub messaging. All middleware products, including MOMs and ESBs, supporting pub-sub can play the role of an event broker and can be referred to as basic 'event brokers' when so deployed. Middleware products that additionally offer special support for event-centric use cases (for example, a persistent event ledger for analysis and event sourcing, or programmable extensibility for custom filtering and analysis) are 'advanced' event brokers.