Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/ /
Centro de Arquitetura Atlas
/ / /

Armazenar dados do Open Finance

O MongoDB impulsiona o open finance com a integração de dados flexíveis, segurança integrada e serviços financeiros dimensionáveis.

  • Casos de uso: Análises orientadas por aplicativos

  • Setores: Serviços financeiros

  • Produtos e ferramentas: Pipeline de agregação, MongoDB Atlas

O open finance está transformando o setor financeiro ao possibilitar o compartilhamento de dados entre bancos, empresas de fintech e provedores terceirizados. No entanto, integrar vários dados financeiros e garantir segurança, conformidade e escalabilidade ao mesmo tempo é um grande desafio.

O MongoDB oferece a base ideal para open finance com seu document model flexível, suporte nativo a JSON e um poderoso framework de agregação. Esses recursos permitem que as instituições unifiquem dados de várias fontes e garantam um gerenciamento de dados seguro e em conformidade.

Com o MongoDB, as instituições financeiras podem agilizar a inovação, oferecer insights financeiros personalizados e se adaptar às mudanças nas regulamentações sem a complexidade dos bancos de dados relacionais.

Demonstração do Open Finance em formato gif

Figura 1. Aplicativo de open finance com o MongoDB

Este exemplo foca em um banco fictício de demonstração, o Leafy Bank, que permite aos usuários conectar contas bancárias externas com segurança.

Primeiro, o usuário inicia uma solicitação para conectar suas contas bancárias externas. Isso requer o consentimento explícito do usuário, garantindo a segurança e a conformidade com regulamentos como o PSD2. Para autenticar, o Leafy Bank emula o OAuth 2.0, gerando tokens Bearer para comunicação segura entre instituições.

Uma vez autorizado, o Leafy Bank se comunica com bancos externos por meio de APIs. Esses bancos expõem dados financeiros, como contas, transações e saldos, por meio de seus microsserviços. A resposta é retornada no formato JSON, garantindo compatibilidade e o compartilhamento perfeito de dados.

Os dados financeiros são então inseridos no MongoDB Atlas, onde são armazenados de forma centralizada. O document model flexível do MongoDB permite lidar com diversas estruturas de dados de diferentes bancos. A partir daqui, o Leafy Bank pode utilizar pipelines de agregação para analisar e enriquecer os dados, oferecendo aos usuários uma visão financeira holística e permitindo que o banco forneça informações financeiras personalizadas.

Diagrama de arquitetura do Open Finance

Figura 2. Diagrama de arquitetura Open Finance

Na solução de demonstração, o modelo de dados tem um design simples que emula a integração de dados financeiros do mundo real. Ele usa o document model flexível do MongoDB para lidar com as estruturas de dados das diferentes entidades financeiras.

collection
Descrição
Documento de amostra

tokens

Armazena tokens Bearer usados para autenticar e autorizar solicitações de API entre o Leafy Bank e bancos externos.

{
"_id": { "$oid": "unique_id" },
"UserName": "string",
"BearerToken": "string",
"TokenDates": {
"CreationDate": { "$date": "ISODate" },
"LastUseDate": { "$date": "ISODate" }
},
}

external_accounts

Armazena dados sobre contas bancárias externas vinculadas por usuários.

{
"_id": { "$oid": "unique_id" },
"AccountId": "string",
"AccountBank": "string",
"AccountStatus": "string",
"AccountType": "string",
"AccountBalance": "number",
"AccountCurrency": "string",
"AccountDate": {
"OpeningDate": { "$date": "ISODate" }
},
"AccountUser": {
"UserName": "string",
"UserId": { "$oid": "unique_id" }
},
"GreenAccountNarrative": "string"
}

external_products

Armazena informações sobre produtos financeiros (como empréstimos e hipotecas) associados a usuários.

{
"_id": { "$oid": "unique_id" },
"ProductId": "string",
"ProductBank": "string",
"ProductStatus": "string",
"ProductType": "string",
"ProductAmount": "number",
"ProductCurrency": "string",
"ProductInterestRate": "number",
"ProductDate": {
"OpeningDate": { "$date": "ISODate" }
},
"ProductCustomer": {
"UserName": "string",
"UserId": { "$oid": "unique_id" }
},
"GreenProductNarrative": "string",
"RepaymentPeriod": "number",
"LoanCollateral": "string"
}

Em um cenário do mundo real, essas coleções envolveriam mecanismos de segurança mais complexos e informações detalhadas. Além disso, cada entidade financeira teria suas próprias definições de modelo de dados, que poderiam variar significativamente. Você precisaria considerar os seguintes fatores:

Mapeamento e relações de dados
Implementar uma camada robusta de mapeamento e relacionamento de dados para converter modelos de dados de diferentes entidades financeiras em um formato unificado.
Segurança e conformidade
Garantia da segurança dos dados e a conformidade com regulamentos como GDPR, PSD2, e outros regulamentos financeiros locais. Isso inclui criptografia, controles de acesso e trilhas de auditoria.
Escalabilidade e desempenho
Projetar o modelo de dados para lidar com grandes volumes de dados de forma eficiente, levando em consideração a indexação, a fragmentação e a otimização do desempenho.
Integração e interoperabilidade
Desenvolvimento de APIs e microsserviços que podem ser integrados a diversos sistemas externos, assegurando interoperabilidade e compartilhamento de dados em tempo real.

Ao utilizar o document model flexível do MongoDB, a solução de demonstração ilustra como as instituições financeiras podem unificar e gerenciar fontes de dados diversas. No entanto, uma implementação em nível de produção exigiria lidar com as complexidades e nuances da integração de dados financeiros do mundo real.

Para obter instruções detalhadas de configuração, siga as etapas descritas no repositório público do GitHub em Soluções para indústria. Este repositório hospeda o backend do serviço de demonstração de sistema financeiro aberto do Leafy Bank. Ele demonstra a integração com bancos de terceiros e exibe a troca segura de dados. O MongoDB serve como o armazenamento central de dados. O código pode incluir componentes simplificados ou emulados para fins de demonstração.

Para construir a solução passo a passo, siga estas instruções:

1

Crie um novo banco de dados no MongoDB Atlas chamado open_finance. Em seguida, adicione três coleções:

  • tokens

  • external_accounts

  • external_products

2
3

Crie um novo usuário com acesso de readWrite ao banco de dados open_finance para gerenciar os dados com segurança.

4

Adicione as credenciais de banco de dados e as origens da API necessárias a um arquivo .env.

5

Configure um ambiente virtual com o Poetry, instale as dependências e inicie o backend com o Uvicorn. Certifique-se de que o serviço seja executado na porta correta para comunicação da API.

O frontend para esta solução está disponível no repositório da IU do Leafy Bank. Os diferentes componentes do Leafy Bank são projetados como microsserviços. O repositório da IU serve como o hub principal e oferece uma visão geral de todos os serviços integrados.

  • Armazenamento de dados central: o MongoDB atua como um armazenamento de dados central flexível e eficiente que oferece suporte a ecossistemas de open finance.

  • Gerenciamento de dados seguro: o MongoDB oferece gerenciamento de dados seguro com criptografia integrada, controles de acesso detalhados e alta disponibilidade, que ajudam as organizações a protegerem informações confidenciais e cumprirem os requisitos regulatórios em constante evolução.

  • Luis Pazmino Diaz, MongoDB

  • Ainhoa Mugica, MongoDB

  • Julian Boronat, MongoDB

  • Andrea Alaman Calderon, MongoDB

  • Acelerador da solução para fraudes de cartão em tempo real

  • Solução para acelerar a modernização de pagamentos

  • MongoDB e Hasura para Serviços Modernos de Fintech

Voltar

Serviços modernos de Fintech

Nesta página