
Teilen Sie:
Chris ist Developer Relations Tooling Manager und leitet das Team, das Ihre Lieblingstools entwickelt. Er programmiert seit mehr als 15 Jahren in verschiedenen Sprachen und für verschiedene Projekttypen, von der Kundenarbeit bis hin zu Big-Data-Großsystemen. Er lebt in Ohio, verbringt seine Zeit mit seiner Familie und spielt Video- und TTRPG-Spiele.
Verwendung von Vonage APIs mit MongoDB Atlas - Teil 1
Lesedauer: 6 Minuten
Die Entwicklung von Applications ist schwierig. Es gibt nicht nur die grundlegenden Anforderungen an die Anwendung selbst, sondern auch immer wieder allgemeine Probleme, die es zu lösen gilt, wie z. B. die Authentifizierung von Benutzern, die Verwaltung der Datenbank und die Frage, wo all dies gehostet wird. Im Jahr 2023 gibt es eine Vielzahl von Diensten, die bei der Lösung dieser Probleme helfen können, aber all dies muss in einer Anwendung zusammengeführt werden. Eine Lösung ist MongoDB Atlas, eine Produktreihe, die Entwicklern helfen soll, ihre Applications schnell zu erstellen und viele gängige Probleme zu lösen.
Was ist MongoDB Atlas?
MongoDB Atlas ist ein gehosteter Cloud-Datenbankdienst, den mehrere Cloud-Hosting-Anbieter nutzen können. Das bedeutet, dass Sie Ihre Datenbank in verschiedenen Regionen und über AWS, Azure und Google Cloud Platform für Multi-Cloud-Verfügbarkeit hosten können. Da die Datenbanken in der Cloud gehostet werden, ist eine Skalierung nach oben und unten bei Bedarf möglich. Für Entwickler bedeutet dies einen großen Zeitgewinn bei der Verwaltung weiterer Server, da MongoDB die gesamte Infrastruktur verwalten kann, während sich die Entwickler auf ihre Anwendungen konzentrieren können.
Mit MongoDB Atlas können Sie MongoDB-Cluster einrichten. Wenn Sie mit MongoDB nicht vertraut sind, handelt es sich um eine dokumentenbasierte NoSQL-Datenbank System. Im Gegensatz zu einem herkömmlichen relationalen Datenbankmanagementsystem (RDMS) speichert MongoDB Informationen als JSON-ähnliche Dokumente, die durchsucht werden können. Es verfügt über begrenzte relationale Fähigkeiten und konzentriert sich mehr auf leicht strukturierte Daten als auf tabellarische Zeilen-/Spaltenarchitekturen. Dokumente werden als "Sammlungen" gruppiert und ersetzen damit die Standardtabellenarchitektur. Dokumente in einer Sammlung können ein gemeinsames Schema haben, wie eine RDMS-Tabelle, können aber auch ihre Struktur ändern.
{
"_id": ObjectId("6413733ba623c618c2fab2d9"),
"name": "Hamburger",
"price": 995
}NoSQL-Datenbanken verwenden, wie der Name schon sagt, kein SQL, um nach Informationen zu suchen. MongoDB verwendet eine JSON-ähnliche Abfragesyntax für die Suche nach Dokumenten, die den Kriterien entsprechen. Anstatt zum Beispiel etwas zu verwenden wie SELECT * FROM users WHERE admin = truezu verwenden, würden Sie die folgende Syntax verwenden:
db.users.find({
admin: {
$eq: true
}
})Viele Entwickler bevorzugen die Verwendung einer NoSQL-Datenbank wegen der Freiheit des schemalosen Dokumententwurfs. Es gibt keine größeren Migrationen, da neue "Spalten" zu Dokumenten hinzugefügt werden können, indem sie zu neuen oder bestehenden Dokumenten hinzugefügt werden. Sie können ein Schema definieren, wenn Sie wollen, aber das hilft der Datenbank-Engine im Wesentlichen nur beim Filtern von Daten in größeren Datensätzen.
MongoDB Atlas bietet auch einige zusätzliche Funktionen, die Entwickler nutzen können, um ihre Anwendungen auf der robusten NoSQL-Datenbank von MongoDB aufzubauen. Dies ist Teil der "App Service"-Schicht, die Benutzerauthentifizierung, eine serverlose Funktionslaufzeit, ein zugehöriges API-Gateway und einen Router, automatischen GraphQL- und HTTPS-Datenzugriff sowie einen Gerätedatensynchronisierungsdienst namens MongoDB Realm umfasst.
Das bedeutet, dass ein Entwickler sofort mit der Entwicklung seiner Anwendung beginnen kann, ohne einen Haufen unterschiedlicher Dienste zusammenstellen zu müssen, und dass er sich auf die Geschäftsprobleme konzentrieren kann, die die Anwendung löst, und sich nicht mit dem sprichwörtlichen Geschwätz über die Benutzerauthentifizierung oder die Bereitstellung von Code herumschlagen muss. Atlas und seine App Services können einem Entwickler einen Großteil dieser schweren Arbeit abnehmen.
Was planen wir zu tun?
In der nächsten Artikelserie werden wir den Aufbau einer Anwendung erläutern, die MongoDB Atlas und eine Reihe von Vonage Kommunikations-APIs nutzt. Die Demo-Anwendung wird die Form einer einfachen Restaurant-Website und eines zugehörigen Backends haben. Wir werden zeigen:
So integrieren Sie Vonage Verify in eine Benutzeranmeldung
So verwenden Sie Vonage Messages zum Senden einer Auftragsbestätigung
So nutzen Sie Vonage Meetings zur Problemlösung
So verwenden Sie In-App Messaging, um Benachrichtigungen an "Admin"-Benutzer weiterzuleiten
Wir unterstützen auch Entwickler bei der Einrichtung:
Ein MongoDB-Atlas-Cluster und der zugehörige App-Service
Eine Front-End-Anwendung, die über Realm mit MongoDB Atlas kommuniziert
Benutzerauthentifizierung mit MongoDB-Benutzern
Wir werden im Laufe der Zeit aufschlüsseln, wie das alles funktioniert, aber werfen Sie doch schon einmal einen Blick auf den Quellcode der Anwendung unter den Quellcode auf GitHub.
Voraussetzungen
Realm CLI - Eine Befehlszeilenanwendung, die die Verwaltung von App Services in MongoDB Realm erleichtert
Node.js 16+ - Node.js ist eine quelloffene, plattformübergreifende JavaScript-Laufzeitumgebung.
Eine Vonage-Anwendung einrichten
Unsere Messages-, Verify- und In-App Messaging-APIs werden alle von einer Vonage-Anwendung unterstützt, einem Satz von Konfigurationsdaten, die gruppiert werden können. Sobald Sie sich in Ihrem Entwickler-Account angemeldet haben, gehen Sie auf die Seite Applications und erstellen Sie eine neue Applikation. Geben Sie Ihrer Anwendung einen Namen wie MongoDB-Demound klicken Sie dann auf Öffentlichen und privaten Schlüssel generieren. Dadurch werden die Authentifizierungsschlüssel erstellt, die wir in den SDKs verwenden werden.
Name and Secret Keys
Scrollen Sie nun nach unten, und wir können ein paar verschiedene Funktionen aktivieren. Wir brauchen Nachrichten, RTC (In-App Voice & Messaging), und die Meetings API. Schalten Sie jede dieser Funktionen ein. Nachrichten und RTC benötigt einige Rückruf-URLs, die wir im Moment nicht verwenden werden, also geben Sie https://example.com für diese Handvoll URLs ein, die benötigt werden. Besprechungen kann leer bleiben. Wenn das alles erledigt ist, klicken Sie auf "Neue Anwendung generieren".
Messages API Capability
RTC API Capability
Meetings API Capability
Da wir die Messages APIverwenden, müssen wir eine Telefonnummer mit unserer Anwendung verknüpfen. Diese wird später für ausgehende SMS verwendet. In den Developer Accounts sollte bereits eine Nummer vorhanden sein. Klicken Sie einfach auf die Schaltfläche "Link", um sie mit dieser Anwendung zu verknüpfen.
MongoDB Atlas einrichten
Nachdem wir nun die Vonage-Seite haben, können wir die Datenbank in MongoDB Atlas einrichten. Wenn Sie sich zum ersten Mal bei Ihrem Account anmelden, werden Sie aufgefordert, Ihre Datenbank einzurichten. Da es sich um einen gehosteten Plan handelt, müssen wir einige Hosting-Informationen einrichten. Glücklicherweise hat das MongoDB-Atlas-System eine sehr großzügige kostenlose Ebene. Wählen Sie einfach die M0 um unsere Datenbank zu hosten. Dies ist leistungsfähig genug, um für unsere Demo zu experimentieren. Das Einzige, was Sie sonst noch tun müssen, ist einen Name für den Datenbank-Cluster hinzufügen. Für diese Demo habe ich ihn einfach benannt VonageDemo. Wenn Sie möchten, können Sie den Hosting-Anbieter oder die Region ändern, aber im Moment können Sie die Standardeinstellungen "AWS" und "N. Virgina (us-east-1)" belassen. Klicken Sie auf . Erstellen um fortzufahren.
Database Cluster Settings
Wir müssen eine Authentifizierung einrichten, da wir über das Internet auf den MongoDB-Cluster zugreifen werden. Wir können verwenden Benutzername und Passwort für unsere Demo verwenden, da es am einfachsten ist, es zum Laufen zu bringen. Es werden ein Benutzername und ein Passwort für Sie vorausgefüllt. Sie können diese Daten jederzeit ändern. Notieren Sie sich nur das Passwort für später; wir benötigen es für die Authentifizierung bei MongoDB. Wenn Sie fertig sind, klicken Sie auf Benutzer erstellen.
MongoDB Cluster Authentication
Aus Sicherheitsgründen schränkt MongoDB Atlas ein, wer mit Ihrem Cluster kommunizieren kann. Für unsere Demo können Sie wählen Meine lokale Umgebung. Die Serverkomponente der Demo wird sich direkt mit dem Cluster verbinden, daher müssen wir ihr den Zugriff auf den Cluster erlauben. Standardmäßig wird Ihre öffentliche IP-Adresse in die Liste aufgenommen. Für den lokalen Betrieb der Demo ist das in Ordnung, aber wenn Sie die Demo auf einem öffentlichen Server einsetzen wollen, müssen Sie die IP-Adresse dieses Servers hinzufügen. Wenn Sie den Server auf einem anderen Rechner hosten, erkundigen Sie sich bitte bei Ihrem Hosting-Anbieter nach der öffentlichen IP-Adresse. Wenn Sie die Demo bei einem Cloud-Anbieter wie AWS oder Google Cloud Platform hosten, können Sie die Option Cloud-Umgebung und geben Sie die entsprechenden Details an. Klicken Sie auf . Fertigstellen und Schließen um den Vorgang zu beenden.
MongoDB Security Settings
Ihr MongoDB-Atlas-Cluster ist nun vollständig eingerichtet! Sie können den Cluster über den Browser verwalten und auch die gespeicherten Dokumente anzeigen. Das Dashboard enthält auch Anweisungen für die Verbindung über das MongoDB VSCode-Plugin zu verbinden, um direkt in Ihrer IDE auf die Datenbank zuzugreifen.
MongoDB Dashboard
Nächste Schritte
Im nächsten Teil werden wir einige Beispieldaten zu unserem MongoDB-Cluster hinzufügen und die Demo-Anwendung zur Ausführung einrichten. In der Zwischenzeit können Sie sich im MongoDB Atlas Dashboard und im Vonage Dashboard umsehen, um die verschiedenen Dienste beider Unternehmen kennenzulernen.
Teilen Sie:
Chris ist Developer Relations Tooling Manager und leitet das Team, das Ihre Lieblingstools entwickelt. Er programmiert seit mehr als 15 Jahren in verschiedenen Sprachen und für verschiedene Projekttypen, von der Kundenarbeit bis hin zu Big-Data-Großsystemen. Er lebt in Ohio, verbringt seine Zeit mit seiner Familie und spielt Video- und TTRPG-Spiele.