TechTalk#4 – Document pattern on Android

 

TechTalk #4

Document pattern on Android

 

Nous utilisons régulièrement un Document patternlors des développements d’applications Android. Ce “Document pattern” est une façade (au sens du “design pattern façade”) devant l’accès aux services web. Une fois implémenté, il permet d’éviter de se poser des questions concernant les problématiques de caching, d’authentification, la construction de la requête (hostname,  paramètres, url), … etc. Sans ce document, nous aurions du code dupliqué concernant ces problématiques un peu partout dans les Activity / Fragment.

Le document est au niveau du modèle d’un point de vue MVC (Model View Controller). Il est conseillé de tester ce document.

L’implémentation du document va tout d’abord se baser sur le type d’API que l’on souhaite appeler:

  • Privé
  • Public

En général, le document publicaura une authentification faible(API KEY + token). Le privéquant à lui aura une authentification plus forte, en général OAuth 1.0a, pour les accès aux données spécifiques à un utilisateur.

Nous avons la plupart du temps un compte lié au document. Voici les deux types de comptes que nous rencontrons le plus souvent :

  • Anonyme : Permet de garder au minimum une trace d’un utilisateur via son device ID
  • Compte utilisateur : Obligatoirement en OAuth 1.0a (évite de pouvoir rejouer les requêtes en les modifiant, de garantir que ce soit forcément nos applications qui appellent les services web, …)

 

ripplemotion-agence-digitale-techtalk4

 

Nous vous proposons ensuite plusieurs choix technologiques que nous avons fait pour répondre à différentes problématiques :

 

ripplemotion-agence-digitale-techtalk-4

 

Nous allons également aborder le cycle de vie du documentau sein d’une application Android. Nous verrons notamment une session utilisateur anonyme ainsi qu’une session utilisateur avec un compte de type email / mot de passe.

Une démonstration concrète des différents types de cycle de vie viendra illustrer une mise en pratique des thèmes abordés précédemment.

 

TechTalk animé par Olivier Tabone | Co-fondateur Directeur Technique chez Ripple Motion