Configuraciones en Spring y SAP
¿Cual es la diferencia desde el punto de vista de arquitectura de software, en orientar la programación a FICHEROS(Spring) o llevarlo todo a tablas(SAP), me refiero tanto a los repositorios que maneja Spring o las tablas de SAP, me gustaría conocer las ventajas y desventajas en cuanto a rendimiento, escalabilidad y mejora de mantenimiento.De antemano gracias por su participación.
- Inicie sesión o regístrese para enviar comentarios
???
Creo que estás mezclando cosas muy distintas.
De entrada SAP es una suite que contiene aplicaciones para gestión de distintos aspectos empresariales.
Spring es un marco de trabajo (framework) que integra de forma sencilla componentes y hace relativamente rápido el desarrollo de aplicaciones; no entiendo el punto de tu pregunta.
Entiendo la diferencia entre Suite y Framework
La pregunta va orientado al FILOSOSFIA , ARQUITECTURA, es decir el hecho de tener archivos de configuración en XML, o tenerlo en Tablas de Configuración como lo tiene SAP, a nivel de acceso y recuperación de datos (PERSISTENCIA), y manejo de IoC(Contenedor) respecto alos Beans,, ¿Cual es mas eficiente en cuanto a rendimiento?¿Y por que lo orientaron en cada caso para esa forma?
Eso de tablas vs archivos a
Eso de tablas vs archivos a veces es medio complicado llegar a una conclusion acertada, debes de considerar que cuando el numero de archivos que hay en un subdirectorio crece mucho(o en el disco en general), el SO implementa cosas tales como memoria cache, y en algunos caso utiliza una base de datos (la verdad no se que tan sencilla o eficiente sea). En caso contrario, la lectura de un archivo puede ser muy rapido y seguro (mas que ejecutar una consulta a una BD que quien sabe en donde esta).
Quedé igual
Otra vez:
SAP es un producto, lo que estás configurando es el producto, cualquiera que sea.
Spring es un framework para configurar e inyectar dependencias (entre varias monadas más) de una aplicación.
Cuando creas una aplicación web, puedes configurar varias cosas relacionadas con el usuario, ésas configuraciones se guardan en una base de datos.
Cuando configuras algo en SAP (X producto) lo que configuras es el producto.
A ése nivel (el del usuario) sí es válido guardar todo en una base de datos, pero configurar mis dependencias en una base de datos, pues como que no tiene sentido, o sí?
Vamos por citar un ejemplo si quisieras comparar algo, sería mmmm el CRM de SAP contra Hipergate, (o algún otro CRM )éso se puede hacer porque son productos que sirven para lo mismo.
Vamos, otra comparación válida, sería ABAP, el lenguaje con que está hecho SAP, y algún framework hecho en ABAP que hiciera algo semejante a Spring, contra el mismo Spring.
Configuración con archivos vs. configuración con tablas
Tu pregunta es muy interesante y, en el contexto de arquitectura de software podrás encontrar respuestas variadas.
Algunas de ellas favorecen la configuración basada en archivos, otras la configuración basada en tablas, y en otras respuestas leerás que eso tiene poco que ver con la arquitectura de software y más con la implementación de la arquitectura que diseñas.
Yo comparto la idea que es algo que no concierne directamente a la arquitectura de software.
Para muchos sistemas, las necesidades de configuración no requieren de consultas complejas al repositorio que almacena la información de la configuración. En esos casos utilizar archivos para esos repositorios puede ser suficiente y de esa forma, la información de configuración que requieren los diferentes tiers de la aplicación puede localizarse en esos tiers, logrando una buena "separation of concerns".
Si el lenguaje que utilizas permite mediante metadatos incluir esa información de configuración en el código, esa "separation of concerns" queda aun mejor.
Pero hay sistemas donde la información de configuración es tal que se requiere ejecutar consultas complejas sobre ella, como puede ser el caso de SAP u otros sistemas ERP.
Es un tema para el cual no existe una verdad absoluta.