Comprendre le Push Java http avec Cometd

 

 
Le protocole de Bayeux est une technique permettant de faire du push http. Je vous présente Cometd, projet qui implémente le protocole de Bayeux.
 

 

Pourquoi le protocole de Bayeux ?

Le protocole HTTP interdit aujourd’hui les communications bidirectionnelles. Ainsi, seul un client HTTP peut initier un dialogue avec un serveur HTTP : le client demande et le serveur sert. L’inverse n’est pas possible. Le protocole de Bayeux se propose de remédier à cette lacune et ainsi permettre à un serveur HTTP d’envoyer des informations, à sa propre initiative, à un client HTTP.

 

Le protocole de Bayeux, c’est quoi ?

Le protocole de Bayeux est un protocole de transport de messages asynchrones via le protocole HTTP à temps de latence faible.

Le protocole de Bayeux permet de maintenir une communication bidirectionnelle entre un client web et un serveur web et vice versa par le biais de la technologie AJaX (Asynchronous Javascript and XML). AJaX permet de piloter, de manière asynchrone, un appel HTTP.

De fait, ce protocole nécessite un client web AJaX et un serveur web http.

 

Quel est le modèle de programmation du protocole de protocole de Bayeux ?

Le protocole de Bayeux cherche à poser un standard de dialogue par message entre client web et serveur web.

Ce dialogue se fait par le biais de canaux par lesquels les messages sont diffusés.

Le dialogue fait intervenir :
– l’expéditeur du message;
– le destinataire du message;
– le message;
– le canal de diffusion.

Les messages peuvent être diffusés de :
– un serveur vers un client;
– un client vers un serveur;
– un client vers un client (par le biais du serveur).

Le protocole de Bayeux met en place un mécanisme basé sur l’utilisation de canaux de communication nommés explicitement : un client s’abonne à un canal, et un serveur publie sur un canal.

Un client abonné à un canal recevra tous les messages diffusés par ce canal.

 

Polling, long polling…

Attention, le protocole de Bayeux n’est pas une technique d’implémentation du push HTTP. Il est un mode de développement (publish/subscribe), une abstraction du push HTTP.
CometD implémente le protocole de Bayeux qui, comme nous le verrons plus tard, peut utiliser plusieurs techniques d’implémentation du push HTTP.

 

Conclusion

Cette petite introduction vous permet de vous familiariser avec les principes de base du protocole de Bayeux. N’hésitez pas à commenter pour poser vos questions.

 
[important]Et vous, utilisez vous un autre framework que cometD ? Partagez votre expérience.[/important]

 

Posté dans html5Taggé ajax, cometd, push http cometd, push java  |  3 commentaires

3 réponses à "Comprendre le Push Java http avec Cometd"

Répondre