• a

  •  

    Marzo 2009
    L M X J V S D
    « Feb   Sep »
     1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031  
  • Nube de Categoria

ASP NET: Como crear una Aplicacion de 3 Capas con Entidades (3ra. parte)

Perdon por la demora, pero ahora seguiremos con este tutorial en su 3ra. parte.

Dare un resumen, aqui haremos que las 3 capas se comuniquen via una entidad definida. Esta entidad es la que “viajara” a traves de nuestras distintas capas llevando o trayendo informacion.

Para esta tercera parte, esta comunacion sera una simulacion a una consulta en una base de datos. La comunicacion “real” sera para que en la proxima entrega, solo cambiaremos el codigo de esta funcion sin tocar el resto del proyecto.

Agregaremos a nuestra capa de Datos una nueva clase que denominaremos BaseDatos.cls

3capas041

Luego, crearemos una funcion denominada daConsultaCliente. El “da” lo agrego por el ingles DataAccess y es para mantener una correlacion con la capa de negocios que veremos mas adelante.

3capas043

Antes de continuar, una FE DE ERRATAS: en la entrega anterior, les hice hacer una referencia a la libreria System.Data.SqlClient en la Capa de Datos. Como por defecto ya esta la referencia System.Data, esto provoca problemas de ambiguedad. Como muestra la figura a continuacion:

3capas042

Asi que la referencia System.Data.SqlClient (indicada de la 2da. Parte) eliminenla con el boton derecho (Remove Reference)

Ahora entrego el codigo de la funcion daConsultaCliente.

Codigo VB.NET

Imports System.Data.SqlClient
Imports CapaEntidades

Public Class BaseDatos

Public Function daConsultaCliente(ByVal NroCta As Integer) As CapaEntidades.cliente
Dim miCliente As New CapaEntidades.cliente

miCliente.nro_cuenta = 1
miCliente.rut = 999
miCliente.dv = “k”
miCliente.nombre_cliente = “juan”
miCliente.apellido_cliente = “perez”

Return miCliente

End Function

End Class

Aqui se hacen los IMPORTS a las librerias de SQLCLIENT y de la CAPAENTIDADES. La funcion devuelve un objeto del tipo “cliente” que es nuestra ENTIDAD.

Luego, le asigno valores a discrecion para este ejemplo. Y finalmente retorno mi variable de tipo “cliente”.

Ahora nos vamos a la Capa de Negocios donde agregaremos una nueva clase que se llamara ReglasNegocio.cls

3capas043

Luego crearemos una funcion que ejecute daConsultaCliente en la Capa de Datos. Esta se llamara blConsultaCliente. El “bl” es por BussinessLogic , ¿ya? :)

Esta funcion, recibira el parametro enviado por la Capa Cliente (la pagina web en este caso) y solicitara la consulta a la Capa de Datos recibiendo un objeto del tipo “cliente”. El cual sera devuelto a la Capa Cliente.

3capas044

Codigo VB.NET

Imports CapaEntidades
Imports CapaDatos

Public Class ReglasNegocio

Public Function blConsultaCliente(ByVal NroCta As Integer) As CapaEntidades.cliente
Dim miCliente As New CapaEntidades.cliente
Dim miBase As New BaseDatos

miCliente = miBase.daConsultaCliente(NroCta)

Return miCliente
End Function

End Class

Finalmente, en nuestra pagina web haremos un llamado a la Capa de Negocios para que traiga los datos solicitados.

Para esto, programaremos el evento Page_Load, para hacer de manera simple.

Crearemos una objeto del tipo Capa de Negocios para poder solicitar los datos. Una vez hecha la solicitud, recibiremos un objeto del tipo “cliente” que es nuestra entidad, la cual sera desplegada en pantalla.

3capas047

Codigo VB.NET

Imports CapaEntidades
Imports CapaNegocios

Partial Class _Default
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim RegNeg As New ReglasNegocio
Dim miCliente As New cliente

miCliente = RegNeg.blConsultaCliente(1)

Response.Write(“rut :” & miCliente.rut & “-” & miCliente.dv & “
“)
Response.Write(“nombre :” & miCliente.nombre_cliente & “
“)
Response.Write(“apellido :” & miCliente.apellido_cliente & “
“)

End Sub

End Class

Si se preguntan por el numero 1 que indico a la funcion, por el momento es solo para completar codigo (mas adelante lo ocuparemos como corresponde). Finalmente, el resultado debe ser el siguiente:

3capas046

Bueno, eso seria la (tan esperada) 3ra Parte, es una simulacion pero sirve para entender como se usan las Entidades en las 3 Capas.

En la 4ta. entrega, veremos como modificar la capa de datos para que haga una consulta a una base de datos SQL Server.

Links:
ASP NET: Como crear una Aplicacion de 3 Capas con Entidades (1ra. parte)

ASP NET: Como crear una Aplicacion de 3 Capas con Entidades (2da. parte)

TYDW.-

17 comentarios

  1. Cuando cargue el proyecto que tenia guardado de las entragas anteriores no se cargo nada. Es decir cargue el archivo 3Capas.sln que esta en la carpeta 3capas y abre pero no aparecen las demas carpetas, asi debe pasar o tengo que hacer todo lo anterior para cargar el proyecto?

  2. es extraño eso que te ocurrio

    pero si no te cargan los proyectos, los puedes agregar a mano.

    revisa el proyecto y me avisas como te fue.

    atte.

  3. Cuando lo guarde otra vez me guardo un proyecto con nombre Web3Capas.sln, ese si abre todo completo pero me lo guardo en la ruta: \Mis documentos\Visual Studio 2005\Projects\Web3Capas.
    Si es ese el nombre del proyecto que debe cargarlo todo?

  4. Puxa esta bacan pero me sale un erro al executar

    dice:

    nose puede iniciar la depuracioon en el servidor web.
    el servidor no admite la depuracion de aplicaciones del servidor ATL O ASP.NET.

    q debo hacer

  5. [...] ASP NET: Como crear una Aplicacion de 3 Capas con Entidades (3ra. parte) [...]

  6. [...] ASP NET: Como crear una Aplicacion de 3 Capas con Entidades (3ra. parte) [...]

  7. esta intersante aunque es un ejemplo uy pobre pero bueno ya he hcho capas en windows form algo complejas asi que las pasare a asp net solo que no sabia como armas las capas pero muy bien gracias

  8. Hola, que buen material, espero que tu valioso tiempo te de la oportunidad de darnos la 4ta parte pronto

    un saludo

    desde Mexico

  9. que tal me parece muyinteresate, por que fechas nos podrias dar la 4ta parte ?

    felicidades y gracias

  10. primero que todo muchas gracias… muy buena explicacion, Espero pronto sea la 4ta entrega y si es en C# seria monumental :D . muchas gracias.

  11. Perfecto..!!!

    Para cuando la siguiente entrega..???

  12. Hola Sr, estoy siguiendo tu tutorial y la verdad que estas en 10 puntos, estoy impaciente por los nuevos capitulos

    Gracias por tu tiempo

  13. Por casualidad tienes algun tutorial o manual de Csharp con Visual Estudio(2005) ya que estoy recien en el tema de Csharp y no entiendo mucho, aunque tengo mas que claro que este lenguaje es copia de Java, lo cual lo encuentro que tiene una ensalada de parametros, funciones etc, y necesito entenderlo pero no solamente como concepto, sino a modo de utilizacion de aplicaciones (visual with Csharp)

    Se le agradeceria bastante su ayuda

  14. ESTOY EMBALADO SIGUIENDO EL TUTORIAL
    QUE ADEMAS ESTA MU WENO
    AUN ESPERANDO LA 4A ENTREGA

    SALUDOS

  15. Hola, revisando tu post, observo que desde la vista estas haciendo referencia a la capa de entidades, lo cual no esta bien… te recomendaria que implementes un abstract factory… y de esta forma se trabaja con 3 capas bien separadas unas de otras…

  16. que tal cuando la 4ta parte???

  17. Y la 4ta parte me urge mucha :(

Escribe un comentario