Aujourd'hui, les institutions ont besoin de systèmes efficaces pour les services de développement d'applications de conseil financier, fournissant des conseils aux clients, gérant les investissements et préparant des rapports complets. Un de nos clients disposait d'une application de conseil financier qui nécessitait des solutions d'accès aux données en temps réel, des services d'intégration de streaming vidéo et des services d'intégration cloud transparents pour répondre à ses besoins opérationnels.

Dans ce blog, nous explorons comment nous avons exploité différentes technologies pour créer cette application globale, du backend au front-end.

Aperçu du projet

Trois personnes interagissent avec de grands écrans de smartphone affichant des graphiques financiers, des symboles monétaires et des engrenages, indiquant la technologie financière et le travail d'équipe.

Notre client est une société de conseil financier bien connue qui souhaite fournir à ses clients un accès pratique à la recherche macroéconomique, aux informations sur les portefeuilles et aux recommandations d'investissement.

L'objectif était de créer une solution hautement disponible et extensible avec les services d'intégration Amazon S3 pour le stockage et les services d'intégration JW Player pour la diffusion de vidéos de conseils financiers.

Principales fonctionnalités de l'application

  • Portail de recherche macro: Permet aux clients d'obtenir des informations de recherche actuelles sur l'état de l'économie.
  • Gestion de portefeuille: Un système de suivi et de gestion de portefeuille pour les clients.
  • Diffusion de contenu vidéo: Une partie pour partager des vidéos éducatives et des mises à jour du marché.

Technologies que nous avons utilisées

Nous avons utilisé les technologies suivantes :

  • ASP.NET MVC: Les services de développement ASP.NET MVC ont été adoptés comme cadre fondamental pour la création de l'application Web. Cette approche nous a permis de mettre en œuvre le modèle de conception modèle-vue-contrôleur, pierre angulaire des services de développement .NET MVC, qui a permis de séparer les préoccupations et d'accélérer le développement. ASP.NET MVC offrait également une structure claire pour gérer le routage, la logique des contrôleurs et les vues, ce qui permettrait à l'application d'être évolutive et facile à maintenir.
  • Serveur SQL: Pour stocker les données des clients, les informations sur le portefeuille et les données de recherche, nous avons mis en œuvre Microsoft SQL Server, un choix courant dans le développement de logiciels personnalisés pour les services financiers. Nous avons pu exécuter des requêtes complexes et pouvons également être assurés de la sécurité des données grâce à des mécanismes de cryptage qui est venu avec SQL Server.
  • Framework C#.NET: L'application a été développée à l'aide du framework C# .NET pour ses riches bibliothèques de manipulation de données, d'intégration de services et de sécurité. Le mappage objet-relationnel (ORM) a été réalisé à l'aide d'Entity Framework pour l'accès et la manipulation des données.
  • Javascript, CSS: Pour les activités côté client, nous avons utilisé JavaScript et CSS pour rendre la page Web plus réactive et esthétique. Ces technologies ont été très utiles pour rendre l'application Web fonctionnelle et également réactive sur les ordinateurs de bureau, les tablettes et les smartphones.
  • API Web: L'application exploite l'API Web, s'alignant sur les meilleures pratiques en matière de services de développement d'applications d'entreprise, pour gérer les requêtes HTTP et créer des services RESTful. Cela a permis à l'application de s'interfacer avec d'autres systèmes tels que d'autres bases de données de recherche et des applications côté client.

Intégration cloud et technologies uniques

Nous avons également utilisé des technologies uniques dans ce projet, notamment :

  • Amazone S3: Nous avons utilisé les services d'intégration d'Amazon S3 pour sauvegarder les documents de recherche et les vidéos volumineux de la société financière adaptés à des clients spécifiques. Amazon S3 fournissait des mécanismes de stockage, de récupération et de gestion de grands ensembles de données avec un besoin minimal de gestion de l'infrastructure.
  • Joueur JW: Comme vous le verrez, le contenu vidéo est un élément majeur de l'application de conseil ; par conséquent, nous avons incorporé JW Player à des fins vidéo. Le lecteur a permis une transition fluide entre un appareil et un autre et entre une plateforme et une autre, améliorant ainsi l'expérience globale. L'intégration avec Amazon S3 a été utile pour récupérer et diffuser des vidéos sans aucun impact sur les performances.
  • Interface utilisateur de Telerik Kendo: Pour rendre l'interface utilisateur de l'application aussi fluide que possible, nous avons incorporé les contrôles Telerik Kendo UI. Dans cette bibliothèque, nous avons pu créer des composants Web hautes performances tels que des grilles de données, des graphiques et d'autres éléments qui ont amélioré l'expérience utilisateur des clients qui interagissent avec les données de portefeuille et les études de marché.
  • Notifications poussées: Nous avons intégré les notifications push pour garantir que les utilisateurs reçoivent des notifications concernant les nouveaux rapports de recherche, les modifications du portefeuille et les mises à jour du marché. Ces notifications ont été envoyées aux appareils Android et iOS, depuis l'application Web, pour tenir les clients informés des informations importantes.
Personne tapant du code sur un ordinateur portable Dell dans un espace de travail encombré. L'écran affiche l'interface de programmation.Personne tapant du code sur un ordinateur portable Dell dans un espace de travail encombré. L'écran affiche l'interface de programmation.

Les modèles de conception et les méthodologies de développement

Pour maintenir des normes élevées de qualité du code et garantir que l'application puisse évoluer avec les futures mises à jour, nous avons suivi plusieurs principes de conception et méthodologies de développement importants :

  • Modèle de conception modulaire: Nous avons utilisé le modèle de conception modulaire selon lequel l'application était divisée en parties plus petites pouvant être réutilisées. Cela a permis de tester des modules solo, d'introduire de nouvelles fonctionnalités et de maintenir l'application mieux intégrée.
  • Séparation des préoccupations: Chaque partie de l'application traitait d'une tâche particulière ; acquisition, traitement ou présentation de données. Le fait que les préoccupations soient séparées a permis aux développeurs de travailler sur différents modules en même temps sans échanger leurs codes.
  • Développement piloté par les tests (TDD): Nous avons utilisé TDD du début à la fin du cycle de développement. Avant d'implémenter chaque fonctionnalité, nous avons écrit des tests pour que le code soit fonctionnel et sécurisé dès le début du projet.
  • Conception réactive: Étant donné que l’application devait être utilisée par un grand nombre de clients d’âges différents, le recours à un design adaptatif était inévitable. En utilisant CSS et Telerik Kendo UI, nous avons assuré une conception Web réactive pour les applications financières, en optimisant les modèles pour différentes tailles et orientations d'écran.

Défis rencontrés

Malgré le succès du projet, nous avons dû surmonter plusieurs défis :

  • Complexité de mise en œuvre: L'utilisation de plusieurs services, notamment les services Web Salesforce WSDL, Amazon S3 et les notifications push, a également amplifié le niveau des défis de développement. Nous devions nous assurer que ces services pouvaient communiquer avec l’application principale tout en offrant de bonnes performances et sécurité.
  • Limites de l'aperçu de la page de conception: Nous avons également rencontré quelques difficultés lors du développement de l'application, notamment le manque d'aperçu des pages de conception en temps réel. Ce problème est apparu principalement parce que les couches frontend et backend étaient étroitement liées, ce qui ralentissait les tests de l’interface utilisateur.
  • Complexité du déploiement: De plus, le déploiement de l'application a été un peu difficile en raison des différents services et plateformes cloud à utiliser. Les tests et le déploiement de services tels que les services d'intégration Amazon S3 pour le stockage de documents et la mise en œuvre des notifications push ont posé des défis, nécessitant des tests rigoureux pour garantir une fonctionnalité appropriée.
  • Migration du système existant: La migration des données de l'ancien système existant vers la nouvelle plate-forme unifiée nécessitait une expertise dans les services de migration de systèmes existants, garantissant un transfert de données fluide et des performances améliorées. Le mécanisme de codage obsolète ralentissait les performances du site Web et de l’application, et il était crucial de comprendre la logique métier sous-jacente avant d’apporter des améliorations. En étudiant attentivement l'ancien système, nous avons pu mettre en œuvre une solution qui préservait à la fois les fonctionnalités de base et améliorait les performances.
  • Performances du streaming vidéo: Le streaming vidéo était une fonctionnalité clé de l'application, mais le système d'origine avait du mal à fournir rapidement un contenu de haute qualité. En intégrant Amazon CloudFront aux services d'intégration Amazon S3, nous avons considérablement amélioré les performances de streaming vidéo de l'application. Le réseau mondial de diffusion de contenu de CloudFront garantit que les utilisateurs peuvent diffuser des vidéos sans délais de mise en mémoire tampon, quel que soit leur emplacement.
  • Conception et expérience utilisateur unifiées: Un autre défi consistait à garantir que la nouvelle plate-forme offrait une expérience utilisateur cohérente sur tous les appareils. Nous avons surmonté ce problème en utilisant une approche de conception modulaire et en rendant la plateforme entièrement réactive. Désormais, que les utilisateurs accèdent à l'application sur leur ordinateur de bureau ou leur appareil mobile, ils bénéficient du même niveau de fonctionnalité et de convivialité.
Deux personnes utilisant un ordinateur portable et un téléphone portable pour consulter un site Web.Deux personnes utilisant un ordinateur portable et un téléphone portable pour consulter un site Web.

Avantages et inconvénients de la pile technologique

Voici les avantages et les inconvénients de la pile technologique :

Avantages

  • Conception modulaire et séparation des préoccupations: La modularité, principe clé de la conception d'applications modulaires, a facilité la maintenance et l'extension de l'application au fil du temps.
  • Compatibilité multiplateforme: Grâce à l'incorporation de frameworks de conception réactive, l'application a été développée pour être compatible à la fois avec le Web et le mobile.
  • Stockage et streaming dans le cloud: Nous avons également implémenté avec succès Amazon S3 pour stocker et diffuser des vidéos et des documents sans aucun problème d'infrastructure à l'aide de JW Player.

Inconvénients

  • Complexité du déploiement: La multiplicité des services a également rendu le déploiement un problème plus difficile à résoudre.
  • Aperçu de la page de conception: L'un des problèmes était qu'il n'y avait pas d'aperçu de la conception en temps réel, ce qui rendait les tests de l'interface utilisateur plus longs.

Où cette technologie peut-elle être appliquée ?

En général, la pile et les méthodologies que nous avons utilisées pour le développement de l'application de conseil financier peuvent être utilisées dans d'autres secteurs. Par exemple, la combinaison d'ASP.NET MVC, SQL Server et Amazon S3 peut être utilisée pour développer des applications dans :

  • Soins de santé: Pour la tenue de dossiers de santé électroniques, le partage d'informations sur la santé et pour la télémédecine.
  • Assurance: Pour les polices et les réclamations et pour fournir des produits, services et conseils d'assurance.
  • Sportif: Dans la diffusion d'événements en direct, la gestion des données des athlètes et l'analyse sportive en temps réel.

Coût de la pile technologique

Le coût d'utilisation de ces technologies est déterminé par les facteurs suivants :

  • ASP.NET MVC, SQL Server et C# .NET Framework: Toutes ces technologies sont de Microsoft mais elles sont disponibles via une licence. Cependant, ils offrent un support d'entreprise de premier ordre et la possibilité d'évoluer, ce qui les rend intéressants pour les applications à grande échelle.
  • Interface utilisateur de Telerik Kendo: Kendo UI dispose de différentes licences disponibles en fonction de la manière dont l'application l'utilisera et convient aussi bien aux petites qu'aux grandes applications.
  • Amazone S3: Amazon S3 a une structure tarifaire élastique qui facture le stockage et le transfert de données là où le stockage et le transfert de données sont une préoccupation pour les entreprises.
  • Joueur JW: La licence avec JW Player est basée sur des fonctionnalités telles que l'hébergement vidéo, l'analyse et la monétisation, ce qui la rend très flexible pour les applications comportant de nombreux médias.

Conclusion

Comment nous avons créé une application de conseil financier transparente avec ASP.NET et les services cloud : conclusion.Comment nous avons créé une application de conseil financier transparente avec ASP.NET et les services cloud : conclusion.

Dans l’ensemble, le développement d’une application de conseil financier a été plutôt difficile, mais c’était finalement une bonne pratique. Pour répondre aux besoins de la société financière, nous avons construit une plate-forme réactive, évolutive et riche en fonctionnalités en tirant parti d'ASP.NET MVC, SQL Server, Amazon S3, JW Player et Telerik Kendo UI. Des solutions de stockage cloud pour le stockage de documents aux services d'intégration de streaming vidéo et à la mise en œuvre de notifications push, cette application est idéale pour les clients ayant besoin de solutions logicielles d'accès aux données de recherche et de gestion de portefeuille financier.

A lire également