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 |
|---|---|
| Global | Aumento del esfuerzo |
| Dato 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.

