domingo, 30 de mayo de 2010

Creando una Aplicacion Web Basada en Arquitectura N-Capas

Introduccion

El desarrollo de software es una tarea que requiere tener conocimientos variados, tanto de capacidad de diseño, capacidad de analisis, capacidad de programacion, todas estas actividades deberian ser realizadas por un equipo, conformados por profesionales multidisiplinarios que reunan todos sus conocimientos en la elaboracion o desarrollo de un producto.

Una de estas Capacidades es la de poder representar una arquitrctura tanto logica como fisica a traves de Algoritmos que permitan recrear esta idea y transformarla en algo que se pueda ver mediante un IDE y un lenguaje de programacion.

Diseño Arquitectonico N-Capas


Capa de Acceso a Datos (Persistencia)

La Capa de acceso a datos la representaremos a traves de librerias de clases que permitan interactuar con una fuente datos.

Ejemplo en codigo VB.Net


#Region "Libreria"
Imports System.Data.Common
Imports System.Data.SqlClient
Imports System.Data.SqlTypes
Imports BESEC = BE.Seguridad
#End Region
Namespace Seguridad
Public Class PersonaDAO

#Region "Manejador de Datos Sql"

Public Function Conectar() As Boolean
Dim Estado As Boolean = False
Dim cn As SqlConnection = New SqlConnection()
Dim cmd As SqlCommand = New SqlCommand()
Try
cn.ConnectionString = "Data Source=JCPEINADO-PC\SQLEXPRESS;Initial Catalog=dbPrueba;Integrated Security=True"
cn.Open()
cmd.Connection = cn
cmd.CommandType = CommandType.Text
cmd.CommandText = "SELECT * FROM RegPersona"
Dim obj As SqlDataReader = cmd.ExecuteReader()
Catch ex As Exception
Return Estado
Finally
Estado = True
End Try
cn.Close()
cmd.Dispose()
Return Estado
End Function

Capa de Negocio (BC)

La capa de Negocio permite interactuar con la capa de acceso a datos, permitiendo asi la separacion de funciones o delegacion.


#Region "Librerias"
Imports DAL.Seguridad
Imports BE.Seguridad
#End Region
Namespace Seguridad
Public Class Personas
Public Function Conectar() As Boolean
Dim DALObj As PersonaDAO = New PersonaDAO()
Return DALObj.Conectar()
End Function

Public Function Listado() As List(Of Persona)
Dim ObjPersona As PersonaDAO = New PersonaDAO()
Return ObjPersona.Listado()
End Function
End Class
End Namespace

Capa de Presentacion

La capa de presentacion se sirve de la capa de negocios para poder presentar los datos que la capa de negocio le entrega.


Imports BC.Seguridad
Partial Class _Default
Inherits System.Web.UI.Page

Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load
Dim BcObj As Personas = New Personas()
If BcObj.Conectar() Then
Response.Write("La coneccion fue exitosa !!!")
End If
dgPersona.DataSource = BcObj.Listado()
dgPersona.DataBind()
End Sub

1 comentario:

Ing Marcial Garcia C. dijo...

muy buena forma de encapsular los datos, la clasica 3 capa..

Google Colab + Python

  ¿Que es Google Colab? Colab es una plataforma cloud, que permite a sus usurios programadores trabajar sobre una plataforma primero multile...