Solution de transfert mobile - Formats d'échange

20
Formats d’échange SOLUTION DE TRANSFERT MOBILE

Transcript of Solution de transfert mobile - Formats d'échange

Page 1: Solution de transfert mobile - Formats d'échange

Notice

Couverture

TextePolices : - Titre : Arial – 18pts- Sous-titre : Arial – 18pts

Formats d’échange

SOLUTION DE TRANSFERT MOBILE

Page 2: Solution de transfert mobile - Formats d'échange

OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

Visuel

Pour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuel

Pour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

Contenu

Lors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

Vers un monde sans chargement...

☉ Aller toujours plus vite est devenu un besoin capital pour nos applications. Un temps de chargement trop long est une des causes de dépréciation et de désinstallation d’une application.

☉ Deux parametres peuvent être modules pour accelerer l’échange de donnees et adapter le reseau aux usages d’aujourd’hui : le protocole de communication utilise et le format d’echange des donnees.

☉ Le couple HTTP1.1 – JSON est aujourd’hui majoritairement utilise dans les communications entre un mobile et un serveur. Mais ce choix est-il performant ou simplement une habitude ? Est-il adapte au mobile ou seulement une transposition des acquis du web ?

☉ Cette présentation a pour but d’aider a la réflexion sur le format d’échange a utiliser dans un projet Mobile. Les résultats sont tires d’experiences concretes et poussent a remettre en question le standard JSON

Page 3: Solution de transfert mobile - Formats d'échange

OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

Visuel

Pour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuel

Pour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

Contenu

Lors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

Comment aller toujours plus vite côté mobile?

Jouer sur deux paramètres

Formats d’échange Protocoles de communication

Temps de traitement des données Stabilité

Poids des données Adapté au mobile

Page 4: Solution de transfert mobile - Formats d'échange

>01 JSON

Page 5: Solution de transfert mobile - Formats d'échange

OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

Visuel

Pour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuel

Pour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

Contenu

Lors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

JSONLe format d’échange devenu standard…

☉ JavaScript Object Notation :

> Format de donnees textuelles derive de la notation JavaScript

> Format souvent renvoyé par les WebServices

☉ Reference : RFC7159

Page 6: Solution de transfert mobile - Formats d'échange

OCTO TECHNOLOGY > THERE IS A BETTER WAY

JSONLe format d’échange devenu standard…

> Lisible : textuel

> Flexible : pas de schéma à suivre

> Répandu : très utilisé pour le web

> Données lourdes : texte

> Pas d’identification précise de la structure

> Peut devenir ingérable avec un nombre grandissant de champs

AVANTAGES INCONVENIENTS

Page 7: Solution de transfert mobile - Formats d'échange

OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

Visuel

Pour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuel

Pour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

Contenu

Lors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

JSONLe format d’échange devenu standard…

[“Octo”: {

“name”: “Dupont”, “age”: 36,“Tribu”: {

“label”: “Team”,“manager”: “Herbert”

},“Skills”: [“Android”, “TDD”]

}]

> Exemple

Page 8: Solution de transfert mobile - Formats d'échange

>02 MessagePack

Page 9: Solution de transfert mobile - Formats d'échange

OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

Visuel

Pour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuel

Pour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

Contenu

Lors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

MessagePackFormat binaire sans schéma…

☉ MessagePack :

> Format d’échange binaire sans schéma

> A pour but d’être le plus simple et le plus compact possible

☉ Licence : Apache

Page 10: Solution de transfert mobile - Formats d'échange

OCTO TECHNOLOGY > THERE IS A BETTER WAY

> Binaire : léger

> Flexible : pas de schéma à suivre

> Disponible dans 50 langages

> Encode/Décode longue sous Android

> Communauté fragmentée et peu active

> Mauvaise compression avec des chaînes de caractères

MessagePackFormat binaire sans schéma…

AVANTAGES INCONVENIENTS

Page 11: Solution de transfert mobile - Formats d'échange

OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

Visuel

Pour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuel

Pour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

Contenu

Lors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

MessagePackFormat binaire sans schéma…

[“Octo”: {

“name”: “Dupont”, “age”: 36,“skills”: [“Android”,

“TDD”] }

]

JSON MessagePack

81 a4 4f 63 74 6f 83 a4 6e 61 6d 65 a6 44 75 70 6f 6e 74 a3 61 67 65 24 a6 73 6b 69 6c 6c 73 92 a7 41 6e 64 72 6f 69 64 a3 54 44 44

62 bytes 44 bytes

> Exemple

Page 12: Solution de transfert mobile - Formats d'échange

>03 Protocol Buffers

Page 13: Solution de transfert mobile - Formats d'échange

OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

Visuel

Pour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuel

Pour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

Contenu

Lors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

Protocol BuffersFormat binaire #madebygoogle…

☉ Protocol Buffers :

> Format d’échange binaire avec langage de description d’interface

> Indépendant du langage et de la plateforme

☉ Licence : BSD

☉ Dernière version: 3.1.0 (Norme Proto3)

Page 14: Solution de transfert mobile - Formats d'échange

OCTO TECHNOLOGY > THERE IS A BETTER WAY

AVANTAGES INCONVENIENTS

> Binaire : léger

> Structure définie

> Multiplateforme

> Maintenu

> Encode/Décode rapide sous Android

> Binaire : illisible

> Nécessite le schéma pour encoder/décoder

> Peu d’outils disponible pour la dernière version

Protocol BuffersFormat binaire #madebygoogle…

Page 15: Solution de transfert mobile - Formats d'échange

OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

Visuel

Pour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuel

Pour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

Contenu

Lors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

syntax = "proto3";

message Octo {string name = 1;int32 age = 2;Tribu tribu = 3 repeated Skill skills = 4;

}

message Tribu {string label = 1; Octo manager = 2;

}message Skill {

String label = 1; }

Protocol Buffers

> Exemple : Fichier de structure

Format binaire #madebygoogle…

Page 16: Solution de transfert mobile - Formats d'échange

>04 Benchmarks

Page 17: Solution de transfert mobile - Formats d'échange

OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

Visuel

Pour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuel

Pour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

Contenu

Lors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

Environnement des tests

Les données échangées sont exclusivement au format texte. Ce type est le moins favorable pour les formats d’échange binaires.

Je veux 150 paragraphes en format xx.

150 paragraphes dans le format xx.

HTTP/2

Traitement

Page 18: Solution de transfert mobile - Formats d'échange

OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

Visuel

Pour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuel

Pour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

Contenu

Lors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

Résultats des testTemps de transfert de X paragraphes

Page 19: Solution de transfert mobile - Formats d'échange

OCTO TECHNOLOGY > THERE IS A BETTER WAY

Résultats des testJSON Protocol Buffers MessagePack

Vitesse de traitement des données

1(Données de référence) 0,5 1,5

Poids des données après sérialisation

1(Données de référence) 0,93 0,98

Encodeurs/Décodeurs testés Jackson, Jackson Jr, Moshi Protobuf Officiel, Wire Jackson

Meilleurs Encodeurs/ Decodeurs en temps de traitement et facilite d’utilisation

Jackson Wire Jackson

Mise en place dans un projet Android

Nécessite l’analyse de la structure de donnée pour créer les objets Java

Partage du schéma entre le serveur et le client Android: création automatique des objets

Nécessite l’analyse de la structure de donnée pour créer les objets Java

Exemple d’utilisation professionnel Enormement d’API Web Google (utilisation interne),

PokemonGoPinterest, Fluent, Treasure

Page 20: Solution de transfert mobile - Formats d'échange

OCTO TECHNOLOGY > THERE IS A BETTER WAY

Notice

Visuel

Pour remplacer un visuel :- 1 clic gauche sur l’image- Dans la barre d’outils qui

apparait en haut, cliquer sur “remplacer l’image”

- Importer le nouveau visuel

Pour recadrer un visuel : - 1 clic gauche sur l’image- Dans la barre d’outils qui

apparaît en haut, cliquer sur l’icône

- Déplacer le visuel dans la cadre ou rogner le cadre en déplaçant les taquets noirs

Contenu

Lors de l’ajout de cette slide, les bullet points n’apparaissent pas automatiquement. Pour ce faire : - Sélectionner la zone de

texte- Cliquer sur l’icône de liste à

puces :

Protocol Buffers: Gagnant?

☉ Les résultats de Protocol Buffers sont très bons

> Temps de traitement 2 fois inférieur à JSON

> Consommation mémoire identique à JSON

> Poids des données faible : transfert plus rapide

☉ Mais la solution est-elle envisageable?