Documentos de Académico
Documentos de Profesional
Documentos de Cultura
w20170321122627883 6000140684 05-07-2017 123927 PM N Capas PDF
w20170321122627883 6000140684 05-07-2017 123927 PM N Capas PDF
Programacin en N capas
N layers Programming
smoquillaza@yahoo.com, hugovegahuerta@hotmail.com,
pdelacruzv@unsmsm.edu.pe, gluisg38@hotmail.com
Resumen
Los paradigmas en el desarrollo de programas han venido evolucionando a travs de los aos y
actualmente contamos con una de las tcnicas que brinda mayor facilidad a los programadores,
nos referimos a la Programacin Orientada a Objetos en N capas, ya que permite dividir el trabajo
en varias capas modulares.
Actualmente, la ms utilizada en cuanto a este estilo es la programacin en tres capas que se
divide en: 1) Capa de presentacin, la cual interacta con el usuario; 2) La capa de negocios,
donde se establecen las reglas del negocio que deben cumplirse y; 3) La capa de datos en la cual
se define la conexin 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 correspon-
dientes en la base de datos; sin embargo, si es conveniente podemos dividir la estructura del cdigo
fuente en ms capas.
Palabras clave: Programacin en n capas, capa de datos, capa de negocios, capa de presen-
tacin.
Abstract
The paradigms in software development have evolved through the years and now we have one
technique that provides developers easier, we refer to Object Oriented Programming in N layers,
this technic permit divide the work into several modular layers.
Actually the most useful about this style, is the 3 layer programation that divide in: 1) The presenta-
tion layer which interacs with the user; 2) The business layer sets the rules of bussiness and; 3) The
data layer which sets the connection with the server and the database, this layer invokes to the store
procedures or sql command to realize the corresponding operations in the database; However, if it
is convenient, we can divide the structure of the source code in more layers.
Keywords: N layer Programation, data layer, business layer, presentation layer.
Revista de Ingeniera de Sistemas e Informtica vol. 7, N. 2, Julio - Diciembre 2010
58
RISI 7(1), 57 - 67 (2010) Programacin en N capas
Es en esta capa donde se reciben los requerimientos fsica de componentes y funcionalidad en servidores
del usuario y se envan las respuestas tras el proceso, a separados. Teniendo en cuenta topologa de redes y
requerimiento de la capa de presentacin. Se denomi- localizaciones remotas [1].
na capa de negocio o lgica del negocio, es aqu donde
Las arquitecturas de N niveles facilitan la presencia de
se establecen todas las reglas que deben cumplirse.
sistemas distribuidos en los que se pueden dividir los
En realidad se puede tratar de varias funciones, por
servicios y aumentar la escalabilidad y mantenimiento
ejemplo, puede controlar la integridad referencial, otro
de los mismos [4].
que se encargue de la interfaz, tal como abrir y cerrar
ciertos formularios o funcionalidades que tengan que 2.3. Entorno terico de programacin orientado
ver con la seguridad, mens, etc., tiene los mtodos a objetos en Visual Basic .Net para la aplicacin
que sern llamados desde las distintas partes de la in- ejemplo
terfaz o para acceder a la capa de datos, tal como se
apreciar en el ejemplo. 2.3.1. Programacin orientada a objetos
Esta capa interacta con la capa de presentacin para Segn Grady Booch, es un mtodo de implementacin
recibir las solicitudes y presentar los resultados, y con en el que los programas se organizan como coleccio-
la capa de datos, para solicitar al manejador de base de nes cooperativas de objetos, cada uno de los cuales re-
datos que realice una operacin de almacenamiento, presenta una instancia de alguna clase y cuyas clases
edicin, eliminacin, consulta de datos u otra. son todas miembros de una jerarqua de clases unidas
mediante relaciones de herencia [5].
2.2.3. Capa de datos
Los programas orientados a objetos constan de objetos
Esta capa se encarga de acceder a los datos, se debe que se comunican entre s a travs de mensajes [6].
usar la capa de datos para almacenar y recuperar toda
la informacin de sincronizacin del Sistema [1]. 2.3.2. Clase
Es aqu donde se implementa las conexiones al servi- Conjunto de objetos que comparten caractersticas
dor y la base de datos propiamente dicha, se invoca esenciales comunes tales como propiedades, mtodos,
a los procedimientos almacenados los cuales reciben se pueden agrupar en una clase respectiva. En visual
solicitudes de almacenamiento o recuperacin de infor- basic se debe:
macin desde la capa de negocio. Utilizar la palabra clave class antes del nombre de
Todas estas capas pueden residir en un nico ordena- la clase.
dor (no debera ser lo usual), pero es lo ms frecuente. Insertar los miembros de la clase entre el nombre de
En sistemas complejos se llega a tener varios ordena- la clase y la instruccin End Class.
dores sobre los cuales reside la capa de datos, y otra
serie de ordenadores sobre los cuales reside la base Ejemplo:
de datos.
Public Class FrmPresentaCliente
Se recomienda que si el crecimiento de las necesidades
o complejidad aumenta se debe separar en dos o ms -----Instrucciones
ordenadores, los cuales recibirn las peticiones del or-
End Class
denador en que resida la capa de negocio. Esta reco-
mendacin es vlida para la capa de negocios.
59
Revista de Ingeniera de Sistemas e Informtica vol. 7, N. 2, Julio - Diciembre 2010
60
RISI 7(1), 57 - 67 (2010) Programacin en N capas
61
Revista de Ingeniera de Sistemas e Informtica vol. 7, N. 2, Julio - Diciembre 2010
62
RISI 7(1), 57 - 67 (2010) Programacin en N capas
Get
Return Me.sPais Sub ProcesaSMP1(ByVal Smp As String, ByVal Ob-
jetoCliente As Entidad.Clientes)
End Get
SqlHelper.ExecuteNonQuery(Conexion, Smp, Obje-
Set(ByVal value As String)
toCliente.IdCliente)
Me.sPais = value
End Sub
End Set
End Property
COMENTARIO: Este Procedimiento hace uso de
COMENTARIO: en esta capa se guardan y devuel- la librera SqlHelper, los parametros enviado por la
ven los valores enviados por la capa de negocios. capa de negocios en el objeto objetocliente el cual
mediante el procedimiento almacenado Suprimir-
End Class
Cliente eliminar al cliente respectivo.
3.3. Capa de datos
Imports CapaEntidad, Microsoft.ApplicationBlocks. Function Retornar(ByVal SmP As String) As DataSet
Data
Return SqlHelper.ExecuteDataset(Conexion, SmP)
COMENTARIO: La lnea anterior invoca a la capa
entidad, y a la librera SQLHELPER que es una utili- End Function
dad de .Net para optimizar lneas de cdigo. End Class
COMENTARIO: Mediante esta lnea se crea la va- 3.4. Capa de presentacin (formulario)
riable Conexion que tendr la ruta
Imports CapaNegocio
al servidor y el nombre de la base de datos respec-
COMENTARIO: La lnea anterior invoca a la capa
tiva en esta caso facturas.
de negocios.
63
Revista de Ingeniera de Sistemas e Informtica vol. 7, N. 2, Julio - Diciembre 2010
64
RISI 7(1), 57 - 67 (2010) Programacin en N capas
65
Revista de Ingeniera de Sistemas e Informtica vol. 7, N. 2, Julio - Diciembre 2010
DROP PROCEDURE SuprimirCliente 1. Csar de la Torre Llorente, Unai Zorrilla Castro, Mi-
guel ngel Barros, Javier Calvario Nelson. Gua de
GO arquitectura en N capas orientadas al dominio con
CREATE PROCEDURE SuprimirCliente Net 4.0 impreso en Espaa- derechos reservados
Microsoft-ibrica S.R.L ISBN -978-84-936696-3-8,
@IdCliente CHAR(5)
2010
AS 2. Luis Miguel Blanco. Programacin en Visual Basic
66
RISI 7(1), 57 - 67 (2010) Programacin en N capas
.Net - Grupo EIDOS, Madrid (Espaa), ISBN 84- 6. Joyanes Aguilar, Luis. Programacin orientada a
88457-53-7, 2002. objetos. Segunda edicin, Editorial McGraw-Hill In-
3. Roger Presuman. Ingeniera del Software: un enfo- teramericana de Espaa, ISBN 84-481-000-2015-
que prctico.Quinta edicin, McGraw-Hill Interame- 9, 1998.
ricana de Espaa, ISBN: 84-481-3214-9, 2002. 7. Herbert Schildt C++ para Programadores. McGraw
4. Gosnell Denise, Reynolds Matthew y Forgey Bill. Hill Interamericana de Espaa. ISBN 0-07-882140-
Iniciacin a Visual Basic.net Base de Datos, Dani- 1, 1996
soft (Madrid-Espaa) ISBN: 1-861005-55, 2002. 8. Francisco Charte Ojeda. Programacin de Base
5. Luis Joyanes. Programacin en C++ Algoritmos, de Datos con Visual Basic .Net - Madrid, Espaa
estructura de datos y objetos.McGraw-Hill Intera- ISBN:84-415-1375-9, 2002.
mericana de Espaa, ISBN: 84-481-2487-1, 2000. 9. Castaeda Len, Juan Jos. Aplicaciones en Ado.
Net Editorial Per-Ritisa Graff S.R.L, Lima, 1ra edi-
cin. ISBN: 9972-218-00-7, 2005.
67