Listen Event Publish Clients MQTT Publication de message sur un “topic” Souscription à des “topics” (wildcards possibles) Broker MQTT Routage / Distribution Rétention des messages Mode bridge possible Publish / Subscribe pattern
Request/Response GET, POST, PUT, DELETE Pensé pour les réseaux LoWPAN (Low-Power Wireless Personal Area Network) = Réseaux de toutes petites machines Messages légers pour des devices très simples Le serveur est “sur” le hub ou l’objet connecté (tout dépend les possibilités de l’objet)
Clients natifs pour les langages Java, C#, … API Rest, Découverte automatique des membres, Failover automatique (un crash de nœud ne perd pas de données), Support des transactions et des locks, … Hazelcast quelques fonctionnalités
charger la liste d’adresses des raiders 2. parcourir la liste 1. pour chaque adresse: un client CoAP -> contact 2. attend que le raider lui réponde: WaitForRaider 1. si les coordonnées du raider son nulles (il n’a pas été contacté) 1. coordonnées de départ 2. affecte une couleur 3. mise à jour de la map Hazelcast (mais pas envoi) 3. Puis …
OK?) 1. parcours de la map locale 2. envoyer coordonnées de départ (CoAP) 3. Puis attendre que les raiders accusent réception … while hybrid: raiders(): size(): equals(maxRaiders) is false {} this: raiders(): localKeySet(): each(|raiderKey| { … }) en attente de coordonnées de départ
sont initialisés: 1. WhenAllRaidersAreIgnited 1. Calculer les mouvements en fonction des contraintes et des autres raiders 2. Envoyer via CoAP les nouvelles coordonnées aux raiders (de la map locale) 1. déplacement du raider 2. envoyer coordonnées à l’interface de “monitoring” Raiders “in action”