Está en la página 1de 5

Diseo de Aplicaciones Distribuidas: Programacin en Tres Capas | Bb...

http://bbionicss.wordpress.com/2008/12/01/diseno-de-aplicaciones-dis...

Bbionicsss Blog
Just another WordPress.com weblog permanece al da va rss

Diseo de Aplicaciones Distribuidas: Programacin en Tres Capas


Publicado: diciembre 1, 2008 en Uncategorized 0 El About diseo these deads aplicaciones (hp://en.wordpress.com/about-these-ads/) modernas involucra la divisin de una aplicacin en mltiples capas la interface de usuario, la capa media de objetos de negocios, y la capa de acceso a datos. Puede ser til identicar los tipos de procesamiento que podemos esperar que una aplicacin realice. Muchas aplicaciones pueden, al menos, hacer lo siguiente: Clculos u otros procesos de negocios. Ejecucin de reglas de negocios. Validacin de datos relacionados al negocio. Manipulacin de datos. Ejecucin de las reglas de datos relacional. Interactuar con aplicaciones externas o servicios. Interactuar con otros usuarios. Ventajas: El desarrollo se puede llevar a cabo en varios niveles y, en caso de que sobrevenga algn cambio, slo se ataca al nivel requerido sin tener que revisar entre cdigo mezclado. Un buen ejemplo de este mtodo de programacin sera el modelo de interconexin de sistemas abiertos. Permite distribuir el trabajo de creacin de una aplicacin por niveles de este modo, cada grupo de trabajo est totalmente abstrado del resto de niveles, de forma que basta con 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 de mayor auge actualmente es el diseo en tres niveles (o en tres capas).

1 de 5

28/06/2013 03:08 p.m.

Diseo de Aplicaciones Distribuidas: Programacin en Tres Capas | Bb...

http://bbionicss.wordpress.com/2008/12/01/diseno-de-aplicaciones-dis...

Nosotros podemos tomar estos tipos de servicios y generalizarlos dentro de los tres grupos o capas que a continuacin se resumen: Interface de usuario (Capa de Presentacin) Interactuar con otros usuarios. Interactuar con aplicaciones externas o servicios. Procesos de negocios (Capa de Negocios) Clculos u otros procesos de negocios. Ejecucin de reglas de negocios. Validacin de datos relacionados al negocio. Procesos de datos (Capa de Servicios de Datos). Manipulacin de datos. Ejecucin de las reglas de datos relacional. La divisin de estos procesos de aplicaciones y su distribucin entre diferentes procesos cliente/servidor son conocidas como Procesamiento Distribuido. Generalizando estos procesos dentro de estas tres categoras o capas es una distribucin lgica y no reeja necesariamente alguna opcin de diseo fsico sobre computadoras, terminales u otros equipos. Se puede desarrollar una aplicacin cliente/servidor distribuida basada sobre estas tres capas de Presentacin, Lgica de Negocios y Servicios de Datos y tener la aplicacin entera corriendo sobre una simple computadora. Alternativamente, se puede esparcir estas tres capas a travs de un gran nmero de diferentes computadoras sobre una red. De cualquier forma se ha desarrollado una aplicacin cliente/servidor de tres capas.

Capa de Presentacin: Es la que ve el usuario (tambin se la denomina capa de usuario), presenta el sistema al usuario, le comunica la informacin y captura la informacin del usuario en un mnimo de proceso (realiza un ltrado previo para comprobar que no hay errores de formato). Tambin es conocida como interfaz graca y debe tener la caracterstica de ser amigable (entendible y fcil de usar) para el usuario. La capa de Presentacin provee una aplicacin con una interface de usuario (IU). Aqu es donde la aplicacin presenta informacin a los usuarios y acepta entradas o respuestas del usuario. Idealmente, la IU no desarrolla ningn procesamiento de negocios o reglas de validacin de negocios. Por el contrario, la IU debera relegar sobre la capa de negocios para manipular estos asuntos. Esto es importante, especialmente hoy en da, debido a que es muy comn para una aplicacin tener mltiples IU, o para sus clientes o usuarios, que le solicitan que elimine una IU y la remplace con otra. Por ejemplo, usted puede desarrollar una aplicacin Win32 (un programa en Visual Basic) y entonces solicitrsele remplazarla con una pgina HTLM., quizs usando tecnologa ASP. Una de las mayores dicultades y factores importantes cuando desarrollamos aplicaciones cliente/servidor es mantener una separacin completa entre la presentacin, la lgica de negocios y los
2 de 5 28/06/2013 03:08 p.m.

Diseo de Aplicaciones Distribuidas: Programacin en Tres Capas | Bb...

http://bbionicss.wordpress.com/2008/12/01/diseno-de-aplicaciones-dis...

servicios de datos. Es muy tentador para los desarrolladores mezclar una o ms capas poniendo alguna validacin u otro proceso de negocios dentro de la capa de presentacin en vez de en la capa de negocios.

Capa de Negocios: Toda aplicacin tiene cdigo para implementar reglas de negocios, procesos relacionados a los datos o clculos y otras actividades relativas a los negocios. Colectivamente este cdigo es considerado para formar la capa de negocios. Otra vez, uno de los principios del diseo lgico cliente/servidor, la lgica de negocios debe mantenerse separada de la capa de presentacin y de los servicios de datos. Esto no signica necesariamente que la lgica de negocios est en cualquier parte, por el contrario, esta separacin es en un sentido lgico. Hay muchas formas de separar la lgica de negocios. En trminos orientados a objetos, usted debera encapsular la lgica de negocios en un conjunto de objetos o componentes que no contienen presentacin o cdigo de servicios de datos. Teniendo separada lgicamente su lgica de negocios de ambas, la capa de presentacin y servicios de datos, usted ganar en exibilidad en trmino de donde usted puede almacenar fsicamente la lgica de negocios. Por ejemplo, usted puede seleccionar almacenar la lgica de negocios sobre cada estacin de cliente, u optar por ejecutar la lgica de negocios sobre un servidor de aplicaciones, permitiendo a todos los clientes acceder a un recurso centralizado. Los objetos de negocios son diseados para reejar o representar sus negocios. Ellos se convierten en un modelo de sus entidades de negocios e interrelaciones. Esto incluye tanto objetos fsicos como conceptos abstractos. Estos son algunos ejemplos de objetos del mundo real: un empleado, un cliente, un producto, una orden de compra. Todos estos son objetos en el mundo fsico, y la idea en su totalidad detrs de usar objetos de negocios de software, es crear una representacin de los mismos objetos dentro de su aplicacin. Sus aplicaciones pueden hacer que estos objetos interacten unos con otros como ellos lo hacen en el mundo real. Por ejemplo, un empleado puede crear una orden de compra a un cliente que contiene una lista de productos. Siguiendo esta lgica usted puede crear objetos de negocios de una orden conteniendo el cdigo necesario para administrarse a s mismo, as usted nunca necesitar replicar cdigo para crear rdenes, usted solo usar el objeto. Similarmente, un objeto cliente contiene y administra sus propios datos. Un buen diseo de un objeto cliente contiene todos los datos y rutinas necesitadas para representarlo a travs del negocio completo, y puede ser usado a travs de toda la aplicacin de ese negocio. No toda la lgica de negocio es la misma. Alguna lgica de negocio es un proceso intensivo de datos, requiriendo un eciente y rpido acceso a la base de datos. Otras no requieren un frecuente acceso a los datos, pero es de uso frecuente por una interface de usuario robusta para la validacin en la entrada de campos u otras interacciones de usuarios. Si nosotros necesitamos una validacin al nivel de pantallas y quizs clculos en tiempo real u otra lgica de negocios, pudiramos considerar este tipo de lgica de negocios para ser parte de la IU, ya que en su mayor parte es usada por la interface de usuario. Una alternativa de solucin es dividir la capa de lgica de negocios en dos: Objetos de negocios de la IU. Objetos de negocios de datos.

3 de 5

28/06/2013 03:08 p.m.

Diseo de Aplicaciones Distribuidas: Programacin en Tres Capas | Bb...

http://bbionicss.wordpress.com/2008/12/01/diseno-de-aplicaciones-dis...

Un ejemplo del objeto Empleado de la capa objetos de negocios de la IU proveer propiedades y mtodos para usar por el diseador de la interface de usuario. Ejemplo de propiedades y mtodos pudieran ser: IDEmpleado, Nombre, Direccin, etc., y como mtodos crear una de compra, etc. El objeto Empleado de la capa de objetos de negocios de datos ser responsable de los mecanismos de persistencias, interactuar con la base de datos. Los objetos de esta capa son considerados sin estado, solo poseen mtodos. Capa de Servicios de Datos: Es donde residen los datos y es la encargada de acceder a los mismos. Puede estar 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. Muchas aplicaciones interactan con datos, los almacenan en alguna forma de bases de datos. Hay algunas funciones bsicas que son comunes a todos los procesos. Estas incluyen: Crear datos. Leer datos. Actualizar datos. Eliminar datos. Adicionalmente, tambin tenemos servicios ms avanzados disponibles, tales como: Bsquedas, ordenamientos, ltrados, etc. Todas estas capas pueden residir en un nico ordenador, 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 ms ordenadores. 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 ms 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. A continuacin expongo un diagrama donde explico las caractersticas anteriormente dichas:

4 de 5

28/06/2013 03:08 p.m.

Diseo de Aplicaciones Distribuidas: Programacin en Tres Capas | Bb...

http://bbionicss.wordpress.com/2008/12/01/diseno-de-aplicaciones-dis...

(hp://bbionicss.les.wordpress.com/2008/12/app3capas.jpg)

Blog de WordPress.com. | The Greyzed Theme. por The Forge Web Creations.

5 de 5

28/06/2013 03:08 p.m.

También podría gustarte