Docs Menu
Docs Home
/

Almacén de datos financieros abiertos

MongoDB potencia las finanzas abiertas con integración de datos flexible, seguridad incorporada y servicios financieros escalables.

  • Casos de uso: Análisis impulsado por aplicaciones

  • Industrias: Servicios financieros

  • Productos y herramientas: Canalización de agregación, MongoDB Atlas

Las finanzas abiertas están transformando el sector financiero, permitiendo un intercambio fluido de datos entre bancos, empresas fintech y proveedores externos. Sin embargo, la integración de diversos datos financieros, garantizando al mismo tiempo la seguridad, el cumplimiento normativo y la escalabilidad, sigue siendo un gran desafío. MongoDB sienta las bases para las finanzas abiertas mediante:

  • Modelo de documento flexible

  • Compatibilidad nativa con JSON

  • Potente marco de agregación

Estas características permiten a las instituciones unificar datos de múltiples fuentes y garantizar una gestión de datos segura y compatible sin la complejidad de las bases de datos relacionales tradicionales.

Demostración de Open Finance en formato GIF

Figura 1. Aplicación financiera abierta con MongoDB

Esta solución demuestra una aplicación bancaria que permite a los usuarios conectar de forma segura cuentas bancarias externas.

  1. El usuario inicia solicitudes para conectar sus cuentas bancarias externas. Esta operación requiere el consentimiento explícito del usuario, lo que garantiza la seguridad y el cumplimiento de normativas como la PSD2. Para la autenticación, la aplicación emula OAuth 2.0 y genera tokens para permitir la comunicación segura entre instituciones.

  2. Cuando está autorizado, la aplicación utiliza las API para comunicarse con bancos externos. Estos bancos exponen datos financieros, tales como cuentas, transacciones y saldos, a través de sus microservicios. Las respuestas están en formato JSON, lo que garantiza la compatibilidad y el intercambio de datos sin interrupciones.

  3. La aplicación luego envía los datos financieros a MongoDB Atlas. Con el modelo de documento, MongoDB permite gestionar diversas estructuras de datos de diferentes bancos. La aplicación puede usar canales de agregación para analizar y enriquecer los datos, ofreciendo a los usuarios una visión financiera integral y permitiendo al banco ofrecer información financiera personalizada.

Diagrama de la arquitectura de Open Finance

Figura 2. Diagrama de arquitectura financiera abierta

En esta solución, el modelo de datos emula la integración de datos financieros del mundo real. Este enfoque utiliza la flexibilidad del modelo orientado a documentos para manejar diversas estructuras de datos de diferentes entidades financieras.

Colección
Descripción

tokens

Almacena tokens de portador, que la aplicación utiliza para autenticar y autorizar solicitudes de API con bancos externos.

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

external_accounts

Almacena información sobre cuentas bancarias externas vinculadas por los usuarios.

{
"_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

Almacena información sobre productos financieros (como préstamos e hipotecas) asociados a los usuarios.

{
"_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"
}

En aplicaciones reales, estas recopilaciones implicarían mecanismos de seguridad más complejos e información detallada. Cada entidad financiera tiene sus propias definiciones de modelo de datos.

Mapeo de datos y relaciones
La aplicación necesita un mapeo de datos robusto y una relación posterior para traducir diversos modelos de datos de diferentes entidades financieras a un formato unificado.
Seguridad y cumplimiento
La aplicación debe garantizar la seguridad de los datos y el cumplimiento de normativas como el RGPD, la PSD2 y otras normativas financieras locales. Esto incluye el cifrado, los controles de acceso y los registros de auditoría.
Escalabilidad y rendimiento
La aplicación requiere un modelo de datos que pueda manejar grandes volúmenes de datos de manera eficiente, teniendo en cuenta la indexación, la fragmentación y la optimización del rendimiento.
Integración e interoperabilidad
La aplicación implementa API y microservicios que pueden integrarse con varios sistemas externos, garantizando la interoperabilidad y el intercambio de datos en tiempo real.

Gracias a la flexibilidad del modelo documental, esta solución demuestra cómo las instituciones financieras pueden unificar y gestionar diversas fuentes de datos. Una implementación de nivel de producción debe abordar las complejidades y los matices de la integración de datos financieros en el mundo real.

Esta solución está disponible a través de dos repositorios de GitHub:

Para obtener más información sobre el backend de la solución, consulte el repositorio de GitHub sobre backend. Este repositorio proporciona el servicio de demostración de finanzas abiertas. Muestra cómo integrarse con bancos externos y proteger el intercambio de datos. MongoDB funciona como almacén central de datos.

Para construir la solución, complete los siguientes pasos:

1

Cree una nueva base de datos en MongoDB Atlas llamada open_finance. A continuación, agregue tres colecciones:

  • tokens

  • external_accounts

  • external_products

2

Importe los datos de muestra del directorio /backend/data/sample a las colecciones respectivas.

3

Cree un nuevo usuario con acceso readWrite a la base de datos open_finance para administrar los datos de forma segura.

4

Agregue las credenciales de la base de datos y los orígenes de la API a un archivo .env.

5
  1. Configurar un entorno virtual usando Poesía

  2. Instale las dependencias

  3. Inicie el backend con Uvicorn

  4. Asegúrese de que el servicio se ejecute en el puerto correcto para la comunicación API

La interfaz de usuario de esta solución está disponible en el repositorio Frontend de GitHub. Los componentes están diseñados como microservicios. El repositorio de interfaz de usuario actúa como el centro principal y ofrece una visión general de todos los servicios integrados.

  • Implementa un almacén central de datos: Usa MongoDB como almacén central de datos para apoyar los ecosistemas de finanzas abiertas.

  • Gestión segura de datos: MongoDB ofrece una gestión segura de datos con cifrado integrado, controles de acceso granulares y alta disponibilidad. Esto ayuda a las organizaciones a proteger la información confidencial y cumplir con los requisitos normativos.

  • Ofrezca información personalizada: utilice el canal de agregación de MongoDB para analizar datos de clientes y brindar información financiera personalizada a sus usuarios.

  • Luis Pazmino Diaz, MongoDB

  • Ainhoa ​​Mugica, MongoDB

  • Julián Boronat, MongoDB

  • Andrea Alaman Calderon, MongoDB

  • Acelerador de soluciones contra el fraude con tarjetas en tiempo real

  • Acelerador de soluciones de modernización de pagos

  • MongoDB y Hasura para servicios fintech modernos

Volver

Servicios Fintech modernos

En esta página