Miguel Matas Blog

Ingeniería y Arquitectura de Software, Proyectos IT, Programación, Personas, Problemas, Mejora Continua, la vida.

Uso de Capas. Nuevo Ejemplo.

Hoy volvemos otra vez al tema de aplicaciones con una arquitectura en n-capas. Lo de la “n” viene al hilo de que las capas tienden a “n”, vamos, que no está definido con cuántas capas vamos a trabajar en total, si no que nuestro “n” dependerá de la arquitectura que necesitemos montar para nuestra solución.

Empezamos con una pequeña descripción del problema:

“La aplicación que necesitamos crear es un sistema de gestión de reservas. Las reservas pueden llevarse a cabo de dos maneras diferentes. La primera directamente sobre una intranet propia, a través de web, en la cual un operador sea capaz de realizar una reserva contra una plaza de un vuelo de una compañí­a aérea en concreto. La segunda se realiza de forma externa a través de internet. Son las propias compañí­as las que mediante enví­os de XML que siguen un estándar propio de cada una de ellas, contactan contra nuestra aplicación, actualizando las plazas, reservas, disponibilidades, cupos y horarios de los vuelos.”

Para resolver el problema vamos a trabajar con una arquitectura de n-capas. Siendo nuestro “n” en este caso igual a 5.

1) Capa de Presentación
2) Capa de Negocio
3) Capa de Acceso a Datos
4) Capa de Datos
5) Capa de Preformato

A continuación muestro un gráfico con la representación de la solución de arquitectura.

Estandarizando Datos Mediante Capas

La clave de esta solución de software está en la unión entre la capa de Presentación, Negocio y Preformato. La capa de Preformato será la encargada de traducir la información que llega de forma diferente desde cada una de las compañí­as y traducirla a la jerarquí­a de objetos que se utiliza para la comunicación dentro de la aplicación. Está claro que tanto trabajando directamente sobre la intranet, como a través de las conexiones externas, los conceptos a tratar, las entidades de negocio, van a ser las mismas. Lo íºnico que debemos hacer es traducir en nuestro propio “idioma” todo lo que llegue desde fuera, para poder trabajar con una capa de negocio comíºn. Esto va a liberarnos de muchí­simo trabajo, sobre todo de mantenimiento. La íºnica capa que va a depender de las definiciones de las compañí­as aéreas va a ser la de preformato. Ante un cambio de cualquiera de las compañí­as el resto de capas ni se va a inmutar.

También es efectiva esta solución a la inversa, es la capa de preformato la que sabe cómo debe comunicarse con cada una de las compañí­as aéreas. Entre la capa de Negocio y Preformato se comunicarán siempre de la misma manera.

Como podréis apreciar en este punto no hemos hablado de tecnologí­as con las que resolver el problema, ni tan siquiera cómo va a ser la comunicación XML entre las compañí­as y nuestra capa de preformato, pero como podréis ver también esto es algo que en principio no tiene por qué afectar a la definición de alto nivel que estamos realizando.

¿Dudas? ¿Mejoras?

Saludos.

Miguel.

1 comment

1 Comment so far

  1. Jeff September 2nd, 2008 6:09 am

    uhm yo solo conocia 3 capas Presentacion, Logica del Negocio, y Datos aunque conoci una cuarta que venia a ser las Entidades de Negocio estoy aprendiendo mucho de tu blog mil gracias.

Leave a reply

Please copy the string yr9Bjl to the field below: