APLICACIONES N-CAPAS EN VISUAL.NET
APLICACIONES N-CAPAS EN VISUAL NET:
I.
CONTENIDO:
INTRODUCCIÓN:
La realización de Sistemas de Información se
ha venido desarrollando en base a técnicas de programación, principalmente; la
programación estructurada, luego en combinación utilizando la programación por
eventos, actualmente se pudiera decir que se ha llegado una madurez con la
potencialidad de la programación orientada a objetos por la ventaja en la
reutilización de código. En adición a ellas, se cuenta actualmente con la
programación en n capas que hace uso de la programación orientada a objetos; la
cual consiste en separar el código fuente según el rol, responsabilidad y
funcionalidad; por ende, el desarrollo es más rápido, y resulta más fácil el
darle mantenimiento al Sistema. En este artículo detallamos la programación en
N capas; y se presenta un ejemplo en Visual Basic .Net, para que sirva de
referencia y la explicación sea más didáctica.
1. DEFINICIÓN:
El desarrollo
de una aplicación N-Capas es básicamente un estilo de programación en el cual
se separan lógicamente cada uno de los elementos de la aplicación, esto es,
cada una de las capas en la que estará formada nuestra aplicación.
La programación por capas es un estilo de programación en el que el
objetivo primordial es la separación de la lógica de negocios de la lógica de
diseño.
2. FUNDAMENTACIÓN
TEÓRICA:
2.1
MÉTODO DE CONSTRUCCIÓN
DE COMPONENTES EN LA IMPLEMENTACIÓN DE CAPAS:
Un método es un conjunto de instrucciones que
modifica el estado de las propiedades; en términos de objetos, un método es un
servicio o función del objeto, mientras que en términos de código un método es
un procedimiento o función que realiza una tarea específica.
2.2. Programación en N capas:
El estilo arquitectural en n capas se basa en
una distribución jerárquica de los roles y las responsabilidades para
proporcionar una división efectiva de los problemas a resolver. Los roles
indican el tipo y la forma de la interacción con otras capas y las responsabilidades
la funcionalidad que implementan.
Cuanto más se aumenta el proceso operativo de
la empresa, las necesidades de proceso crecen hasta desbordar las máquinas. Es
por ello que se separa la estructura de un programa en varias capas.
Figura Nº 1. Modelo típico de tres capas.
En adición a lo citado, podemos decir que
actualmente la programación por capas es un estilo de programación en la que el
objetivo principal es separar la lógica de negocios de la lógica de diseño, un
ejemplo básico de esto es separar la capa de datos de la capa de negocios y
ésta a su vez de la capa de presentación al usuario.
El diseño que
actualmente más se utiliza es el diseño en tres capas; sin embargo, la programación
puede desglosarse en más capas.
3.
TIPOS DE CAPAS:
3.1. Capa de presentación:
Es la
responsable de la presentación visual de la aplicación.
La capa de
presentación enviará mensajes a los objetos de esta capa de negocios o
intermedia, la cual o bien responderá entonces directamente o mantendrá un diálogo
con la capa de la base de datos, la cual proporcionará los datos que se
mandarían como respuesta a la capa de presentación.
Podemos decir que es la que se presenta al
usuario, llamada también formulario o interfaz de presentación, esta captura
los datos del usuario en el formulario e invoca a la capa de negocio,
transmitiéndole los requerimientos del usuario, ya sea de almacenaje, edición, o
de recuperación de la información para la consulta respectiva.
3.2 Capa de negocio:
Es la
responsable del procesamiento que tiene lugar en la aplicación. Por ejemplo, en
una aplicación bancaria el código de la capa de presentación se relacionaría
simplemente con la monitorización de sucesos y con el envío de datos a la capa
de procesamiento. Esta capa intermedia contendría los objetos que se
corresponden con las entidades de la aplicación. Esta capa intermedia es la que
conlleva capacidad de mantenimiento y de reutilización.
Contendrá
objetos definidos por clases reutilizables que se pueden utilizar una y otra
vez en otras aplicaciones.
Estos objetos
se suelen llamar objetos de negocios y son los que contienen la gama normal de constructores,
métodos para establecer y obtener variables, métodos que llevan a cabo cálculos
y métodos, normalmente privados, en comunicación con la capa de la base de
datos.
Es en esta
capa donde se reciben los requerimientos del usuario y se envían las respuestas
tras el proceso, a requerimiento de la capa de presentación. Se denomina capa
de negocio o lógica del negocio, es aquí donde se establecen todas las reglas
que deben cumplirse.
En realidad,
se puede tratar de varias funciones, por ejemplo, puede controlar la integridad
referencial, otro que se encargue de la interfaz, tal como abrir y cerrar ciertos
formularios o funcionalidades que tengan que ver con la seguridad, menús, etc.,
tiene los métodos que serán llamados desde las distintas partes de la interfaz o
para acceder a la capa de datos, tal como se apreciará en el ejemplo.
Esta capa
interactúa con la capa de presentación para recibir las solicitudes y presentar
los resultados, y con la capa de datos, para solicitar al manejador de base de datos
que realice una operación de almacenamiento, edición, eliminación, consulta de
datos u otra.
3.3. Capa de datos:
Esta capa se
encarga de acceder a los datos, se debe usar la capa de datos para almacenar y
recuperar toda la información de sincronización del Sistema.
Es aquí donde
se implementa las conexiones al servidor y la base de datos propiamente dicha,
se invoca a los procedimientos almacenados los cuales reciben solicitudes de
almacenamiento o recuperación de información desde la capa de negocio.
Todas estas
capas pueden residir en un único ordenador (no debería ser lo usual), pero es
lo más frecuente.
En sistemas
complejos se llega a tener varios ordenadores sobre los cuales reside la capa
de datos, y otra serie de ordenadores sobre los cuales reside la base de datos.
Se recomienda
que si el crecimiento de las necesidades o complejidad aumenta se debe separar
en dos o más ordenadores, los cuales recibirán las peticiones del ordenador en
que resida la capa de negocio. Esta recomendación es válida para la capa de
negocios.
4. Capas y Niveles:
Es importante
distinguir los conceptos de “Capas” (Layers) y “Niveles” (Tiers). Las capas se
ocupan de la división lógica de componentes y funcionalidad y no tienen en
cuenta la localización física de componentes en diferentes servidores o en
diferentes lugares. Por el contrario, los Niveles se ocupan de la distribución
física de
componentes y funcionalidad en servidores separados. Teniendo en cuenta
topología de redes y localizaciones remotas.
Las
arquitecturas de N niveles facilitan la presencia de sistemas distribuidos en
los que se pueden dividir los servicios y aumentar la escalabilidad y
mantenimiento de los mismos.
5. Entorno teórico de programación orientado a
objetos en Visual Basic.Net para la aplicación ejemplo:
5.1. Programación orientada a objetos:
Según Grady
Booch, es un método de implementación en el que los programas se organizan como
colecciones cooperativas de objetos, cada uno de los cuales representa una
instancia de alguna clase y cuyas clases son todas miembros de una jerarquía de
clases unidas mediante relaciones de herencia”.
Los programas
orientados a objetos constan de objetos que se comunican entre sí a través de
mensajes.
5.1.2. Clase:
Conjunto de
objetos que comparten características esenciales comunes tales como propiedades,
métodos, se pueden agrupar en una clase respectiva. En visual basic se debe:
Utilizar la
palabra clave class antes del nombre de la clase.
Insertar los
miembros de la clase entre el nombre de la clase y la instrucción End Class.
Ejemplo:
Public Class FrmPresentaCliente
-----Instrucciones
End Class
5.1.3. Métodos:
Los métodos
(operaciones o servicios) describen, el comportamiento asociado a un objeto,
representan las acciones que pueden realizarse por un objeto. La ejecución de
un método puede conducir a cambiar el estado del objeto o dato local del objeto.
Ejemplo
declaración de métodos:
Las
operaciones que realiza las clases se pueden declarar como públicos o privados.
Por ejemplo, para una clase empleado se declara el método publico Calculo de Salario
de la siguiente manera:
Public Sub CalculodeSalario(ByVal fldtInicio
As
Date, _
ByVal fliDias As Integer)
End Sub
Ejemplo
Declaración de propiedades y métodos Set y Get en .Net
Las
propiedades o atributos con los cuales va a trabajar la clase por intermedio de
los métodos se declaran:
Public Class Empleado
‘ variables de propiedad
Private msNombre As String
‘ procedimientos de propiedad
Public Property Nombre() As String
Get Return msNombre
End Get
Set(ByVal Value As String)
msNombre = Value
End Set
End Property
5.1.4. Herencia:
La herencia es
un mecanismo por medio del cual una clase puede heredar las propiedades de
otra. Asimismo, permite que se construya una jerarquía de clases que se
extiende desde lo más general a lo más específico.
En otras
palabras, una clase derivada hereda propiedades y métodos de la clase base;
permitiendo que la clase derivada reutilice la funcionalidad de la clase base.
Class identifiers
Inherits clase-base
Body
End Class
Ejemplo:
Class Persona
Public Function Edad(). ....
End Function
End Class
Class Empleado
Inherits Persona
End Class
En este caso,
la clase Empleado hereda los métodos y atributos definidos en la clase base
(Persona). La sentencia inherits en Visual Basic .Net indica que se hereda de
una clase.
5.1.5. Sobrecarga:
La sobrecarga,
es una propiedad que describe una característica adecuada que utiliza el mismo
nombre de operación para representar operaciones similares que se comportan de
manera diferente cuando se aplican a clases diferentes. Por consiguiente, los
nombres de
las
operaciones se pueden sobrecargar, esto es, las operaciones se definen en
clases diferentes y pueden tener nombres idénticos, aunque su código programado
puede diferir.
5.1.6. Crear un objeto en .Net instanciando la
clase de una capa:
Un objeto
instancia a una capa, luego por medio de este objeto accede a la capa
respectiva retornando el método o propiedades, según lo invocado, por ejemplo:
Private ObjetoDatos As CapaDatos.ClaseDatos
Propiedades
Metodos
Sub New()
ObjetoDatos = New CapaDatos.ClaseDatos
End Sub
5.1.7. Métodos SqlHelper:
Los métodos
SqlHelper proporcionan un conjunto de facilidades, que permiten ejecutar varios
tipos de comandos diversos con la base de datos SQL Server, ayudando a reducir
código, la forma de invocarlo es:
Microsoft.ApplicationBlocks.Data
donde microsoft.AplicationBlocks.Data.dll es un ensamblado que se debe tener copiado
para que pueda ser referenciada por la aplicación.
5.1.8. Procedimientos almacenados:
La interacción
con la base de datos es mediante los procedimientos almacenados. Los procedimientos
almacenados son un conjunto de instrucciones SQL que trabajan como una unidad y
que se ejecutan utilizando solo el nombre que le hemos asignado.
El uso de
procedimientos almacenados tiene las ventajas siguientes:
• Se ejecutan
en el servidor.
• Las
instrucciones se ejecutan más rápido.
• Ayudan en la
programación orientada a objetos,
cuando se
trabaja con las capas en general ya sea con aplicaciones windows, o web.
5.1.9. Sintaxis para crear un procedimiento
almacenado en SQL SERVER
Create Procedure Nombre_del
procedimiento As Instrucciones SQL.
6. EJEMPLO DE APLICACIÓN
CON 4 CAPAS
Mostraremos un mantenimiento de una tabla de clientes, desarrollada en
Visual Basic. Net.
Figura N° 2. Formulario de
presentación sin datos.
Figura N.° 3. Formulario de
presentación en ejecución con los datos ingresados.
6.1.
Capa de negocios:
Imports CapaEntidad, CapaDatos
DATO: La línea anterior
invoca a las capas: Entidad y de Datos.
Public Class ClaseNegocios
Private ObjetoCliente As New CapaEntidad.ClaseEntidad
Private ObjetoDatos As Datos.ClaseDatos
DATO: Se declaran los
Miembros objetos; ObjetoCliente, y ObjetoDatos que van a acceder a las capas
Capa Entidad y Capa Datos respectivamente.
Sub New()
ObjetoDatos = New Datos.ClaseDatos
End Sub
DATO: Se instancia el Objeto ObjetDatos para
poder acceder a la capa de Datos.
Function MostrarClientes() As DataSet
Return ObjetoDatos.Retornar(“MuestraClientes”)
End Function
Sub Insertar(ByVal IdCliente As String, ByVal Compañia
As String, ByVal Contacto As String, ByVal Pais
As String)
ObjetoCliente.IdCliente = IdCliente
ObjetoCliente.Compañia
= Compañía
ObjetoCliente.Contacto = Contacto
ObjetoCliente.Pais = Pais
ObjetoDatos.ProcesaSMP(“AgregarCliente”, Objeto-
Cliente)
End Sub
DATO: Los datos
ingresados en la capa de presentación se enviarán como parámetros a la capa de
negocios los cuales se guardarán en los objetos.
ObjetoCliente.Idcliente, ObjetoCliente.Compañia,
ObjetoCliente.Contacto,
ObjetoCliente.País, respectivamente, para poder
ingresar el cliente respectivo.
Sub Modificar(ByVal IdCliente As String, ByVal Compañia
As String, ByVal Contacto As String, ByVal Pais
As String)
ObjetoCliente.IdCliente = IdCliente
ObjetoCliente.Compañia = Compañia
ObjetoCliente.Contacto = Contacto
ObjetoCliente.Pais = Pais
ObjetoDatos.ProcesaSMP(“EditarCliente”, ObjetoCliente)
End Sub
DATO: Los datos
ingresados en la capa de presentación se enviarán como parámetros a la capa de
negocios los cuales se guardarán en los objetos.
ObjetoCliente.Idcliente, ObjetoCliente.Compañia
ObjetoCliente.Contacto,
ObjetoCliente.Pais, respectivamente, para poder
modificar el cliente respectivo.
Sub Eliminar(ByVal IdCliente As String)
ObjetoCliente.IdCliente = IdCliente
ObjetoDatos.ProcesaSMP1(“SuprimirCliente”, ObjetoCliente)
End Sub
End Class
DATO:
El dato respecto al IdCliente en la capa de Presentación se enviará ‘como
parámetro a la capa de negocios para la eliminación del cliente respectivo.
6.2. Capa de entidad
Public Class ClaseEntidad
Miembros
o Atributos
Private sidCliente As String
Private sCompañia As String
Private sContacto As String
Private sPais As String
Propiedades
Property IdCliente() As String
Get
Return Me.sidCliente
End Get
Set(ByVal value As String)
Me.sidCliente = value
End Set
End Property
Property Compañia() As String
Get
Return Me.sCompañia
End Get
Set(ByVal value As String)
Me.sCompañia = value
End Set
End Property
Property Contacto() As String
Get
Return Me.sContacto
End Get
Set(ByVal value As String)
Me.sContacto = value
End Set
End Property
Property Pais()
As String
Get
Return Me.sPais
End Get
Set(ByVal value As String)
Me.sPais = value
End Set
End Property
End Class
DATO: En esta capa se
guardan y devuelven los valores enviados por la capa de negocios.
6.3. Capa de datos:
Imports CapaEntidad, Microsoft.ApplicationBlocks.
Data
DATO:
La línea anterior invoca a la capa entidad, y a la librería SQLHELPER ‘que es
una utilidad de .Net para optimizar líneas de código.
Public Class ClaseDatos
Private Conexion As String = “Server=pc01\sqlexpre
ss;Database=FACTURAS;integrated security=sspi;”
DATO: Mediante esta
línea se crea la variable Conexion que tendrá la ruta al servidor y el nombre
de la base de datos respectiva en este caso facturas.
Sub ProcesaSMP(ByVal Smp As String,
ByVal ObjetoCliente
As Entidad.Clientes)
SqlHelper.ExecuteNonQuery(Conexion, Smp,
ObjetoCliente.
IdCliente, _
ObjetoCliente.Compañia,
ObjetoCliente.Contacto,
ObjetoCliente.Pais)
End Sub
DATO:
Este Procedimiento hace uso de la librería SqlHelper, los parametros enviados
por la capa de negocios en el objeto objetocliente, mediante el cual el procedimiento
almacenado AgregarCliente o EditarCliente permitirá que la capa de datos por
medio de los storeprocedure ingrese el cliente o modifique los datos del
‘cliente respectivo.
Sub ProcesaSMP1(ByVal Smp As String,
ByVal ObjetoCliente
As Entidad.Clientes)
SqlHelper.ExecuteNonQuery(Conexion, Smp,
ObjetoCliente.
IdCliente)
End Sub
DATO:
Este Procedimiento hace uso de la librería SqlHelper, los parámetros enviado
por la capa de negocios en el objeto cliente el cual mediante el procedimiento
almacenado Suprimir-Cliente eliminará al cliente respectivo.
Function Retornar(ByVal SmP As String)
As DataSet
Return
SqlHelper.ExecuteDataset(Conexion, SmP)
End Function
End Class
DATO:
Esta función retorna los datos en un dataset (tabla temporal en memoria) para
que se muestren los datos. en los textbox definidos en la capa de presentación.
6.4.
Capa de presentación (formulario)
Imports CapaNegocio
DATO: La línea anterior invoca a la capa
de negocios.
Public Class Form1
‘ Miembros
Private NroRegistro As Integer, Posactual As Integer,
Eproceso As Boolean
Private ObjetoCliente As New CapaNegocio.Clasenegocios
Private Ds As New DataSet
Private dc As DataColumn()
Private Sub Desplazar(ByVal sender As System.
Object, ByVal e As System.EventArgs) Handles
cmbInicio.Click, cmbAnterior.Click, cmbSiguiente.
Click,
cmbUltimo.Click
Dim Index As Integer = CInt(sender.Tag)
Select Case Index
Case 0
Posactual = 0
Case 1
If (Posactual > 0) Then Posactual -= 1
Case 2
If (Posactual < NroRegistro - 1) Then Posactual += 1
Case 3
Posactual = NroRegistro - 1
End Select
VisualizaRegistro(Posactual)
End Sub
DATO:
En este procedimiento se programa el menú de opciones para que se desplace el
usuario en el formulario.
Private Sub Form1_Load(ByVal sender As Object,
ByVal e As System.EventArgs) Handles Me.Load
Ds = ObjetoCliente.MostrarClientes
NroRegistro = Ds.Tables(0).Rows.Count
Posactual = 0
VisualizaRegistro(Posactual)
ActivarBotones(True)
ActivarCajas(True)
End Sub
DATO:
Este procedimiento es el que se ejecuta primero al correr la aplicación se
contabiliza el número de registros, llama a los procedimientos VisualizarRegistro,
para que muestre al primer registro, además de activar los botones y las cajas
de edición.
Sub VisualizaRegistro(ByVal Posact As Integer)
txtIdCliente.Text = Ds.Tables(0).Rows(Posact)(0).
ToString
txtCompañia.Text = Ds.Tables(0).Rows(Posact)(1).
ToString
txtContacto.Text = Ds.Tables(0).Rows(Posact)(2).
ToString
txtPais.Text = Ds.Tables(0).Rows(Posact)(3).To-
String
End Sub
DATO: Muestra los
campos de registros según donde se encuentra el cursor o puntero de registro.
Private Sub cmbNuevo_Click(ByVal sender As System.
Object, ByVal e As System.EventArgs) Handles
cmbNuevo.Click
Eproceso = True
ActivarBotones(False)
ActivarCajas(False)
BorrarcCajas()
End Sub
DATO: Desactiva las
cajas al igual que los botones hasta ingresar un ‘nuevo registro.
Private Sub cmbEditar_Click(ByVal sender As System.
Object, ByVal e As System.EventArgs) Handles
cmbEditar.Click
ActivarBotones(False)
ActivarCajas(False)
Eproceso = False
End Sub
DATO:
Desactiva las cajas al igual que los botones hasta ingresar un nuevo registro,
hasta pulsar o dar click en el botón grabar.
Private Sub cmbGrabar_Click(ByVal sender As System.
Object, ByVal e As System.EventArgs) Handles
cmbGrabar.Click
If Eproceso Then
ObjetoCliente.Insertar(txtIdCliente.Text, txtCompañia.
Text, txtContacto.Text, txtPais.Text)
Else
ObjetoCliente.Modificar(txtIdCliente.Text, txtCompañia.
Text,
txtContacto.Text, txtPais.Text)
End If
Ds.Clear()
Form1_Load(sender, e)
End Sub
DATO:
Dependiendo del valor del proceso se insertará un nuevo cliente o se modificará
datos del
cliente, es decir con una sola rutina se controla ya sea el ingreso ‘o edición
de los datos del cliente.
Sub BorrarcCajas()
Dim Obj As Object
For Each Obj In Me.Controls
If TypeOf Obj Is TextBox Then
Obj.Clear()
End If
Next
End Sub
DATO: Para poder ingresar nuevos registros se borrará
los textbox respectivos
Sub ActivarBotones(ByVal Estado As Boolean)
Dim Obj As Object
For Each Obj In Me.Controls
If TypeOf Obj Is Button Then
Obj.Enabled = Estado
End If
Next
cmbGrabar.Enabled = Not Estado
End Sub
DATO: Para poder navegar adelante,
atrás, etc., se activan el botones excepto, el de grabar.
Sub ActivarCajas(ByVal Estado As
Boolean)
Dim Obj As Object
For Each Obj In Me.Controls
If TypeOf Obj Is TextBox Then
Obj.ReadOnly = Estado
End If
Next
End Sub
DATO: Se activan los
textbox, para poder ingresar o editar los textbox
Private Sub cmbEliminar_Click(ByVal
sender As System.
Object, ByVal e As System.EventArgs)
Handles
cmbEliminar.Click
If MessageBox.Show(“Esta Seguro”,
“Confirme”,
MessageBoxButtons.YesNo, MessageBoxIcon.
Question) =
Windows.Forms.DialogResult.Yes Then
ObjetoCliente.Eliminar(txtIdCliente.Text)
Form1_Load(sender, e)
End If
End Sub
End Class
DATO:
toma el registro activo y mediante el idcliente, envía el parámetro a la capa
de Negocios para que esta a su vez lo envíe a la capa de datos para la eliminación
del registro respectivo.
6.5. Procedimientos
almacenados que son invocados por la capa de datos.
USE FACTURAS
GO
--Script MuestraCliente
IF Exists(SELECT * FROM sysobjects
WHERE Name=’MuestraCliente’ AND
Type=’P’)
DROP PROCEDURE AgregarCliente
GO
CREATE PROCEDURE MuestraCliente
AS
SELECT * FROM CLIENTES
GO
-- Script de Mantenimiento
-- Procedimiento almacenado:
AgregarCliente
IF Exists(SELECT * FROM sysobjects
WHERE Name=’AgregarCliente’ AND
Type=’P’)
DROP PROCEDURE AgregarCliente
GO
CREATE PROCEDURE AgregarCliente
@IdCliente CHAR(5), @Compañia
VARCHAR(40),
@Contacto VARCHAR(40), @Pais VARCHAR(15)
AS
INSERT CLIENTES VALUES(@IdCliente,@
Compañia,@Contacto,@Pais)
GO
-- Procedimiento Almacenado
EditarCliente
IF Exists(SELECT * FROM sysobjects
WHERE Name=’EditarCliente’ AND Type=’P’)
DROP PROCEDURE EditarCliente
GO
CREATE PROCEDURE EditarCliente
@IdCliente CHAR(5), @Compañia
VARCHAR(40),
@Contacto VARCHAR(40), @Pais VARCHAR(15)
AS
UPDATE CLIENTES SET Compañia =
@Compañia,
Contacto = @Contacto, Pais = @Pais
WHERE IdCliente = @IdCliente
GO
-- Procedimiento Almacenado:
SuprimirCliente
IF Exists(SELECT * FROM sysobjects
WHERE Name=’SuprimirCliente’ AND Type
=’P’)
DROP PROCEDURE SuprimirCliente
GO
CREATE PROCEDURE SuprimirCliente
@IdCliente CHAR(5)
AS
DELETE FROM CLIENTES WHERE IdCliente=@
IdCliente
GO
DATO:
El punto 6.5 corresponde a los scripts para crear los procedimientos
almacenados en la base de datos a fin de poder agregar, modificar, eliminar
clientes en la base de datos facturas, esto se ha hecho en el servidor SQL
SERVER.
II. RESUMEN:
Los
paradigmas en el desarrollo de programas han venido evolucionando a través de
los años y actualmente contamos con una de las técnicas que brinda mayor
facilidad a los programadores, nos referimos a la Programación Orientada a
Objetos en N capas, ya que permite dividir el trabajo en varias capas
modulares.
Actualmente,
la más utilizada en cuanto a este estilo es la programación en tres capas que
se divide en:
1)
Capa de presentación, la cual interactúa con el usuario.
2) La
capa de negocios, donde se establecen las reglas del negocio que deben
cumplirse.
3) La
capa de datos en la cual se define la conexión con el servidor y la base de
datos, es en esta capa en donde se invoca a los procedimientos almacenados o
comandos SQL, a fin de que se realicen las operaciones correspondientes
en la
base de datos; sin embargo, si es conveniente podemos dividir la estructura del
código fuente en más capas.
III. SUMMARY:
The
paradigms in the development of programs have been evolving over the years and
we currently have one of the techniques that gives greater ease to programmers,
we refer to Object Oriented Programming in N layers, as it allows to divide the
work in several modular layers.
Currently,
the most used in this style is the programming in three layers that is divided
into:
1)
Presentation layer, which interacts with the user.
2) The
business layer, which establishes the business rules that must be met.
3) The
data layer in which the connection to the server and the database is defined is
in this layer where the stored procedures or SQL commands are invoked, in order
to perform the corresponding operations
in the
database; however, if it is convenient we can split the structure of the source
code into more layers.
IV. RECOMENDACIONES:
No
exceder en el número de creación de capas, es posible que exista perdida de
eficiencia.
Se
recomienda usar la programación con 3 capas, porque es la más convencional y la
programación es más ordenada y segura.
Es
importante separar bien estas capas, ya que por ejemplo el negocio no podría
tener acceso directamente sin pasar primero por la capa acceso a datos, al
igual que la capa presentación no puede hacer ningún tipo de cálculo importante
de la aplicación o acceder directamente a base de datos.
V.
CONCLUSIONES:
· El
estilo de programación en N capas se basa en segmentar un proyecto en varias
partes para realizar una programación independiente en cada una de ellas.
· Facilita
la reutilización de capas.
· Permite
una mejor estandarización.
· El
trabajo por parte de los analistas es complejo, pero al final se crea una
arquitectura más fácil de comprender y de implementar.
· En
cuanto a la seguridad este estilo de programación es más fiable.
· Se
puede elaborar componentes para cada capa, avanzando el desarrollo de manera
independiente y por ende el global del Sistema puede desarrollarse más rápido.
· Ayuda
mucho al programador de aplicaciones para dar mantenimiento al Sistema, dado
que el problema que pudiera suscitarse es visto en la capa respectiva.
· Por ende,
los costos de mantenimiento tienden a ser menores.
· Dado
los vertiginosos cambios en la dinámica de los negocios este estilo de
programación provee que el Sistema sea escalable.
VI. APRECIACIÓN DEL EQUIPO:
·
Facilidad para desarrollar en múltiples plataformas
(web, escritorio, móvil).
·
Se reduce la complejidad o Facilidad para
distribuir el desarrollo del software.
ANEXOS:
VII. LINKOGRAFIA:
ü
https://www.youtube.com/watch?v=5VdFjL9V5vM
ü https://es.slideshare.net/secret/2nEW06OEOMG0d1
😊😊😉
Comentarios
Publicar un comentario