LCDS3 et le data throttling

17 08 2009

LiveCycle ES iconUne des nouveautés de LiveCycle Data Services 3 (toujours en beta sur labs.adobe.com) est le Data Throttling. Encore un terme qui va être simple à traduire🙂. La dernière version de Flash Media Serveur, permet de dynamiquement adapter la qualité de vidéo à la bande passante du client. LCDS 3 sait faire de même avec les messages. L’objectif est d’éviter une asphyxie d’échange de messages entre le client et le serveur. Pour bien comprendre cette nouveauté, je viens de découvrir une vidéo postée par les ingénieurs de LiveCycle sur le sujet. Cette fonctionnalité concernent les applications qui utilisent le messaging de façon intensive ou le data-management. Je pense que dans un futur proche, le data-throttling aura du sens pour les applications mobiles qui ne profiteront que du connexion 3G mais qui devront afficher de l’information fiable en temps réel.

Le paramétrage du data-throttling s’effectue dans les fichiers XML de configuration de LiveCycle Data Services. Il est possible de jouer sur les deux directions du messaging. Le inBound concerne les messages qui transitent du client vers la destination du serveur. L’attribut max-frequency fixe le nombre de messages maximum acceptés par la destination du serveur en une seconde. Si la limite est atteinte, LCDS peut soit envoyer un message d’erreur au client par message non traité (mode ERROR), soit juste l’ignorer sans informer le client (IGNORE). Le outBound concerne les messages qui transitent du serveur vers les clients. De même on peut régler une fréquence maximale de traitement de messages par seconde. De même, on peut fixer un mode ERROR ou IGNORE mais aussi BUFFER, qui place les messages non transmis en attente dans une queue de messages. Ce dernier mode est clairement le plus intéressant. LCDS stocke les messages et les envoie au rythme fixé tout en s’assurant que le client ne rate aucun message!

Le client peut aussi fixer une fréquence de réception de messages avec la propriété Consumer Max Frequency. Si elle est inférieure à la fréquence fixée côté serveur, alors est elle prise en compte. L’application client peut aussi fixer des fréquences de traitements de messages différentes en fonction des destinations, et même des subtopics.

Dans le cadre des applications qui utilisent le Data Management, un nouveau mode CONFLATE peut être utilisé. Imaginez que vous soyez en mode BUFFER et que des messages de Data Management s’accumulent dans la queue de messages: des CREATE, des UPDATE, des DELETE, etc… LCDS est capable d’optimiser ces requêtes côté serveur. Dans le cadre de l’UPDATE, si vous effectuez une mise à jour sur un même enregistrement plusieurs fois, il ne stockera dans la queue que la dernière requête. Plus fort: si vous mettez un jour le champ « prénom » d’un enregistrement dans une requête, puis le champ « nom » du même enregistrement dans une qutre requête, LCDS va automatiquement consolider les deux informations dans une seule requête et ne transmettre qu’un seul message au client. Il gère aussi de façon cohérente le fait de créer CREATE, puis de supprimer DELETE, un même enregistrement. Le Data Management est particulièrement gourmand en nombre de messages envoyés (surtout en auto-commit), et cette couche d’optimisation est la bienvenue.

Il est aussi possible de faire confiance à LCDS et d’activer l’Adaptive Data Throttling. LCDS va échanger des messages avec le client pour en déduire quelle serait la fréquence de transmission de messages la plus adaptée (en fonction de la consommation CPU de la machine, de l’état du réseau, etc…). Dernière nouveauté, la possibilité d’assigner des priorités à des messages (comme avec JMS). J’espère que des exemples d’applications seront fournies dès la sortie de LCDS3 !


Actions

Information

2 responses

18 08 2009
Edouard

Rien à dire, ca Roxe !

21 08 2009
phiphou

Ah oui, c’est bon ça !

Merci pour cette vidéo

Aurais tu d’autres ressources du genre ?

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s




%d blogueurs aiment cette page :