Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/

Almacén de datos financieros abiertos

MongoDB impulsa las finanzas abiertas con integración de datos flexibles, funcionalidad incorporada seguridad y servicios financieros escalables.

  • caso de uso: Analítica basada en aplicaciones

  • Industrias: Servicios financieros

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

Las finanzas abiertas están transformando la industria financiera, permitiendo el uso compartido de datos sin interrupciones entre bancos, empresas fintech y proveedores externos. Sin embargo, la integración de datos financieros diversos, asegurando la seguridad, el cumplimiento y la escalabilidad, sigue siendo un desafío importante. MongoDB proporciona una base para las finanzas abiertas mediante su:

  • Modelo de documento flexible

  • Soporte nativo para JSON

  • Potente framework 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 conforme, sin la complejidad de las bases de datos relacionales tradicionales.

Demo de Finanzas Abiertas 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 para garantizar la seguridad y el cumplimiento de regulaciones como la PSD2. Para autenticarse, la aplicación emula OAuth 2.0 y genera tokens para permitir una 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 arquitectura de Open Finance

Figura 2. Diagrama de arquitectura de finanzas abiertas

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 Bearer, 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 gestionar grandes volúmenes de datos de manera eficiente con consideraciones para indexación, particionamiento y 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.

Con la flexibilidad del modelo orientado a documentos, 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 matices de la integración de datos financieros del mundo real.

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

Para ver detalles sobre el backend de la solución, consulta el Backend repositorio de GitHub. Este repositorio proporciona el servicio de demostración de open finance. Muestra cómo integrarse con bancos de terceros y asegurar el intercambio de datos. MongoDB sirve como el repositorio central de datos.

Para compilar la solución, completa los siguientes pasos:

1

Cree una nueva base de datos en MongoDB Atlas llamada open_finance. Luego añade tres colecciones:

  • tokens

  • external_accounts

  • external_products

2

Importa los datos de muestra del directorio /backend/data/sample en las colecciones correspondientes.

3

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

4

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

5
  1. Configura un entorno virtual usando Poetry

  2. Instale las dependencias

  3. Inicia 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.

  • Ofrece perspectivas personalizadas: utiliza el pipeline de agregación de MongoDB para analizar los datos de los clientes y proporcionar perspectivas financieras personalizadas a tus usuarios.

  • Luis Pazmino Diaz, MongoDB

  • Ainhoa Mugica, MongoDB

  • Julian Boronat, MongoDB

  • Andrea Alaman Calderon, MongoDB

  • Acelerador de solución contra fraudes de 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