WebSocket soutenance de stage
-
Upload
manavai-teikituhaahaa -
Category
Internet
-
view
259 -
download
4
description
Transcript of WebSocket soutenance de stage
![Page 1: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/1.jpg)
MESSAGERIE PAR WEBSOCKET
SOUTENANCE DE STAGE
Manavai TEIKITUHAAHAA Juin 2014
A l’attention de:
D.BRULIN
F.PEYRARD
G.AUBONNET
![Page 2: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/2.jpg)
2
PLAN I. Cahier des charges
1. Tâches et Analyses 2. Gestion du temps
II. HTTP & WebSocket 1. Présentation HTTP 2. HTTP 1.0 3. HTTP 1.1 4. Fonctionnement WebSocket
III. L’Existant
1. Synoptique de l'existant
IV. Mise à niveau de l’existant 1. Mise en œuvre du Service WS 2. Programmation plugin 3. Programmation JavaScript (JS) 4. Synoptique du résultat 5. Analyses de performance
V. Perspectives avenir du WebSocket
VI. BILAN DE STAGE
![Page 3: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/3.jpg)
3
I. CAHIER DES CHARGES
06/2014
![Page 4: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/4.jpg)
4
Tâches et Analyse
Mettre en œuvre un serveur WebSocket:
Valider -> Service WS*
Mise à niveau -> Messagerie
Analyse de performance
WS: WebSocket06/2014
![Page 5: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/5.jpg)
5
Gestion du temps: méthode agile
Temps (en semaine) S1 S2 S3 S4 S5 S6 S7 S8 S9 S10
Installation des PluginsMise en ligne des pages WebTests, Débogages, validation
Mise en ligne des pages Web de testTests
PARTI II: Application du WebsocketRecherches supplémentaires et étude de l'existantProgrammation des PluiginsProgrammation des pages Web
Tâches
PARTI I: Mise en Œuvre du Serveur WeboscketRecherchesInstallation des Modules WebsocketInstallation des Plugin de test
06/2014
![Page 6: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/6.jpg)
6
II. HTTP & WebSocket
06/2014
![Page 7: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/7.jpg)
7
HTTP
HyperText Transfert Protocol
Développé pour le World Wide Web (WWW)
Transfert de documents HyperText (HTML, CSS, …)
Plusieurs version 0.9 -> 2.0 (En cours …)
06/2014
![Page 8: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/8.jpg)
8
HTTP 1.0CLIENT
SERVEUR
REQUÊTE 1 + REPONSE 1
REQUÊTE 2 + REPONSE 2
06/2014
![Page 9: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/9.jpg)
9
HTTP 1.1CLIENT
SERVEUR
REQUÊTE 1 + REPONSE 1
REQUÊTE 2 + REPONSE 2
06/2014
KeepAlive
KeepAlive
![Page 10: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/10.jpg)
10
SERVEURCLIENT (Navigateur)
Handshake (HTTP upgrade)
Connexion ouverte
Connexion fermé
Fermeture du canal par un des hôtes
Communication FullDuplex
Connexion persistent
WebSocket
Connexion TCP établis
HTTP (Requête + Réponse)
Connexion TCP fermé
06/2014
![Page 11: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/11.jpg)
11
III. L’EXISTANT
06/2014
![Page 12: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/12.jpg)
12
Application Web
Télé-conduite + Supervision Turbines
Développé en langage C
06/2014
![Page 13: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/13.jpg)
13
1 min
Nouveau message ?
OUI
06/2014
![Page 14: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/14.jpg)
14
IV. MISE A NIVEAU
06/2014
![Page 15: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/15.jpg)
15
Mise en œuvre du service WS
Implémentation Apache 1 journée
Module WS -> Protocole WS
Plugin -> Traitement des messages WS
Côté Client -> JavaScript
06/2014
![Page 16: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/16.jpg)
16
Programmation Plugin
Plugin 3 semaines
4 primitives :
on_connect, création d’un thread*: 1 thread /connexion
on_disconnect, destruction du thread
on_message, réception du login structure
on_destroy non-utilisé
Thread: fil06/2014
![Page 17: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/17.jpg)
17
Programmation Plugin: Thread
Attente du login
Ouverture du fichier message
Récupération, traitement et envoi des nouveaux messages
TANT QUE LA CONNEXION EST ACTIVE:
Attente de nouveau message
Traitement et envoi du nouveau message
Fermeture du fichier message
FIN DU THREAD
06/2014
![Page 18: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/18.jpg)
18
Programmation JavaScript
Exemples internet
4 Primitives:
on_open: Envoi du login + affichage graphique
on_close: affichage graphique
on_message: ouverture nouvelle fenêtre
on_error: alerte bloquante
06/2014
![Page 19: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/19.jpg)
19
Synoptique mise à niveau
06/2014
![Page 20: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/20.jpg)
20
Analyses de performance
Au début: charge importante (8% / thread)
Problème: apr_sleep() temps en mS
Solution: apr_sleep() sleep() temps en S
Optimisation possible
06/2014
![Page 21: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/21.jpg)
21
PERSPECTIVES D’AVENIR & IDÉES D’OPTIMISATION
06/2014
![Page 22: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/22.jpg)
22
Perspectives:
Alarmes instantané
Rafraichissement données -> Temps réel
Comment ? Plugin (C) et JavaScript côté client
Optimisations:
Utilisation de signaux envoyé aux thread
Pause processus endormi
06/2014
![Page 23: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/23.jpg)
23
BILAN DE STAGE
06/2014
![Page 24: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/24.jpg)
24
Temps projet 5 semaines
Cahier des charges Respecté
Social intégré à l’entreprise
POST DUT STRI formation initial.
06/2014
![Page 25: WebSocket soutenance de stage](https://reader034.fdocuments.net/reader034/viewer/2022042518/557b4775d8b42a014a8b4a34/html5/thumbnails/25.jpg)
25
06/2014
MERCI DE VOTRE ATTENTION
A l’écoute de vos question …