Configuration à l'exécution

Support des protocoles et liage

Le framework SAM peut être étendu pour supporter d'autres protocoles de messagerie et d'autre mécanismes de connexion. Pour ajouter le support d'un nouveau protocole ou connexion, une classe doit être définie, soit sous la forme d'une extension C, soit sous la forme d'un script PHP, et un script "usine" doit être créé. La classe doit implémenter toutes les méthodes de la classe SAMConnection, car elle n'hérite pas de la classe SAMConnection. Le script d'usine doit être appelé par le framework SAM pour créer une instance de la classe implémentée. La façon dont SAM choisit quel utilitaire à appeler, est basée sur le protocole spécifié en tant que premier paramètre de l'appel à "connect".

Par défaut, le support interne MQTT sera utilisé si une connexion est spécifiée à un protocole SAM_MQTT ("mqtt") ; pour les autres protocoles, SAM tente d'utiliser l'extension XMS. Pour ajouter le support de protocoles supplémentaires ou pour modifier le comportement par défaut, des entrées doivent être ajoutées dans le php.ini dans la section [sam]. Le liage par défaut est équivalent aux entrées suivantes :

[sam]
sam.factory.mqtt=mqtt
sam.factory.wmq=xms
sam.factory.wmq:client=xms
sam.factory.wmq:bindings=xms
sam.factory.wpm=xms
sam.factory.rtt=xms
Comme nous pouvons le voir dans ces exemples, les entrées prennent la forme de "sam.factory.pppp=xxx" où pppp est le protocole spécifié lors de l'appel à la connexion et xxx est le suffixe d'usine. Note : SAM définit des constantes pour ces protocoles, comme SAM_WMQ=wmq, SAM_WPM=wpm, SAM_RTT=rtt, SAM_MQTT=mqtt, etc.

Lors de l'identification du code support à utiliser lors d'un appel à connexion, SAM cherche le nom du protocole dans les entrées du php.ini, puis, invoque un script d'usine nommé sam_factory_xxx.php. Si aucune entrée n'est trouvée, le support par défaut utilisé sera XMS.