Le canal JMS constitue le canal de contrôle principal pour IBM® UrbanCode Deploy ; il s'agit du canal utilisé par le serveur pour envoyer des commandes à l'agent. Par défaut, le serveur n'est à l'écoute que sur trois ports : le port 7918 pour JMS, le port 8080 pour HTTP, et le port 8443 pour HTTPS.
Le service de surveillance d'agent utilise JMS pour toutes les communications avec le serveur et pour l'envoi de commandes (telles que "exécuter l'étape") au processus de traitement. Le processus de traitement utilise JMS pour les communications système et des services HTTP REST lorsqu'il effectue des étapes de plug-in ou extrait des informations depuis le serveur.
La communication serveur-agent sans état procure des avantages significatifs en termes de performances, sécurité, disponibilité et reprise après incident. Vu que chaque requête d'agent est autonome, une transaction consiste d'un message indépendant qui peut être synchronisé avec le stockage auxiliaire lorsqu'elle se produit. N'importe quel noeud final, serveur ou agent, peut être arrêté et redémarré sans répercussions (si ce n'est le temps perdu). Si les communications échouent au milieu d'une transaction, aucun message n'est perdu. Une fois reconnectés, le serveur et l'agent déterminent automatiquement quels messages ont déjà circulé et quels travaux ont déjà abouti. Après une indisponibilité, le système synchronise les noeuds finaux et rétablit les processus affectés. Les résultats de travaux éventuels effectués par un agent pendant l'indisponibilité sont communiqués au serveur.