¿Sería 2 niveles una opción válida para este escenario?
-
20-08-2019 - |
Pregunta
Sería 2 niveles una opción válida para este escenario:
- base de datos del servidor sql
- el negocio nunca requeriría más de un par de cientos de conexiones simultáneas a la base de datos compartida a través de una LAN
- el hecho de que (creo) es mucho menos esfuerzo desarrollar un nivel 2
aplicación - Actualizaciones del programa cliente automatizadas a través de LAN
No hay solución correcta
Otros consejos
Una solución de 2 niveles puede ser más fácil de desarrollar, pero será más difícil de mantener si la aplicación es de cualquier tamaño y / o complejidad.
Si esta aplicación va a ser importante para la empresa y se implementará durante un período de tiempo significativo, creo que encontrará el tiempo extra que pasa separando su presentación, lógica empresarial y acceso a datos en sus propias capas. pagado cuando llega el momento de arreglar cosas, alterar la lógica o extender la aplicación.
Esta es una de esas preguntas donde probablemente obtendrás tantas opiniones diferentes como respuestas.
Puede ser más fácil de desarrollar al principio, pero también creo que le costará a largo plazo si el proyecto no es una herramienta trivial para uso interno solamente.
Si necesita o no 3 niveles debe depender de cuánto tiempo va a mantener el proyecto y cuántas características / actualizaciones está planeando para más adelante. También puede depender de cuántos errores está dispuesto a aceptar (y corregir). La OMI de 3 niveles tiende a crear un software más estable.
Ambas respuestas parecen estar casi diciendo que es obvio que 3 niveles es una solución superior. tal vez
Rockford lhotka parece estar discutiendo que debería ir con 2 niveles a menos que el costo beneficio El análisis de su situación particular se reduce a favor de 3 niveles.
él dice:
Como buen arquitecto, debería ser arrastrado pateando y gritando para agregar niveles a su sistema.
La seguridad que sugiere es la única área en la que una solución de 3 niveles es claramente superior.
Y él argumenta que
Peor aún, los límites agregan complejidad cruda al diseño de software, la infraestructura de red, la capacidad de administración y el mantenimiento general de un sistema. En resumen, cuantos más niveles haya en una aplicación, más complejidad habrá para tratar con & # 8211; lo que aumenta directamente el costo de compilar y mantener la aplicación.
Finalmente, con respecto a la escalabilidad, me gustaría saber si es cierto que si usa conjuntos de registros desconectados en ado para el acceso a datos, tiene una agrupación de conexiones por defecto y, por lo tanto, un alto grado de escalabilidad de todos modos.
Copiado del libro de Charles Williams Bases de datos profesionales de Visual Basic 6: -
2 niveles frente a N niveles
Elegir entre un nivel 2 y un nivel n los modelos parecen ser lo que hay en las personas mentes Hay tantas variables para factor en la ecuación (incluyendo preferencia) que ningún libro puede determinar la mejor estructura para su modelo cliente-servidor. Algunos de estos Las variables pueden incluir:
La flexibilidad y el poder de su servidor de base de datos elegido. De hoy los servidores de bases de datos son capaces de manejando cientos o incluso miles de conexiones concurrentes sin moverse a una arquitectura de 3 niveles.
La potencia y versatilidad de la CPU que aloja el servidor. El mas poderoso la CPU cuanto más rápido será el servidor manejar las tareas solicitadas.
Cuánto rendimiento se está ejecutando en el servidor y cuántos consecutivos existen conexiones Puede tener pocos o muchas conexiones y cada conexión puede pasar pocas o muchas solicitudes.
El factor económico. ¿Cuánto está dispuesto a gastar en su sistema? Por lo general, un sistema de n niveles costará más para desarrollar y mantener. Si tu puede salir adelante con una solución de 2 niveles que puede ahorrar una gran cantidad de dinero.
Para mí, esto parece sugerir que a menos que esté desarrollando una aplicación basada en web (muy popular) ese nivel 2 puede ser la opción más lógica.