https://d226lax1qjow5r.cloudfront.net/blog/blogposts/using-vonage-with-mongodb-atlas-part-1/mongodb_vonage_p1.png

Utiliser les API de Vonage avec MongoDB Atlas - Partie 1

Publié le April 25, 2023

Temps de lecture : 6 minutes

Développer des applications n'est pas chose aisée. Non seulement il y a les exigences de base pour l'application elle-même, mais il y a toujours des problèmes communs à résoudre, comme la façon d'authentifier les utilisateurs, la gestion de la base de données et l'endroit où tout cela est hébergé. En 2023, nous sommes presque gâtés par le nombre de services qui peuvent aider à résoudre ces problèmes, mais tout cela doit être rassemblé au sein d'une application. Une solution qui a vu le jour est MongoDB Atlas, une suite de produits qui sont conçus pour aider les développeurs à créer leurs applications rapidement et à gérer de nombreux problèmes courants.

Qu'est-ce que MongoDB Atlas ?

MongoDB Atlas est un service de base de données en nuage hébergé que plusieurs fournisseurs d'hébergement en nuage peuvent utiliser. Cela signifie que vous pouvez héberger votre base de données dans différentes régions et sur AWS, Azure et Google Cloud Platform pour une disponibilité multi-cloud. Comme les bases de données sont hébergées dans le nuage, la mise à l'échelle peut se faire à la demande. Pour les développeurs, cela libère beaucoup de temps administratif pour gérer plus de serveurs en permettant à MongoDB de gérer toute l'infrastructure pendant que les développeurs peuvent se concentrer sur leurs applications.

MongoDB Atlas vous permet de mettre en place des clusters MongoDB. Si vous ne connaissez pas MongoDB, il s'agit d'une base de données base de données base de données NoSQL basée sur des documents. Contrairement à un système de gestion de base de données relationnelle (SGBD) traditionnel, MongoDB stocke les informations sous forme de documents de type JSON qui peuvent faire l'objet d'une recherche. Ses capacités relationnelles sont limitées et il se concentre davantage sur les données légèrement structurées que sur les architectures tabulaires ligne/colonne. Les documents sont regroupés en "collections", ce qui remplace l'architecture standard des tableaux. Les documents d'une collection peuvent partager un schéma commun, comme une table SGRD, mais peuvent également modifier leur structure.

{
 "_id": ObjectId("6413733ba623c618c2fab2d9"),
 "name": "Hamburger",
 "price": 995
}

Les bases de données NoSQL, comme leur nom l'indique, n'utilisent pas SQL pour rechercher des informations. MongoDB utilise une syntaxe d'interrogation de type JSON pour rechercher les documents qui correspondent aux critères. Par exemple, au lieu d'utiliser quelque chose comme SELECT * FROM users WHERE admin = truevous utiliserez la syntaxe suivante :

db.users.find({
 admin: {
 $eq: true
 }
})

De nombreux développeurs préfèrent utiliser une base de données NoSQL pour la liberté qu'offre la conception de documents sans schéma. Il n'y a pas de migrations majeures car de nouvelles "colonnes" peuvent être ajoutées aux documents en les ajoutant à des documents nouveaux ou existants. Vous pouvez définir un schéma si vous le souhaitez, mais il ne fait qu'aider le moteur de la base de données à filtrer les données dans des ensembles de données plus importants.

MongoDB Atlas apporte également quelques fonctionnalités supplémentaires que les développeurs peuvent utiliser pour construire leurs applications au-dessus de la base de données NoSQL robuste que MongoDB apporte. Cela fait partie de leur couche "App Service" qui ajoute l'authentification de l'utilisateur, un runtime de fonction sans serveur, une passerelle API et un routeur associés, un accès automatique aux données GraphQL et HTTPS, et un service de synchronisation des données de l'appareil appelé MongoDB Realm.

Cela signifie qu'un développeur peut commencer à développer son application immédiatement sans avoir à assembler un tas de services disparates et qu'il peut se concentrer sur les problèmes commerciaux que l'application résout, sans se préoccuper de la manière dont l'authentification des utilisateurs ou le déploiement du code sont effectués. Atlas et ses App Services peuvent se charger d'une grande partie de ces tâches pour un développeur.

Que prévoyons-nous de faire ?

Dans la prochaine série d'articles, nous allons construire une application qui utilise MongoDB Atlas et une suite d'API de communication Vonage. L'application de démonstration prendra la forme d'un simple site web de restaurant et d'un backend associé. Nous montrerons :

  • Comment intégrer Verify de Vonage avec une connexion d'utilisateur

  • Comment utiliser Vonage Messages pour envoyer une confirmation de commande

  • Comment utiliser Vonage Meetings pour la résolution de problèmes

  • Comment utiliser In-App Messaging pour renvoyer les notifications aux utilisateurs "admin".

Nous aiderons également les développeurs à s'installer :

  • Un cluster MongoDB Atlas et un App Service associé

  • Faire en sorte qu'une application frontale communique avec MongoDB Atlas via Realm

  • Authentification des utilisateurs avec MongoDB Users

Nous détaillerons le fonctionnement de tout cela au fil du temps, mais n'hésitez pas à jeter un coup d'œil rapide au code source de l'application à l'adresse suivante le code source sur GitHub.

Conditions préalables

Créer une application Vonage

Nos API Messages, Verify et In-App Messaging sont toutes soutenues par une application Vonage, un ensemble de données de configuration qui peuvent être regroupées. Une fois que vous vous êtes connecté à votre Account de développeur, allez à la page Applications et créer une nouvelle application. Donnez à votre application un nom tel que MongoDB Demopuis cliquez sur Générer les clés publiques et privées. Cela créera les clés d'authentification que nous utiliserons dans les SDK.

Creating a Vonage applicationName and Secret Keys

Maintenant, faites défiler vers le bas, et nous pouvons tourner quelques capacités différentes. Nous aurons besoin de Messages, RTC (In-App Voice & Messaging)et de l Meetings API. Activez chacune de ces fonctionnalités. Messages et RTC ont besoin de quelques URL de rappel que nous n'utiliserons pas pour l'instant. https://example.com pour ces quelques URLs qui sont nécessaires. Réunions peut rester vide. Une fois que tout cela est fait, cliquez sur "Générer une nouvelle demande".

Messages API CapabilityMessages API Capability

RTC API CapabilityRTC API Capability

Meetings API CapabilityMeetings API Capability

Puisque nous utilisons l'API Messages APInous devons associer un numéro de téléphone à notre application. Ce numéro sera utilisé ultérieurement pour les SMS sortants. Les Developer Accounts devraient déjà disposer d'un numéro de téléphone, il suffit donc de cliquer sur le bouton "Link" pour l'associer à cette application.

Configurer MongoDB Atlas

Maintenant que nous avons le côté Vonage, configurons la base de données dans MongoDB Atlas. Lorsque vous vous connectez pour la première fois à votre Account, il vous invitera à déployer votre base de données. Nous devons configurer certaines informations d'hébergement car il s'agit d'un plan hébergé. Heureusement, le système MongoDB Atlas dispose d'un niveau gratuit très généreux. Il suffit de sélectionner l'option M0 pour héberger notre base de données. Celle-ci est suffisamment puissante pour que nous puissions nous en servir pour notre démo. La seule autre chose que vous devrez faire est d'ajouter un nom pour le cluster de base de données. Pour cette démo, je l'ai simplement nommé VonageDemo. Si vous le souhaitez, vous pouvez modifier le fournisseur d'hébergement ou la région, mais pour l'instant, vous pouvez les laisser par défaut à "AWS" et "N. Virgina (us-east-1)". Cliquez sur Créer pour continuer.

Database Cluster SettingsDatabase Cluster Settings

Nous devons mettre en place une authentification car nous allons accéder au cluster MongoDB via Internet. Nous pouvons utiliser Nom d'utilisateur et Mot de passe pour notre démo, car c'est la méthode la plus facile à mettre en œuvre. Un nom d'utilisateur et un mot de passe seront pré-remplis pour vous. N'hésitez pas à les modifier. Notez le mot de passe pour plus tard ; nous en aurons besoin pour nous authentifier auprès de MongoDB. Lorsque vous avez terminé, cliquez sur Créer un utilisateur.

MongoDB Cluster AuthenticationMongoDB Cluster Authentication

Pour des raisons de sécurité, MongoDB Atlas limite les personnes qui peuvent communiquer avec votre cluster. Pour notre démonstration, vous pouvez sélectionner Mon environnement local. Le composant serveur de la démo se connectera directement au cluster, nous devrons donc lui permettre d'accéder au cluster. Par défaut, votre adresse IP publique est ajoutée à la liste. Cela convient pour exécuter la démo localement, mais si vous comptez déployer cette démo sur un serveur public, vous devrez ajouter l'adresse IP de ce serveur. Si vous hébergez le serveur sur une autre machine, vérifiez auprès de votre fournisseur d'hébergement pour connaître votre adresse IP publique. Si vous hébergez la démo chez un fournisseur de cloud comme AWS ou Google Cloud Platform, vous pouvez sélectionner Environnement en nuage et fournir les détails appropriés. Cliquez sur Terminer et fermer pour terminer.

MongoDB Security SettingsMongoDB Security Settings

Votre cluster MongoDB Atlas est maintenant prêt ! Vous pouvez administrer le cluster via le navigateur, y compris visualiser les documents stockés. Le tableau de bord contient également des instructions pour se connecter via le plugin MongoDB VSCode plugin pour accéder à la base de données directement dans votre IDE.

MongoDB DashboardMongoDB Dashboard

Prochaines étapes

Dans la prochaine partie, nous ajouterons quelques échantillons de données à notre cluster MongoDB et nous configurerons l'exécution de l'application de démonstration. En attendant, n'hésitez pas à consulter le tableau de bord de MongoDB Atlas ainsi que celui de Vonage pour découvrir les différents services offerts par les deux sociétés.

Partager:

https://a.storyblok.com/f/270183/384x384/3bc39cbd62/christankersley.png
Chris TankersleyRelations avec les développeurs Gestionnaire d'outils

Chris est le Developer Relations Tooling Manager et dirige l'équipe qui construit vos outils préférés. Il programme depuis plus de 15 ans dans différents langages et pour différents types de projets, depuis le travail avec les clients jusqu'aux systèmes à grande échelle et aux données volumineuses. Il vit dans l'Ohio, où il passe son temps avec sa famille et joue à des jeux vidéo et TTRPG.