How the AgilePoint CSM Works

The AgilePoint CSM runs as a Windows Service and works as an event dispatcher using .NET Remoting.  It records information from the AgilePoint Servers in the NLB to track which process instances are running on each of the AgilePoint Server machines. When a process instance is created the first event will be load balanced by the NLB, after that, the AgilePoint CSM is involved to dispatch events to each of the AgilePoint Servers in the cluster, ensuring that all events associated with the same process instance lifecycle are processed on the same AgilePoint Server machine. As the AgilePoint Server machines monitor the DB, when a new event is triggered, the AgilePoint Server machine picks up the event and posts a call to the AgilePoint CSM to determine whether the event is currently being handled by any of the AgilePoint Servers in the NLB based on the associated Process Instance ID. If the event is associated with a Process Instance ID that is already running on a different server, The AgilePoint CSM will re-route the event to be processed on the AgilePoint Server that is currently dedicated to processing events associated with that process instance.