WebSocket soutenance de stage

Post on 13-Jun-2015

250 views 4 download

description

My WebSocket project formy training in Marama Nui

Transcript of WebSocket soutenance de stage

MESSAGERIE PAR WEBSOCKET

SOUTENANCE DE STAGE

Manavai TEIKITUHAAHAA Juin 2014

A l’attention de:

D.BRULIN

F.PEYRARD

G.AUBONNET

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

3

I. CAHIER DES CHARGES

06/2014

4

Tâches et Analyse

Mettre en œuvre un serveur WebSocket:

Valider -> Service WS*

Mise à niveau -> Messagerie

Analyse de performance

WS: WebSocket06/2014

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

6

II. HTTP & WebSocket

06/2014

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

8

HTTP 1.0CLIENT

SERVEUR

REQUÊTE 1 + REPONSE 1

REQUÊTE 2 + REPONSE 2

06/2014

9

HTTP 1.1CLIENT

SERVEUR

REQUÊTE 1 + REPONSE 1

REQUÊTE 2 + REPONSE 2

06/2014

KeepAlive

KeepAlive

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

11

III. L’EXISTANT

06/2014

12

Application Web

Télé-conduite + Supervision Turbines

Développé en langage C

06/2014

13

1 min

Nouveau message ?

OUI

06/2014

14

IV. MISE A NIVEAU

06/2014

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

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

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

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

19

Synoptique mise à niveau

06/2014

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

21

PERSPECTIVES D’AVENIR & IDÉES D’OPTIMISATION

06/2014

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

23

BILAN DE STAGE

06/2014

24

Temps projet 5 semaines

Cahier des charges Respecté

Social intégré à l’entreprise

POST DUT STRI formation initial.

06/2014

25

06/2014

MERCI DE VOTRE ATTENTION

A l’écoute de vos question …