Étude de cas

Intégrations d'Organisations Financières à une Application

Depuis juillet 2018, notre équipe a travaillé sur l'intégration d'une application web aux systèmes d'informations financières en Suède et Norvège, utilisant Java, Spring, et Apache Tomcat. Ce projet permet aux consommateurs de demander des prêts auprès de plusieurs sources simultanément, grâce à un système agile qui traite environ 3000 demandes de prêt par jour avec 16 organisations financières, optimisant l'efficacité du marché et l'expérience utilisateur.

  • Services Financiers et Bancaires
  • Apache Tomcat
  • Java
  • Spring
  • REST
  • Spring WebFlux
  • SOAP
  • JitPack

Informations principales

Depuis juillet 2018, notre équipe a travaillé sur l'intégration d'une application web aux systèmes d'informations financières en Suède et Norvège, utilisant Java, Spring, et Apache Tomcat. Ce projet permet aux consommateurs de demander des prêts auprès de plusieurs sources simultanément, grâce à un système agile qui traite environ 3000 demandes de prêt par jour avec 16 organisations financières, optimisant l'efficacité du marché et l'expérience utilisateur.

Résumé
Publié
Industrie
Services Financiers et Bancaires

Technologies

  • Apache Tomcat
  • Java
  • Spring
  • REST
  • Spring WebFlux
  • SOAP
  • JitPack

Le défi

L'entreprise travaillait à l'élaboration d'une application qui permettrait aux consommateurs de demander des prêts auprès de plusieurs sources à la fois. Elle avait conçu un système dont l'application se connectait aux API des fournisseurs de prêts pour transmettre les demandes et les réponses.

Au moment de notre premier contact, l'entreprise était en cours de reconstruire son application PHP dans Java. Elle manquait de main d'œuvre pour intégrer l'application aux systèmes d'information des organisations financières. Elle a contacté plusieurs développeurs pour aider et a choisi Elinext.

La solution

Le client avait un système préconçu lorsqu'il est venu à nous. Il ressemblait à un réseau où l'interface utilisateur (UI) se connectait aux API des fournisseurs de prêt via des «événements». Toutes ces API étaient différentes les unes des autres. Pour en intégrer une au système, nous devions échanger directement avec les partenaires de notre client et faire des tests ensemble.

Au début du projet, le client avait requis deux développeurs Java à temps partiel et en a demandé huit de plus quatre mois plus tard. Mais, clairement, cela faisait trop de notre personnel engagé sur ce projet. Au final, nous y avons assigné deux ingénieurs à plein temps qui ont fourni un excellent travail en utilisant la méthodologie Agile.

Événements

La fonction de demande-réponse pour un prêt se base sur des événements. Un utilisateur fait une demande de prêt, et l'application crée un événement au format JSON dans un cloud de la Google Cloud Platform (GCP). L'événement est ajouté à la file et, son tour venu, envoyé à une plateforme de distribution automatique des demandes.

Le système crée un événement «Application créée», convertit ses données en formats utilisés par chacune des API des organisations financières et les envoie à ces organisations qui peuvent ensuite créer une offre ou rejeter la requête. En fonction de ce choix, le système crée l'événement «Rejeté» ou «Proposé» et en informe le client.

Intégrations

Le défi principal de ce projet a été de connecter les API des fournisseurs de prêt à l'application. Nous avons dû travailler en étroite collaboration avec des organisations financières qui ont leurs propres méthodes bureaucratiques de travail.

Nous avons utilisé Gradle, Java, et Spring pour développer les intégrations. Chaque intégration est un projet et un service séparé qui comprend le module principal avec des composantes en couches contrôleur, service et modèle.

Les intégrations utilisent HTTP et gRPC pour traiter les requêtes entre les différents services. Un module de bibliothèque partagée permet le partage du service, du modèle et du code d'auto-configuration. Ainsi, le système ne reproduit pas de code.

Nous avons effectué des tests d'unité automatisés à chaque nouvelle construction. Les méthodes que nous avons utilisées associent l'outil de développement Gradle aux bibliothèques de tests et structures telles que JUnit, Spring Boot Starter Test, et Mockito. Nous avons aussi testé les intégrations manuellement avec des scénarios de cas, parfois en collaboration et en temps réel avec les fournisseurs de prêts.

La complétion d'une intégration nous a pris en moyenne une à trois semaines. Au jour de cette publication, nous en avons développé 16.

Statistiques

Nous avons développé un tableau de statistiques pour les administrateurs. Il affiche des valeurs telles que le nombre de demandes de prêts en cours, acceptées ou rejetées, le nombre de demandes qui ont donné lieu à une erreur, et plus encore. Nous avons utilisé Prometheus pour extraire les métriques et Grafana pour les visualiser.

Les résultats

Elinext a aidé la startup à arriver plus rapidement sur le marché. À ce jour, le système traite environ 3000 demandes de prêt par jour auprès de 16 organisations financières. Ces chiffres vont croître au fur et à mesure que nous poursuivons le développement de nouvelles intégrations.

Nous avons également acquis une expérience unique en termes de gestion de projet. Nous avons dû collaborer efficacement avec de nombreuses parties, notre client et les fournisseurs de prêts qui sont traditionnellement englués dans la bureaucratie. Cela nous a appris quelques leçons importantes.

+48

Max file size 10MB. Supported formats include DOC, DOCX, ODT, PDF, RTF, and TXT.

Required fields are marked with an asterisk.

What does our proposal include?

Join our team

Upload your CV

For public relations

PR@ELINEXT.COM