Skip to main content

¿Qué es la arquitectura multinivel?

En informática, "arquitectura multinivel" es un término aplicado a una disposición de componentes o software en el que las diferentes funciones requeridas para completar una operación se segmentan en divisiones físicas o lógicas separadas. Cada uno de los segmentos de la arquitectura más grande es responsable de realizar solo un cierto tipo de tarea y, en su mayoría, desconoce el funcionamiento interno de los segmentos circundantes que realizan diferentes tareas. Las divisiones más comunes y más básicas utilizadas en la arquitectura multinivel son los niveles de presentación, lógica y datos. La presentación solo es responsable de mostrar información a un usuario, y el nivel de datos solo es responsable de almacenar o recuperar datos, mientras que el nivel lógico une los dos, aplica la lógica del programa a la entrada del usuario desde la presentación y da sentido a la información del nivel de datos . Los grandes sistemas informáticos utilizan una arquitectura de varios niveles porque abstrae los diferentes puntos de ejecución del flujo de control, permitiendo que diferentes componentes precisos sean seleccionados para actualizaciones, pruebas o depuración, dejando intactos los módulos restantes.

La arquitectura multinivel también puede denominarse arquitectura multicapa, aunque hay una diferencia. En la mayoría de los casos, el uso del término "arquitectura multinivel" implica que los componentes separados de un sistema están ubicados en hardware o servidores físicamente diferentes, mientras que un sistema en capas solo puede implementar diferentes aplicaciones que se ejecutan en el mismo espacio físico. Sin embargo, no todos los sistemas multinivel utilizan hardware separado; en su lugar, solo pueden separar las funciones a través de divisiones lógicas, como diferentes particiones en un solo disco.

La mayoría de la arquitectura multinivel tiene tres niveles distintos, aunque puede haber más niveles, según las necesidades o la configuración de un sistema. El primer nivel se conoce como el nivel de presentación y es responsable de mostrar la información que se le pasa, así como de proporcionar una forma para que los usuarios den su opinión, más comúnmente a través de una interfaz gráfica de usuario (GUI). El nivel de presentación se conecta al nivel lógico, que es el área donde se evalúa la entrada del usuario, los datos se recuperan del nivel de datos y se lleva a cabo cualquier procesamiento o cálculo específico. El nivel lógico es más o menos lo que tradicionalmente se considera una aplicación informática estándar, aunque no tiene facilidades para mostrar directamente la salida y no hay forma de recibir directamente la entrada de un usuario.

El nivel de datos es responsable solo de escribir y leer datos y puede tomar la forma de una matriz de discos o un sistema de administración de bases de datos relacionales (RDBMS). Aunque el nivel de datos es responsable de administrar el almacenamiento y la recuperación de datos en una configuración de arquitectura multinivel, no tiene conocimiento del contexto de los datos y solo se ocupa de registros o funciones de entrada y salida de disco. Una característica definitoria de los niveles en la arquitectura multinivel es que ningún segmento excede los límites de las tareas que se especifica que realice, por lo que no hay lógica de negocios o funcionalidad de datos disponible en el nivel de presentación, y el nivel lógico no puede escribir archivos directa o directamente acceder a la GUI a través de la cual trabaja el usuario. Todas las interacciones tienen lugar a través de comunicaciones estilo cliente-servidor, y cada nivel sirve de alguna manera como cliente y como servidor, dependiendo de la interacción que se esté llevando a cabo.

Una de las razones por las cuales una gran red de computadoras podría usar un sistema de varios niveles es porque cada paso necesario en el flujo de trabajo es modular y puede manejarse independientemente de las otras partes. Esto significa que los terminales o la GUI que emplean los usuarios pueden cambiarse sin requerir modificaciones en los niveles de lógica o datos. Del mismo modo, el RDBMS o las unidades de almacenamiento físico se pueden cambiar sin afectar nada más. Esta modularidad es muy difícil, si no imposible, de lograr con un sistema de un solo nivel en el que todos los aspectos están soldados en una sola aplicación compilada.