You are on page 1of 17

La programacin por capas es un estilo de programacin en la que el objetivo primordial es la separacin de la lgica de negocios de la lgica de diseo, un ejemplo bsico

de esto es separar la capa de datos de la capa de presentacin al usuario.

La ventaja principal de este estilo, es que el desarrollo se puede llevar a cabo en varios niveles y en caso de algn cambio solo se ataca al nivel requerido sin tener que revisar entre cdigo mezclado. Un buen ejemplo de este mtodo de programacin sera: Modelo de interconexin de sistemas abiertos Adems permite distribuir el trabajo de creacin de una aplicacin por niveles, de este modo, cada grupo de trabajo est totalmenteabstrado del resto de niveles; simplemente es necesario conocer la API que existe entre niveles. En el diseo de sistemas informticos actual se suele usar las arquitecturas multinivel o Programacin por capas. En dichas arquitecturas a cada nivel se le confa una misin simple, lo que permite el diseo de arquitecturas escalables (que pueden ampliarse con facilidad en caso de que las necesidades aumenten). El diseo ms en boga actualmente es el diseo en tres niveles (o en tres capas). Capas o niveles 1.- Capa de presentacin: es la que ve el usuario (hay quien la denomina capa de usuario), presenta el sistema al usuario, le comunica la informacin y captura la informacin del usuario dando un mnimo de proceso (realiza un filtrado previo para comprobar que no hay errores de formato). Esta capa se comunica nicamente con la capa de negocio. 2.- Capa de negocio: es donde residen los programas que se ejecutan, se reciben las peticiones del usuario y se envan las respuestas tras el proceso. Se denomina capa de negocio (e incluso de lgica del negocio) pues es aqu donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la capa de presentacin, para recibir las solicitudes y presentar los resultados, y con la capa de datos, para solicitar al gestor de base de datos para almacenar o recuperar datos de l. 3.- Capa de datos: es donde residen los datos y es la encargada de acceder a los datos. Est formada por uno o ms gestores de bases de datos que realizan todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperacin de informacin desde la capa de negocio.

Todas estas capas pueden residir en un nico ordenador (no es lo tpico). Si bien lo ms usual es que haya una multitud de ordenadores en donde reside la capa de presentacin (son los clientes de la arquitectura cliente/servidor). Las capas de negocio y de datos pueden residir en el mismo ordenador, y si el crecimiento de las necesidades lo aconseja se pueden separar en dos o msordenadores. As, si el tamao o complejidad de la base de datos aumenta, se puede separar en varios ordenadores los cuales recibirn las peticiones del ordenador en que resida la capa de negocio. Si por el contrario fuese la complejidad en la capa de negocio lo que obligase a la separacin, esta capa de negocio podra residir en uno o mas ordenadores que realizaran solicitudes a una nica base de datos. En sistemas muy complejos se llega a tener una serie de ordenadores sobre los cuales corre la capa de datos, y otra serie de ordenadores sobre los cuales corre la base de datos.

En una arquitectura de tres niveles, los trminos capas y niveles no significan lo mismo ni son similares.

El trmino capa hace referencia a la forma como una solucin es segmentada desde el punto de vista lgico: Presentacin/ Lgica de Negocio/ Datos. En cambio, el trmino nivel, corresponde a la forma en que las capas lgicas se encuentran distribuidas de forma fsica.
Por ejemplo: Una solucin de tres capas (presentacin, lgica, datos) que residen en un solo ordenador (Presentacin+lgica+datos). Se dice, que la arquitectura de la solucin es de tres capas y un nivel. Una solucin de tres capas (presentacin, lgica, datos) que residen en dos ordenadores (presentacin+lgica, lgica+datos). Se dice que la arquitectura de la solucin es de tres capas y dos niveles. Una solucin de tres capas (presentacin, lgica, datos) que residen en tres ordenadores (presentacin, lgica, datos). La arquitectura que la define es: solucin de tres capas y tres niveles. Creando una aplicacin en tres capas desde cero usando Visual Studio 2008 y SQL Server 2005. Parte II Posted by pabloacastillo en Febrero 27, 2008 Hoy luego de llegar muy cansado del trabajo decid escribir la parte dos de este tutorial que espero se extienda lo ms posible hasta que la gente que no tiene idea (as como estaba yo ) los aprenda a hacer y sin leer los miles de tutores que existen que explican explican y explican y uno queda en lo mismo :S. Primero repasaremos: 1. Mi servidor de base de datos: mi SQLServer 2005 express. 2. Mi capa de datos: usaremos en esta parte un dataset y con procedimientos almacenados en el servidor de bases de datos. 3. Mi capa de negocio: una clase que se comunique con la capa de datos usando el table adapter.

4. Mi capa de UI (de presentacin) : unas pantallitas que solo capturan datos, tienen los validadores necesarios y ms nada. Cuantos niveles a emplear???? UNO porque lo hago en mi laptop todo jeje. Ahora comencemos, mi propuesta es hacer una aplicacin que realice lo siguiente:

Se desea una aplicacin que actualice los datos de los empleados, los empleados ingresen sus datos y den la opcin de actualizarlos con la idea de tener los datos de RRHH al da etc etc etc.
Lo primero que vamos a disear es nuestra base de datos BIEN SENCILLA porque nuestro tutor consiste en aprender las capas y tener la idea de cmo hacerlo e implementarlo con nuestros proyectos. Los campos de nuestra nica tabla son Documento de identidad. Nmero de carnet. Fecha de nacimiento. Nombres y apellidos. Entonces nos vamos al sqlserver y creamos manualmente la tablita.

A la tabla le puse como nombre RRHH! Ahora al Visual Studio 2008, creamos un proyecto web , seleccionamos framework 3.5 y C#, cuando ya tengamos el proyecto creado agregamos una carpeta App_code que es donde crearemos nuestra DAL (capa de datos) y BLL (capa de negocio o intermedia).

Para la BLL agregamos un archivo de clases de C# y lo llamamos bll.cs

Esa clase bll.cs tendr el siguiente cdigo pero si lo compilas te dar error porque an le falta: using System; using System.Data; using System.Configuration; using System.Linq;

using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; /// <summary> /// Summary description for bll /// </summary> public class bll { public bll() { // // TODO: Add constructor logic here // } public sealed class RRHH { public RRHH() { // } public static int insertar(datos dt) { int Valor; return Valor; } } } Luego crearemos otro archivo de clases y le colocaremos la siguiente declaracin: using System; using System.Data; using System.Configuration; using System.Linq;

using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; /// <summary> /// Summary description for factory /// </summary> public struct datos { public string documento; public string carnet; public DateTime fechanac; public string nombres; } Ya veremos el para que de esto ! Ahora procederemos a crear nuestra DAL. Agregaremos a nuestro proyecto un dataset con nombre rrhh.xsd

Una vez ya agregado veremos el archivo creado en nuestra carpeta App_code

Ahora crearemos un tableadapter para acceder a nuestra base de datos. Para ello haremos clic derecho en La pantalla anterior y se mostrar un men desplegable.

Ahora se mostrar un wizard de conexin, cuando lleguemos a la pantalla siguiente:

Le diremos create new stored procedures Ahora clic en Query Builder

Ahora en la pantalla de colocar los querys.

Una vez dado al botn de NExt aparecer otra pantalla para colocar los nombres de los querys, yo les voy a poner nombres descriptivos. Ahora le damos next next finish hasta que finalize el asistente y veamos algo asi.

Luego continuar con la parte III siendo sincero estoy un poco cansado y necesito descansar. Prometo terminar esta semana es decir continuar con la construccin de la capa DAL y BLL que son bien sencillas. Pablo. No olviden visitar mi otro blog: www.sistemasweb.com.ve/pablo

Creando una aplicacin en tres capas desde cero usando Visual Studio 2008 y SQL Server 2005. Parte III Posted by pabloacastillo en Marzo 3, 2008 Continuamos con la parte III de este tutor! Vamos a crear un stored procedure que inserte en la base de datos los datos de los usuarios. Usaremos el Visual Studio 2008 para ello, en la pantalla de nuestro dataset agregamos un query:

Una vez ya realizado eso aparecer una pantalla como esta:

Creamos el nuevo procedimiento almacenado:

Al hacer clic en Next le damos clic al botn Query Builder.

Ojo eso lo tenemos que hacer nosotros, tampoco es tan automatico. Le damos clic en OK.

Le ponemos nombre InsertarUsuario

Next, next y luego finish. Se acabo el proceso y luego observamos nuestro query creado.

Observen que el tableadapter se llama rrhhTableAdapter. Ahora nos vamos a la capa de negocio y creamos nuestra funcin: Importante agregar el tableadapter en la capa intermedia:

Ahora observemos el cdigo, pues desde la capa solo insertaremos pero sin hacer validaciones ya que solo nos interesa saber como comunicarnos entre las capas (por lo menos en este tutor)

Ojo le agregamos lo sombreado a nuestra clase ya que no es un namespace todava.

Ojo observen que la declaracin de la clase rrhh va afuera de la clase bll, olvide cambiar eso ya aqu sale cambiado:

Ahora en nuestro WebForm agregamos el namespace bll y llamamos a nuestra funcin:

Y ya tenemos una comunicacin entre las capas, pero aun le faltan los detalles de validacin y depuracin, as que si compilan vern que funciona bien inserta y todo pero si colocan los parmetros de fecha y solo cadenas string. Si introducen otro tipo de valor arrojara un error faltan las validaciones.

Continuaremos con esos detalles en la parte IV de este tutorial. Gracias por leerme.

You might also like