Está en la página 1de 16

Agosto 2010

Qu es una aplicacin multi-capas? Divisin de funcionalidades

Capa de presentacin
Capa de reglas de negocio Capa de datos
http://geeks.ms/blogs/oberroteran

Es un patrn para aplicaciones empresariales Divide la funcionalidad (de acuerdo a su funcin o propsito) de las aplicaciones en capas (tiers o layers) separadas. Usualmente se dividen en 3 capas
Capa de presentacin: contiene la funcionalidad para mostrar/actualizar la IU Capa de reglas de negocio: contiene la funcionalidad para implementar/validar las reglas de negocio Capa de datos: contiene la funcionalidad para comunicarse con el origen de datos

http://geeks.ms/blogs/oberroteran

En algunos casos esta capas se dividen en otras de similar funcionalidad

Por qu dividir?
Para aumentar la productividad durante el ciclo de vida de un desarrollo de software

Cmo esta divisin mejora o aumenta la productividad?


Mantenimiento Reusabilidad Facilidad de optimizacin
http://geeks.ms/blogs/oberroteran

Contiene la funcionalidad para mostrar/actualizar la interfaz de usuario


Cuando el usuario no sea de tipo Admin ocultar

este botn

Cuando se realice una seleccin sobre este control,

llenar este control con estos datos

Esta capa invoca a la capa de reglas de negocio para implementar la lgica del negocio
http://geeks.ms/blogs/oberroteran

Contiene la funcionalidad para implementar/validar la lgica de negocio


Si el producto es exento, no incluir el impuesto

Calcular el cargo por envo en base al peso del envo


Si la Cantidad > Existencia, la fecha de envo de la

orden es = fecha de recepcin del prximo pedido

Esta capa invoca a la capa de datos para todas las comunicaciones con el origen de datos
http://geeks.ms/blogs/oberroteran

Contiene la funcionalidad para comunicarnos con la base de datos o el origen de datos


Devolver la lista de productos Actualizar el inventario para el producto XXXX Eliminar producto XXXX de inventario

Debe evitar un acoplamiento con el origen de datos, as un cambio en el motor de base de datos, no afectar las aplicaciones
http://geeks.ms/blogs/oberroteran

Modelo basado en ORM (ENTIDAD-RELACION)


1 Tabla = 1 Clase 1 Columna = 1 Propiedad Select * = List<TuClase> 1 registo = 1 objeto 1 relacion = 1 Propiedad (tipo clase)

Se recomienda que las validaciones sean bsicas


NOT NULL SIZE

La asignacin de valores, ejecucin de consultas, conexin, etc. se debe realizar a travs de una clase de servicio La clase de servicio debe incluir un mtodo o funcin para transformar un registro en una entidad.
IdProducto IdProducto Producto Precio Producto Precio Existencia Existencia

Las excepciones son manejadas dentro de la capa o enviadas (raised) a la capa que llama.

Las capas llamadoras (calling tiers) capturan las excepciones y toman las acciones o correctivos necesarios
Muchas veces las excepciones son manejadas en la misma capa

Los envos de ordenes no pueden exceder xxx Kgs. de peso, por lo que la capa de reglas de negocio divide la orden en varios envos

En otros casos las excepciones son enviadas a la capa de presentacin para informar al usuario

Uno de los productos que ud. seleccion, actualmente no tiene existencia en nuestro deposito, esto puede demorar la entrega de su orden. Qu desea hacer?

http://geeks.ms/blogs/oberroteran

Explicacin grfica

http://geeks.ms/blogs/oberroteran

Comunmente
IU

Correctamente
Business Layer IU
Ver Lista Autores Getautores Retorna Entidad

Data Layer Services


selectautores Transforma RowEntidad

Entidades

http://geeks.ms/blogs/oberroteran

http://geeks.ms/blogs/oberroteran