agosto 23, 2024

Comparativa entre SharePoint (Lists) y Dataverse: Perspectiva desde la Arquitectura de Soluciones

En este artículo, comparamos SharePoint y Dataverse para ayudarte a decidir cuál es la mejor opción como backend. Mientras SharePoint es ideal para colaboración y gestión documental, Dataverse brilla en aplicaciones empresariales complejas. Descubre qué plataforma se adapta mejor a tus necesidades.

Comparativa entre SharePoint (Lists) y Dataverse: Perspectiva desde la Arquitectura de Soluciones

Cuando abordamos la decisión de elegir entre SharePoint Lists y Dataverse como backend para una solución en Power Platform, no se trata solo de escoger "donde almacenar datos". Como arquitectos de soluciones o consultores, debemos considerar una gran variedad de factores técnicos y funcionales que impactan tanto en el rendimiento como en la escalabilidad, la integración y la experiencia de usuario final. Vamos con un análisis en profundidad para ver en qué casos utilizar cada una de las plataformas.

1. Naturaleza y Complejidad de los Datos

En esencia, la elección entre SharePoint Lists y Dataverse depende de la estructura de los datos y su complejidad.

  • SharePoint Lists es ideal para datos simples y no relacionales. Cada "lista" puede pensarse como una tabla plana, útil para almacenar registros tipo "fila-columna". Si trabajas con datos tabulares sin relaciones complejas (por ejemplo, listas de tareas, inventarios básicos), SharePoint cumple sobradamente su función.
  • Dataverse, en cambio, maneja datos de forma estructurada y relacional. Permite definir entidades, establecer relaciones (1-N, N-1), y aplicar reglas de negocio. Si la solución implica gestión de CRM, ERP, o aplicaciones con múltiples entidades relacionadas, Dataverse es claramente superior.
Consideraciones SharePoint Lists Dataverse
Tipos de datos Listas, archivo, imagen Relacional, Archivo, Imagen, Lago, Registro, Búsqueda Dataverse
Tablas virtuales
Número de tipos de datos 15 24 (la moneda es la versión avanzada)
Common Data Model N/D Soporte completo
Capacidad Hasta 30 millones de filas
(consideraciones para listas > 100 000)
No hay límite especificado en filas.

No hay límite especificado de archivos o imágenes.

Límites de solicitudes de API por día, con opción de complementos de capacidad: Solicitar límites basados en licencias de usuario
Movimiento de datos Crear desde/Exportar a Excel Flujos de datos entrantes/salientes
Sincronización del lado del servidor
Integración de Synapse (Data Lake, Data Factory)
Seguridad Permisos personalizables de propietarios, miembros, visitantes, diseñadores, roles de aprobadores Opciones sólidas para escenarios complejos, como roles, unidades de negocio, auditorías, CMK, seguridad jerárquica/de nivel de campo, etc.
Clientes Lists, Teams, código personalizado Teams, Power Apps, Power Pages, Dynamics 365, código personalizado
Limitaciones de usuario invitado No se pueden crear o eliminar una lista Debe estar en Azure AD usando Azure B2B
Capacidad de desarrollador profesional API REST
Graph API
API REST
Kit de desarrollo de software (SDK)
Soporte de complemento
Integración (Event Hub, Service Bus, Webhook, Export to Lake) de SQL Server Management Studio
Empaquetar e implementar Listas de paquetes e implementaciones Sin límite
Capacidades adicionales Cálculos y consolidaciones Flujos de trabajo del negocio
Reglas de negocio
Cálculos y consolidaciones
Mobile Offline

2. Escalabilidad y Rendimiento

El rendimiento es una consideración crítica cuando los volúmenes de datos empiezan a crecer:

  • SharePoint Lists maneja bien cargas ligeras. Es excelente para listas pequeñas o medianas (hasta 5,000 elementos sin problemas). Sin embargo, cuando se requieren consultas avanzadas o grandes volúmenes de datos, el rendimiento cae significativamente.
  • Dataverse está diseñado para gestionar aplicaciones de misión crítica con millones de registros. Al estar basado en Azure SQL, ofrece escalabilidad nativa y optimizaciones para consultas complejas. Además, permite manejar integraciones más pesadas (Azure Synapse, Data Factory), lo que lo convierte en la opción clara para escenarios de alto rendimiento y volúmenes masivos.

3. Integración y Ecosistema

  • SharePoint Lists se integra de forma natural con Microsoft 365, lo cual facilita su uso en entornos colaborativos. Está orientado a escenarios de gestión documental y colaboración, permitiendo automatizar flujos simples con Power Automate.
  • Dataverse, como parte central de Power Platform, está diseñado para integrarse profundamente con Power Apps, Power BI y Power Automate. Su capacidad para conectarse con APIs, integrar sistemas externos (mediante conectores avanzados) y permitir desarrollos personalizados mediante plugins lo convierte en una plataforma versátil para aplicaciones empresariales.

4. Seguridad y Gobernanza

La seguridad es un pilar en cualquier solución de negocio:

  • SharePoint Lists permite permisos a nivel de lista, carpeta e ítem, pero no tiene un control detallado sobre campos específicos. Es adecuado para la mayoría de las necesidades básicas, pero no para entornos que requieren un control fino a nivel de campo o entidad.
  • Dataverse, por su parte, ofrece seguridad basada en roles, con control a nivel de fila y campo, además de auditoría y cumplimiento normativo. Es la opción preferida cuando se necesita garantizar un alto nivel de control y trazabilidad sobre los datos.
CaracterísticaSharePoint ListsDataverse
Control de SeguridadPermisos a nivel lista/carpeta/ítemSeguridad a nivel de campo, fila, roles avanzados

5. Coste y Complejidad

  • SharePoint Lists es más económico y está incluido en la mayoría de los planes de Microsoft 365, siendo una opción ideal cuando se requiere un backend sencillo y accesible.
  • Dataverse tiene un coste adicional significativo, especialmente cuando se requieren entornos personalizados y almacenamiento extendido. Sin embargo, justifica la inversión en escenarios donde la complejidad y la necesidad de integraciones avanzadas son elevadas.

Escenarios de ejemplo

Para que quede mas claro vamos a ver diferentes escenarios reales para ver cuando elegir una opción o la otra y ver de manera justificada la solución seleccionada.

A la hora de diseñar una solución para un cliente, debemos considerar la naturaleza del negocio, el volumen de datos, la necesidad de colaboración y las futuras escalabilidades. Aquí te presento dos casos concretos para cada plataforma, con detalles sobre por qué se eligió SharePoint Lists o Dataverse como backend.

Casos de Uso para SharePoint Lists


Escenario: Una firma legal necesita un sistema para gestionar la documentación de casos legales, con control de versiones, permisos para editar o solo visualizar documentos, y capacidad para realizar búsquedas rápidas en un repositorio compartido por 20 empleados.

Solución: Se opta por SharePoint Lists como backend para gestionar la lista de expedientes legales, complementado con bibliotecas de documentos para almacenar contratos y archivos. La solución incluye flujos de aprobación mediante Power Automate y formularios personalizados con Power Apps.

Justificación:

  • Facilidad de Configuración: SharePoint Lists permite una configuración rápida y simple, sin requerir un modelado complejo de datos.
  • Control de Permisos: Es fácil asignar permisos a nivel de documento o carpeta, importante para la gestión de información sensible.
  • Integración Nativa con Microsoft 365: SharePoint se integra de forma nativa con Teams y Outlook, plataformas ya usadas por el equipo.

Caso 2: Seguimiento de Tareas y Proyectos en un Equipo de Marketing

Escenario: Un equipo de marketing necesita una solución para planificar campañas, gestionar tareas, y colaborar en la creación de contenido. El equipo es de 12 personas y desean una interfaz sencilla para actualizar el estado de las tareas y compartir archivos de manera centralizada.

Solución:Se utiliza SharePoint Lists para crear una lista de tareas con columnas personalizadas para el estado, responsables, fechas límite y notas adicionales. Los archivos relacionados con las campañas se almacenan en bibliotecas de documentos, y los flujos de notificación se configuran con Power Automate.

Justificación:

  • Simplicidad: La estructura de SharePoint Lists es más que suficiente para gestionar tareas y compartir archivos sin necesidad de una base de datos relacional.
  • Vista Personalizable: Los usuarios pueden crear vistas filtradas para ver solo las tareas que les conciernen, optimizando la usabilidad.
  • Colaboración en Tiempo Real: SharePoint se adapta perfectamente al trabajo en tiempo real, integrándose con OneDrive y Teams.

Casos de Uso para Dataverse


Caso 1: Gestión de Activos y Mantenimiento en una Empresa de Energía

Escenario:Una empresa de energía que gestiona múltiples plantas de generación (eólicas, solares y térmicas) necesita una solución para el seguimiento y mantenimiento de sus activos. El sistema debe permitir gestionar registros detallados de cada activo, programar mantenimientos preventivos y generar órdenes de trabajo automáticas basadas en sensores IoT que monitorean el estado de los equipos en tiempo real.

Solución: Se implementa una solución basada en Dataverse donde se crean entidades para activos, órdenes de trabajo, mantenimientos y personal técnico. La solución se integra con sistemas de IoT que envían datos en tiempo real para activar mantenimientos preventivos o correctivos. Además, se generan flujos de trabajo que asignan automáticamente los técnicos disponibles y notifican a los responsables de cada planta.

Justificación:

  • Gestión Compleja de Activos: Dataverse permite gestionar relaciones complejas entre activos, órdenes de trabajo y técnicos, con reglas de negocio que automatizan el mantenimiento basado en datos en tiempo real.
  • Escalabilidad y Integración IoT: La capacidad de integrar Dataverse con flujos de datos IoT a través de Azure y mantener operaciones en tiempo real es clave en este entorno.
  • Automatización y Control de Procesos: Los flujos de trabajo avanzados permiten optimizar la asignación de recursos.

Caso 2: Gestión de Inventarios y Logística para una Cadena de Tiendas

Escenario: Una cadena de tiendas minoristas necesita un sistema para gestionar inventarios en múltiples ubicaciones, con capacidad para sincronizar datos en tiempo real, generar alertas de stock bajo y automatizar pedidos de reposición.

Solución: Se diseña una solución en Dataverse con tablas para productos, proveedores, almacenes y órdenes de compra. El sistema permite crear flujos de trabajo para generar pedidos automáticamente cuando el inventario cae por debajo de un umbral. Además, la integración con Dynamics 365 F&O permite sincronizar datos financieros.

Justificación:

  • Sincronización en Tiempo Real: Dataverse, construido sobre Azure SQL, maneja la sincronización de datos en tiempo real entre múltiples ubicaciones.
  • Relaciones Complejas y Lógica Empresarial: Las necesidades de modelado de datos (relaciones entre almacenes, productos y proveedores) requieren la flexibilidad que ofrece Dataverse.
  • Integración Empresarial: La integración con Dynamics 365 y otros sistemas empresariales asegura una gestión integral del negocio.

Conclusiones

Desde un punto de vista técnico y funcional:

  • SharePoint Lists es la opción óptima si el foco está en la colaboración, gestión documental y aplicaciones ligeras con datos no relacionales. Su bajo coste y fácil integración lo hacen ideal para pequeños proyectos o soluciones rápidas.
  • Dataverse se impone en escenarios donde se requieren modelos de datos complejos, alto rendimiento, y soluciones empresariales robustas. Si el cliente necesita una solución a largo plazo, con datos altamente estructurados y lógica de negocio avanzada, Dataverse es la opción evidente.

La clave radica en evaluar el presente y el futuro de la solución. Si el proyecto puede crecer en complejidad, migrar a Dataverse desde SharePoint Lists no es trivial, por lo que una planificación adecuada desde el inicio será importante.