Choosing when to use UM channels and when to use Apama channels
Typically, you want to
Use UM channels to send events from one correlator to another correlator, from adapters to correlators, or from correlators to external receivers. You also might want to use UM channels when your application needs the flexibility for a monitor or context to be moved to another correlator. With UM channels, you can move monitors or contexts among the correlators connected to the same UM realm without any re-configuration.
Use Apama channels to send events from one context to one or more contexts in the same correlator.
Consider the case of multiple correlators connected to the same UM realm. Specification of a UM channel lets events pass between a context sending events on the channel and a context subscribed to that channel regardless of whether the two contexts are
In the same correlator
In different correlators on the same host
In different correlators on different hosts
A UM channel gives flexibility in allowing the channel to be shared across multiple correlators. A deployment could start with monitors running in the same correlator and later re-deploy the monitors to run in separate correlators. The only re-configuration required is which correlators to start and where to inject the monitors.
The first time a channel is used the default behavior is that Apama determines whether it is a UM channel or an Apama channel and the designation is cached. After the first use, the presence or not of the channel in the UM broker is cached, so further use of the channel is not impacted. See
Enabling automatic creation of UM channels to learn about changing this default behavior.
Using UM channels lets you take advantage of some UM features:
UM provides access control lists and other security features such as client identity verification by means of certificates and on the wire encryption. Using these features, you can control the components that each component is allowed to send events to.
Using a UM channel rather than an Apama channel can have a lower throughput and higher latency. If there is a UM channel that contexts and plug-ins send to and that other contexts and plug-ins in the same correlator (or in different correlators) subscribe to, all events sent on that UM channel are delivered by means of the UM broker. In some cases, this might mean that events leave a correlator and are then returned to the same correlator. In this case, using an Apama channel is faster because events would be delivered directly to the contexts and plug-ins subscribed to that channel.