
Compartilhar:
Chris é o gerente de ferramentas de relações com desenvolvedores e lidera a equipe responsável pelo desenvolvimento das suas ferramentas favoritas. Ele programa há mais de 15 anos, utilizando diversas linguagens e trabalhando em vários tipos de projetos, desde trabalhos para clientes até big data e sistemas de grande escala. Ele mora em Ohio, onde passa o tempo com a família e jogando videogames e RPGs de mesa.
Como usar as APIs da Vonage com o MongoDB Atlas – Parte 1
Tempo de leitura: 6 minutos
Desenvolver applications é difícil. Não só existem os requisitos básicos do próprio aplicativo, como também há sempre problemas comuns a serem resolvidos, como a forma de autenticar usuários, a gestão do banco de dados e onde tudo isso fica hospedado. Em 2023, estamos quase mimados com a quantidade de serviços que podem ajudar a resolver esses problemas, mas tudo isso precisa ser integrado dentro de um aplicativo. Uma solução que surgiu é o MongoDB Atlas, um conjunto de produtos projetado para ajudar os desenvolvedores a criar seus aplicativos rapidamente e lidar com muitos problemas comuns.
O que é o MongoDB Atlas?
O MongoDB Atlas é um serviço de banco de dados hospedado na nuvem que pode ser utilizado por diversos provedores de hospedagem em nuvem. Isso significa que você pode hospedar seu banco de dados em várias regiões e nas plataformas AWS, Azure e Google Cloud Platform, garantindo disponibilidade em múltiplas nuvens. Como os bancos de dados são hospedados na nuvem, o dimensionamento para cima e para baixo pode ser feito sob demanda. Para os desenvolvedores, isso libera muito tempo que seria gasto com tarefas administrativas relacionadas ao gerenciamento de mais servidores, permitindo que o MongoDB cuide de toda a infraestrutura enquanto eles se concentram em suas Applications.
O MongoDB Atlas permite que você configure clusters do MongoDB. Se você não está familiarizado com o MongoDB, trata-se de um banco de dados baseado em documentos NoSQL . Ao contrário de um Sistema de Gerenciamento de Banco de Dados Relacional (SGBDR) tradicional, o MongoDB armazena informações como documentos semelhantes a JSON que podem ser pesquisados. Ele possui recursos relacionais limitados e se concentra mais em dados com estrutura leve do que em arquiteturas tabulares de linhas e colunas. Os documentos são agrupados em “coleções”, substituindo a arquitetura padrão de tabelas. Os documentos em uma coleção podem compartilhar um esquema comum, como uma tabela de um RDMS, mas também podem alterar sua estrutura.
{
"_id": ObjectId("6413733ba623c618c2fab2d9"),
"name": "Hamburger",
"price": 995
}Os bancos de dados NoSQL, como o próprio nome sugere, não utilizam SQL para consultar informações. O MongoDB utiliza uma sintaxe de consulta semelhante à do JSON para procurar documentos que atendam aos critérios. Por exemplo, em vez de usar algo como SELECT * FROM users WHERE admin = true, você usaria a seguinte sintaxe:
db.users.find({
admin: {
$eq: true
}
})Muitos desenvolvedores preferem usar um banco de dados NoSQL pela liberdade que o design de documentos sem esquema oferece. Não há grandes migrações, já que novas “colunas” podem ser adicionadas aos documentos, seja em documentos novos ou já existentes. É possível definir um esquema, se desejar, mas isso serve principalmente para ajudar o mecanismo do banco de dados a filtrar dados em conjuntos de dados maiores.
O MongoDB Atlas também oferece alguns recursos adicionais que os desenvolvedores podem usar para criar suas Applications com base no robusto banco de dados NoSQL que o MongoDB oferece. Isso faz parte da camada “App Service”, que inclui autenticação de usuários, um ambiente de execução de funções sem servidor, um gateway e roteador de API associados, acesso automático a dados via GraphQL e HTTPS, além de um serviço de sincronização de dados de dispositivos chamado MongoDB Realm.
Isso significa que um desenvolvedor pode começar a desenvolver seu aplicativo imediatamente, sem precisar juntar vários serviços distintos, e pode se concentrar nos problemas de negócios que o aplicativo resolve, em vez de perder tempo com detalhes técnicos sobre como fazer a autenticação do usuário ou como implantar o código. O Atlas e seus App Services podem assumir grande parte desse trabalho pesado para o desenvolvedor.
O que pretendemos fazer?
Na próxima série de artigos, vamos explicar passo a passo como criar uma aplicação que utilize o MongoDB Atlas e um conjunto de APIs de comunicação da Vonage. A aplicação de demonstração terá a forma de um site simples de restaurante e um backend associado. Vamos mostrar:
Como integrar o Vonage Verify ao login do usuário
Como usar o Vonage Messages para enviar uma confirmação de pedido
Como usar o Vonage Meetings para a resolução de problemas
Como usar a In-App Messaging para enviar notificações aos usuários “administradores”
Também ajudaremos os desenvolvedores a configurar:
Um cluster do MongoDB Atlas e o App Service associado
Como fazer com que um aplicativo front-end se comunique com o MongoDB Atlas por meio do Realm
Autenticação de usuários com o MongoDB Users
Embora tenhamos a intenção de explicar detalhadamente como tudo isso funciona ao longo do tempo, fique à vontade para dar uma olhada rápida no código-fonte do aplicativo em código-fonte no GitHub.
Pré-requisitos
CLI do Realm - Um aplicativo de linha de comando que facilita o gerenciamento dos App Services no MongoDB Realm
Node.js 16+ - O Node.js é um ambiente de execução de JavaScript de código aberto e multiplataforma.
Configurar uma aplicação da Vonage
Nossas APIs de Mensagens, Verify API e In-App Messaging são todas baseadas em um Aplicativo da Vonage, um conjunto de dados de configuração que pode ser agrupado. Depois de fazer login na sua conta de desenvolvedor, acesse a página Applications e crie um novo aplicativo. Dê ao seu aplicativo um nome como “Demonstração do MongoDB”e, em seguida, clique em “Gerar chave pública e privada”. Isso criará as chaves de autenticação que usaremos nos SDKs.
Name and Secret Keys
Agora, role a página para baixo e vamos ativar alguns recursos diferentes. Vamos precisar de Mensagens, RTC (In-App Voice e Mensagens)e a Meetings API. Ative cada um desses recursos. Mensagens e RTC precisam de algumas URLs de retorno de chamada que não utilizaremos por enquanto; portanto, insira https://example.com para essas poucas URLs necessárias. Reuniões pode ficar em branco. Quando tudo estiver pronto, clique em “Gerar novo aplicativo”.
Messages API Capability
RTC API Capability
Meetings API Capability
Como estamos usando a Messages API, precisaremos vincular um número de telefone ao nosso aplicativo. Ele será usado para o envio de SMS posteriormente. As contas de desenvolvedor já devem ter um número, quando disponível; basta clicar no botão “Vincular” para associá-lo a este aplicativo.
Configurar o MongoDB Atlas
Agora que já temos a parte do Vonage, vamos configurar o banco de dados no MongoDB Atlas. Ao fazer login pela primeira vez na sua conta, o sistema solicitará que você implante seu banco de dados. Precisamos definir algumas informações de hospedagem, já que se trata de um plano hospedado. Felizmente, o sistema do MongoDB Atlas oferece um plano gratuito bastante generoso. Basta selecionar o M0 para hospedar nosso banco de dados. Isso é suficiente para fazermos alguns testes para nossa demonstração. A única outra coisa que você precisará fazer é adicionar um Nome para o cluster do banco de dados. Para esta demonstração, acabei de nomeá-lo VonageDemo. Se quiser, você pode alterar o provedor de hospedagem ou a Região, mas, por enquanto, pode deixar as configurações padrão: “AWS” e “N. Virgina (us-east-1)”. Clique em Criar para continuar.
Database Cluster Settings
Precisaremos configurar a autenticação, pois acessaremos o cluster do MongoDB pela internet. Podemos usar Nome de usuário e Senha para nossa demonstração, pois é a forma mais fácil de começar. O sistema preencherá automaticamente um nome de usuário e uma senha para você. Fique à vontade para alterá-los. Apenas anote a senha para mais tarde; precisaremos dela para nos autenticar no MongoDB. Quando terminar, clique em “Criar usuário”.
MongoDB Cluster Authentication
Por motivos de segurança, o MongoDB Atlas restringe quem pode se comunicar com o seu cluster. Para nossa demonstração, você pode selecionar Meu Ambiente Local. O componente de servidor da demonstração se conectará diretamente ao cluster, portanto, precisaremos permitir que ele acesse o cluster. Por padrão, ele adiciona seu endereço IP público à lista. Isso é suficiente para executar a demonstração localmente, mas se você for implantá-la em um servidor público, precisará adicionar o endereço IP desse servidor. Se você estiver hospedando o servidor em outra máquina, verifique com seu provedor de hospedagem qual é o seu endereço IP público. Se você hospedar a demonstração em um provedor de nuvem como a AWS ou o Google Cloud Platform, você pode selecionar Ambiente em nuvem e forneça os detalhes apropriados. Clique em Concluir e Fechar para concluir.
MongoDB Security Settings
Seu cluster do MongoDB Atlas já está totalmente configurado! Você pode administrar o cluster pelo navegador, inclusive visualizando os documentos armazenados. O painel de controle também traz instruções para se conectar por meio do plug-in do MongoDB para o VSCode para acessar o banco de dados diretamente no seu IDE.
MongoDB Dashboard
Próximos passos
Na próxima parte, adicionaremos alguns dados de exemplo ao nosso cluster do MongoDB e explicaremos passo a passo como configurar o aplicativo de demonstração para que ele seja executado. Enquanto isso, fique à vontade para explorar o painel do MongoDB Atlas, bem como o painel da Vonage, para conhecer todos os diferentes serviços que ambas as empresas oferecem.
Compartilhar:
Chris é o gerente de ferramentas de relações com desenvolvedores e lidera a equipe responsável pelo desenvolvimento das suas ferramentas favoritas. Ele programa há mais de 15 anos, utilizando diversas linguagens e trabalhando em vários tipos de projetos, desde trabalhos para clientes até big data e sistemas de grande escala. Ele mora em Ohio, onde passa o tempo com a família e jogando videogames e RPGs de mesa.