Accueil > Non classé > L’aventure Kwixo.com

L’aventure Kwixo.com

Quésako

Vous avez sûrement déjà vu les pubs à la télé qui mettent en scène des nudistes en train de chercher leur portefeuille. Mais pourquoi ? Tout simplement parce qu’avec Kwixo, plus besoin de portefeuille, on peut payer avec son téléphone mobile pour rembourser un ami nudiste (ou pas d’ailleurs[a]).

Mais ce n’est pas tout, Kwixo c’est également une solution pour payer sur internet chez des e-commerçants. Elle propose entre autres le paiement après réception mais aussi le paiement à crédit. Un login, un mot de passe et dites adieux aux numéros de cartes de crédit à rentrer sur un site dont vous ne savez même pas ce qu’ils vont en faire.

En bref, vous l’aurez compris, Kwixo s’annonce comme un sérieux concurrent du célèbre Paypal et nous sommes très fiers d’avoir pu contribuer par notre expertise technique.

Kwixo en chiffres

Une équipe de 20 personnes, dont 10 développeurs JavaEE, a sué sang et eau pendant deux années pour mettre au point ce projet qui, du point de vue technique, est parti de ZÉRO. En plus des problématiques techniques liées au démarrage, nous avons rencontré des problématiques d’intendance : pas de serveur pour le SCM[b], une connection internet filtrée qui bloquait certains repository maven, des changements de locaux inopinés mais ce n’est pas ce qui nous a arrêté.

Au bout de deux ans, que dire ? Que nous avons effectué plus de 17 000 commits avec Git, environ 5 000 builds incassables avec Hudson/Jenkins, 210 000 lignes de Java (hors imports), 600 fichiers XML… Cela commence à donner une bonne idée de ce qu’est Kwixo. Derrière ces chiffres (magie des mathématiques), on trouve d’autres chiffres: 7 webapps, une base de données classique (sybase), une base de données NoSQL (CouchDB), 40 webservices REST/JSON, 30 batches, et 30 flows spring-webflow. Ça se précise.

Ajoutez enfin des processus fonctionnels compliqués, par exemple celui de l’inscription sur le site. 5 écrans.

  • Validations classiques : Nom, Prénom, Âge
  • Vérification de l’unicité de l’e-mail
  • Vérification de l’unicité du mobile
  • Vérification des transactions en attente
  • Validation par One-Time Password du mobile
  • Vérification de l’unicité du moyen de paiement
  • Utilisation d’iframe pour PCI-DSS
  • idem point (3)
  • Création du compte
  • Affichage des données saisies
  • Envoi du mail de confirmation avec lien de validation

Comme vous pouvez le constater, lorsqu’on ajoute les différents contrôles, tout se complexifie.

Au point d’en arriver ici. Voici une bonne idée de ce qu’est Kwixo d’un point de vue technique.

Kwic-flow

Pourquoi Webflow plutôt qu’un moteur de BPM “classique” ? Parce que Webflow s’intéresse essentiellement à la gestion des enchaînements Web. Il s’agit d’une version “survitaminée” de SpringMVC. C’est pourquoi Kwixo (avec ses nombreuses procédures pas-à-pas) en fait une utilisation massive.

Nous avons d’abord tâtonné en nous penchant sur la (maigre) documentation officielle. Mais force a été de constater que la documentation n’est pas maigre mais bien rachitique. Et les articles de blogs et autres présentations ne vont que rarement au delà de la découverte du framework.

C’est pourquoi nous vous présenterons un retour d’expérience sur Webflow au travers d’une série d’articles sur les différentes techniques que nous avons mises en oeuvre, parmi lesquelles :

  • Gestion du bouton précédent du navigateur. Sur le papier, cette fonctionnalité est déjà offerte par webflow. En réalité, bien que webflow embarque toute la mécanique pour le détecter “out of the box”, charge au développeur de faire en sorte que l’utilisateur soit prévenu de manière un peu plus claire que “Une erreur est survenue”.
  • Réutilisation de code et factorisation : les subflow et l’héritage. Webflow propose des méthodes pour réutiliser des parties de cinématique d’écrans. Nous verrons comment les mettre en oeuvre au travers d’une validation par OTP d’un mobile.

Et comme un bon retour d’expérience ne saurait être exempt de toute critique, nous nous prendrons à rêver aux alternatives que nous aurions pu trouver à Webflow.

Les messages so quick

Icône Mail

Kwixo envoie aussi des e-mails, des SMS et affiche des alertes et des notifications à droite à gauche. Un bombardement continu de messages très différents les uns des autres, sur plusieurs canaux (SMS, web, e-mail) et aux contenus délicatement ciselés et régulièrement revus par les services marketing et juridique.

Pour faire fonctionner tout ça de manière transparente, non-bloquante pour les processus métier et accessible par le commun des mortels, Kwixo s’est bien creusé la tête. Il a étudié diverses options séduisantes (“j’ai une idée! on va mettre des annotations partout”), et après refactoring intense a fini par porter son choix sur son architecture de messaging actuelle.

Parmi les ingrédients du cocktail final, on trouve de l’évènementiel, du JMS, du NoSqL et des processus démoniaques.

Recette à suivre …

Notes

[a] Kwixo accepte aussi les gens habillés, s’ils acceptent d’enlever au moins leur chemise.
[b] Ce qui a eu pour effet très bénéfique de nous conforter dans le choix de GIT !

L’icône du mail est sous licence GPL et a été crée par Alessandro Rei

Share
Categories: Non classé Tags:
  1. jubal michel
    17/03/2014 à 11:40 | #1

    je n’arrive pas a confirmer mon adresse email sur le site kwixo

  1. Pas encore de trackbacks