Nous allons voir comment réaliser un websocket avec JEE7.
Si vous ne savez pas ce qu’est un websocket, commencer par lire l’article suivant.
Définition et cas d’utilisation d’un websocket
Premièrement il faut créer un projet Dynamic Web Project dans votre Eclipse. Un fois ce projet créer, rajouter une classe qui va jouer le rôle de endpoint. Pour configurer votre endpoint, en JEE7, il suffit d’annoter votre classe avec l’annotation
@ServerEndpoint<span class="s1">(</span><span class="s2">« /websocket »</span><span class="s1">)</span>
Annotation | Description | Exemple |
---|---|---|
@OnMessage | Qui est la méthode qui va recevoir les messages | public String hello(String pMessage) |
@OnOpen | Une méthode qui sera appelée lors de l’ouverture du socket | public void onOpen(Session pSession) |
@OnClose | Une méthode qui sera appelée lors de la ferture du socket | public void onClose(CloseReason pCloseReason) |
Maintenant que vous avez une méthode @OnMessage, il vous suffit de traiter le paramètre envoyé par le client, à savoir pMessage. Ici on utilise un String mais on pourrait travailler avec d’autres types de variables. Pour la suite, il vous suffit de déployer votre application sur votre serveur WildflyWildfly est un serveur d'application Java (on peut le faire directement depuis la vue eclipse->server)
Pour envoyer un message depuis le serveur, il suffit d’utiliser la session. Depuis une session, on peut facilement faire la chose suivante:
session.getBasicRemote().sendText(<span class="s2">« Mon message »</span>);
<span class="s1">private</span> <span class="s1">static</span> Set<Session> <span class="s2">clients</span> = Collections.synchronizedSet(<span class="s1">new</span> HashSet<Session>());
Pour le client, nous allons utiliser JAVASCRIPT pour créer notre client.
Sur la plupart des navigateur récent, les websockets sont très bien supportés: http://caniuse.com/#feat=websockets
On va donc dans un script JS créer notre adresse du serveur
function init() {
websocket = new WebSocket(wsUri);
websocket.onopen = function(evt) {
onOpen(evt)
};
websocket.onmessage = function(evt) {
onMessage(evt)
};
websocket.onerror = function(evt) {
onError(evt)
};
}
function onOpen(evt) {
}
function onMessage(evt) {
alert("Message reçu: " + evt.data );
}
function onError(evt) {
}
Il suffit comme en JAVA de binder les trois méthodes utiles.
Dernière choses à savoir, comment envoyer un message depuis le client, tout simplement en appeler depuis l’objet websocket la méthode d’envoi de message:
java websocket.send(message);
Découvrez la planche #11 !
Lorsque l’on souhaite se lancer dans une transformation digitale en tant qu’ETI, il y a plein de paramètres à prendre en compte pour une transformation digitale ETI réussie : la stratégie, l’organisation, la technique, la mobilisation des équipes, etc. ! Après avoir eu l’occasion d’accompagner plusieurs ETI sur ce sujet, nous avons pu vivre des stratégies et des histoires différentes, et donc, dégager des enseignements croisés pour faire mieux. A nos yeux, justement, l’un des points fondamentaux pour faire de votre transformation digitale ETI une réussite est de faire adhérer les équipes à des valeurs communes. Nous avons donc dégagé 4 valeurs à diffuser au sein de votre entreprise que nous avons le plaisir de vous partager dans cet article.
Le processus de vente est central dans votre entreprise. C'est votre métier et votre manière de vous différencier de la concurrence. Mais ce processus est souvent complexe et mal appréhendé par les TPE/TPI qui faute de temps néglige ce processus pourtant