Nivel N (varios niveles), 3 niveles, 2 niveles Architectura con EJEMPLO
¿Qué es el nivel N?
An Aplicación de N niveles Un programa es aquel que se distribuye entre tres o más computadoras separadas en una red distribuida.
La forma más común de n niveles es la aplicación de 3 niveles y se clasifica en tres categorías.
- Programación de la interfaz de usuario en la computadora del usuario.
- Lógica empresarial en una computadora más centralizada, y
- Datos requeridos en una computadora que administra una base de datos.
Este modelo de arquitectura permite a los desarrolladores de software crear aplicaciones/sistemas reutilizables con la máxima flexibilidad.
In Nivel N, “N” se refiere a una serie de niveles o capas que se utilizan como: 2 niveles, 3 niveles o 4 niveles, etc.. También es llamado "Multinivel Architectura”.
La arquitectura de n niveles es un modelo de arquitectura de software probado en la industria. Es adecuado para respaldar aplicaciones cliente-servidor de nivel empresarial al brindar soluciones de escalabilidad, seguridad, tolerancia a fallas, reutilización y capacidad de mantenimiento. Ayuda a los desarrolladores a crear aplicaciones flexibles y reutilizables.
Nivel N Architectura
Aquí se muestra una representación esquemática de un sistema de n niveles: capas de presentación, aplicación y base de datos.
Estas tres capas se pueden subdividir en diferentes subcapas según los requisitos.
Algunos de los sitios populares que han aplicado esta arquitectura son
- HacerMiViaje.com
- Aplicación empresarial Sales Force
- Ferrocarriles indios - IRCTC
- Amazon.com, etc
Algunos términos comunes para recordar, para entender el concepto más claramente.
- Red Distribuida: Se trata de una arquitectura de red, en la que los componentes ubicados en los ordenadores de la red se coordinan y comunican sus acciones únicamente mediante el paso de mensajes. Es una colección de múltiples sistemas situados en diferentes nodos, pero que al usuario le parece un único sistema.
- Proporciona una única red de comunicación de datos que puede ser gestionada por separado por diferentes redes.
- Un ejemplo de red distribuida: donde diferentes clientes están conectados dentro de una arquitectura LAN en un lado y en el otro lado están conectados a conmutadores de alta velocidad junto con un rack de servidores que contienen nodos de servicio.
- Servidor cliente Architectura: Es un modelo de arquitectura donde el cliente (un programa) solicita un servicio a un servidor (otro programa) es decir, Es un servicio de solicitud-respuesta que se brinda a través de Internet o a través de una intranet. En este modelo, Cliente Servirá como un conjunto de programa/código que ejecuta un conjunto de acciones a través de la red. Mientras Server, por otro lado, es un conjunto de otro programa, que envía los conjuntos de resultados al sistema cliente según lo solicitado.
- En esto, la computadora cliente proporciona una interfaz para que un usuario final solicite un servicio o un recurso de un servidor y, por otro lado, el servidor procesa la solicitud y muestra el resultado al usuario final.
- Un ejemplo de modelo Cliente-Servidor: un cajero automático. Un banco es el servidor para procesar la solicitud dentro de las grandes bases de datos de clientes y el cajero automático es el cliente que tiene una interfaz de usuario con un procesamiento de solicitud simple.
- Plataforma: En informática o en la industria del software, una plataforma es un sistema en el que se pueden ejecutar programas de aplicaciones. Consiste en una combinación de hardware y software que tienen una instrucción incorporada para que los procesadores o microprocesadores realicen operaciones específicas.
- En palabras más simples, la plataforma es un sistema o una base donde cualquier aplicación puede ejecutarse para obtener una tarea específica.
- Un ejemplo de Plataforma: una máquina personal cargada con Windows 2000 o Mac OS X como ejemplos de 2 plataformas diferentes.
- Base de datos: Es una colección de información de forma organizada para que pueda accederse, gestionarse y actualizarse fácilmente.
- Ejemplos de base de datos – MySQL, SQL servidor, y Oracle Database son algunos Db comunes.
Tipos de nivel N Architecturas
Hay diferentes tipos de N-Tier Architecturas, como 3 niveles Architectura, 2 niveles Architectura y 1 nivel Architectura.
Primero, veremos 3 niveles. Architectura, que es muy importante.
3-Tier Architectura
Al observar el siguiente diagrama, puede identificar fácilmente que Arquitectura de 3 niveles tiene tres capas diferentes.
- Capa de presentación
- Capa de lógica empresarial
- Capa de base de datos
Aquí hemos tomado un ejemplo sencillo de formulario de estudiante para comprender estas tres capas. Contiene información sobre un estudiante como: nombre, dirección, correo electrónico y fotografía.
Capa de interfaz de usuario o capa de presentación
Capa de presentación
private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e) { // Object of the Property layer clsStudent objproperty=new clsStudent(); // Object of the business layer clsStudentInfo objbs=new clsStudentInfo(); // Object of the dataset in which we receive the data sent by the business layer DataSet ds=new DataSet(); // here we are placing the value in the property using the object of the //property layer objproperty.id=int.Parse(DataGridl.SelectedItem.Cells[1].Text.ToString()); // In this following code we are calling a function from the business layer and // passing the object of the property layer which will carry the ID till the database. ds=objbs.GetAllStudentBsIDWise(objproperty); // What ever the data has been returned by the above function into the dataset //is being populate through the presentation laye. txtId.Text=ds.Tables[0].Rows[0][0].ToString(); txtFname.Text=ds.Tables[0].Rows[0][1].ToString(); txtAddress.Text=ds.Tables[0].Rows[0][2].ToString(); txtemail.Text=ds.Tables[0].Rows[0][3].ToString();
Explicación del código
- El código anterior define el diseño básico de una vista frontal de aplicaciones, así como la llamada de funciones de otras capas para que puedan integrarse entre sí.
Capa de acceso empresarial –
Esta es la función de la capa empresarial que acepta los datos de la capa de aplicación y los pasa a la capa de datos.
- La lógica empresarial actúa como una interfaz entre la capa de cliente y la capa de acceso a datos.
- Toda la lógica empresarial, como la validación de datos, los cálculos y la inserción/modificación de datos, se escriben en la capa de lógica empresarial.
- Hace que la comunicación sea más rápida y sencilla entre el cliente y la capa de datos.
- Define una actividad de flujo de trabajo adecuada que es necesaria para completar una tarea.
// this is the function of the business layer which accepts the data from the //application layer and passes it to the data layer. public class clsStudentInfo { public DataSet GetAllStudentBsIDWise(clsStudent obj) { DataSet ds=new DataSet(); ds=objdt.getdata_dtIDWise(obj);// Calling of Data layer function return ds; } }
Explicación del código
El código utiliza la función de capa empresarial, que aceptará los datos para la capa de aplicación y los pasará a la capa de datos. Los códigos de la capa empresarial actúan como mediador entre las funciones definidas en la capa de presentación y la capa de datos y llaman a las funciones viceversa.
Capa de acceso a datos
Esta es la función de la capa de datos, que recibe los datos de la capa empresarial y realiza la operación necesaria en la base de datos.
// this is the datalayer function which is receiving the data from the business //layer and performing the required operation into the database public class clsStudentData // Data layer class { // object of property layer class public DataSet getdata_dtIDUise(clsStudent obj) { DataSet ds; string sql; sql="select * from student where Studentld=" +obj.id+ "order by Studentld; ds=new DataSet(); //this is the datalayer function which accepts the sql query and performs the //corresponding operation ds=objdt.ExecuteSql(sql); return ds; } }
Explicación del código
El código definido en la capa del conjunto de datos anterior acepta la solicitud completa: solicitada por el sistema y realizando las operaciones requeridas en la base de datos.
2-Tier Architectura
Es como una arquitectura Cliente-Servidor, donde la comunicación se realiza entre cliente y servidor.
En este tipo de arquitectura de software, la capa de presentación o capa de interfaz de usuario se ejecuta en el lado del cliente, mientras que la capa del conjunto de datos se ejecuta y almacena en el lado del servidor.
No existe una capa de lógica empresarial ni una capa inmediata entre el cliente y el servidor.
Nivel único o 1 nivel Architectura
Es el más sencillo ya que equivale a ejecutar la aplicación en el ordenador personal. Todos los componentes necesarios para que se ejecute una aplicación se encuentran en una única aplicación o servidor.
La capa de presentación, la capa de lógica empresarial y la capa de datos están ubicadas en una sola máquina.
Ventajas y desventajas de los niveles múltiples Architecturas
Ventajas | Desventajas |
---|---|
Escalabilidad | Aumento del esfuerzo |
Data Integrity | Aumento de la complejidad |
Reutilización | |
Distribución Reducida | |
Mejora de la seguridad | |
Disponibilidad mejorada |
Por lo tanto, es parte de un programa que cifra problemas comerciales del mundo real y determina cómo se pueden actualizar, crear, almacenar o cambiar los datos para realizar la tarea completa.
Nivel N ArchiConsejos y desarrollo de tecnología
Teniendo en cuenta que los profesionales del software deben tener un control total sobre todas las capas de la arquitectura, a continuación se ofrecen algunos consejos sobre la arquitectura de n niveles.
- Intente desacoplar capas de otra capa tanto como sea posible utilizando una técnica como Soap XML.
- Utilice algunas herramientas automatizadas para generar un mapeo entre una capa de lógica empresarial y una capa de base de datos relacional (capa de datos). Las herramientas que pueden ayudar a modelar estas técnicas de mapeo son: Entity Framework e Hibernate para .Net, etc.
- En la capa de presentador del cliente, coloque un código común para todos los clientes en una biblioteca separada tanto como sea posible. Esto maximizará la reutilización del código para todo tipo de clientes.
- Se puede agregar una capa de caché a una capa existente para acelerar el rendimiento.
Resumen
La arquitectura de N niveles ayuda a administrar todos los componentes (capa empresarial, capa de presentación y capa de base de datos) de una aplicación bajo un mismo techo.
Las aplicaciones que utilizan una pequeña cantidad de usuarios en una red de área local pueden beneficiarse de la arquitectura de n niveles.
Este diseño arquitectónico garantiza el mantenimiento, la ampliación y la implementación de una aplicación en Internet de manera eficiente.