You are on page 1of 5

Taller de Aplicaciones N Capas

Grupo IDAT

Introduccin a n-Capas
En este artculo podremos ver como, utilizando las herramientas que tenemos a nuestro alcance, podemos hacer uso de la tecnologa COM para encarar un desarrollo en n Capas y tomar las verdaderas ventajas de la reutilizacin de cdigo que nos permite la implementacin de dicha arquitectura. Encararemos el desarrollo de una aplicacin de prueba en la que construiremos las capas intermedias y, sin necesidad de tocar ningn componente, reproduciremos la misma interfaz de usuario utilizando Visual Fox Pro y Visual Basic. Despus modificaremos el origen de datos y veremos lo fcil que es cambiar de datos Visual FoxPro hacia una Base de Datos de Access (en este caso, pero podran ser otros motores como SQL Server, Oracle, etc).

Cmo llegamos a esta tecnologa


Para comprender mejor dnde estamos parados hoy o qu tecnologa estamos utilizando, debemos dar una rpida mirada hacia atrs y ver un poquito de historia acerca del desarrollo de aplicaciones con bases de datos. Cuatro arquitecturas distintas de desarrollo han pasado hasta llegar hoy a concebir el denominado desarrollo en n Capas. Mencionamos en primera instancia la primer forma de concebir nuestros programas que tuvimos al sentarnos por primera vez frente a una PC. Se acuerdan de FoxDOS o Clipper? Bueno, ah tenemos la arquitectura de una Capa o Single-Tier. Luego llegaron los servidores, y empezamos a trabajar en 2 capas o Client/Server, hasta que hace unos aos atrs, hemos empezado a or acerca del desarrollo en 3 capas, (Three-Tier Development). Sobre ste en particular vamos entrar un poco en detalle porque nos va a ser til para entender la nueva arquitectura. La idea del desarrollo en 3 capas consista en utilizar un mtodo de desarrollo para nuestros sistemas que nos permita separar esto en distintas capas. Las capas recomendadas eran: La interfaz de usuario, las reglas de negocio y la Base de Datos, la idea de esta arquitectura estaba basada principalmente en la capacidad de escalabilidad que esto nos ofrece, por ejemplo, si tenemos desarrollada una aplicacin basada en un motor de datos de VFP, y si en el desarrollo de esta, aplicamos apropiadamente las reglas de diseo de tres capas, cuando quisiramos llevar la misma a funcionar, por ejemplo, con SQL Server, no deberamos tocar mas que el motor de datos, la capa cliente quedara intacta y, como mucho algn "toque" muy superficial pudiera sufrir la capa de reglas de negocios. La siguiente figura nos grafica el concepto del funcionamiento de esta arquitectura.

Ing. Luis Castilla Arcos

-1-

Taller de Aplicaciones N Capas

Grupo IDAT

Figura 1. Modelo de diseo en tres capas. Como lo podemos ver, esta arquitectura nos permite hacer que tanto la interfaz de usuario, las reglas de negocios y el motor de datos se conviertan en entidades separadas unas de otras, lo importante es mantener bien definidas las interfaces que cada una de estas expongan para comunicarse con la otra. Al da de hoy, ya nos encontramos hablando de desarrollar aplicaciones n Tier, la que mas comnmente tenemos entre nosotros es la de cuatro capas, la capa que se agrega es la que surge de separar definitivamente las reglas de negocio de la de "Acceso a Datos". Esta arquitectura nos brinda la ventaja de aislar definitivamente nuestra lgica de negocios de todo lo que tenga que ver con el origen de datos, ya que desde el manejo de la conexin, hasta la ejecucin de una consulta, la manejar la capa de Acceso a Datos. De este modo, ante cualquier eventual cambio, solo se deber tocar un mdulo especfico, as como al momento de plantear la escalabilidad de nuestro sistema, si hemos respetado las reglas bsicas de diseo no deberamos afrontar grandes modificaciones.

Figura 2. Modelo de diseo en cuatro capas.

Ing. Luis Castilla Arcos

-2-

Taller de Aplicaciones N Capas

Grupo IDAT

La importancia de esta arquitectura


Existen muchas razones por las que usar el desarrollo de aplicaciones bajo la arquitectura de n Capas. Abstraccin total acerca del origen de datos. Las distintas capas se especializan absolutamente en la funcionalidad que deben brindar (procesamiento en las reglas de negocios o presentacin de datos en la capa cliente) sin importar cual es el origen de los datos procesados. Bajo costo de desarrollo y mantenimiento de las aplicaciones. Si bien al momento del diseo podemos observar una mayor carga de complejidad, la utilizacin de esta arquitectura nos brinda un control mas cercano de cada componente, as como tambin la posibilidad de una verdadera reutilizacin del cdigo. Por ejemplo: Si tuvisemos en nuestras reglas de negocios una funcin que nos liste el resumen de cuenta de nuestros clientes cuando un usuario de nuestra aplicacion Win32, desde su capa cliente ingrese a este mdulo se ejecuta MostrarListaCuenta() para ver el detalle en su monitor; pero si el desarrollador del sitio web de la empresa, al momento de armar la pgina de consulta nos pide esto, le diremos que simplemente cargue el componente de reglas de negocios y ejecute MostrarListaCuenta(). Como podemos ver, este es un concreto ejemplo de reutilizacin de cdigo y a su vez, una herramienta que nos ofrece seguridad, ya que mediante la utilizacin de esta arquitectura, el desarrollador de una interfaz de usuario jams llegar a manipular directamente un dato en nuestro servidor sino es a travs de un componente. Estandarizacin de las reglas de negocio. Las reglas de negocio se encuentran encapsuladas en un set de rutinas comunes y pueden ser llamadas desde diversas aplicaciones sin necesidad de saber cmo esta funciona o ha sido diseada. Por ejemplo: Suponemos que una de las funciones encapsuladas dentro de nuestras reglas de negocios se utilice para devolver los datos de un cliente. Nuestra funcin DevuelveCliente() aceptar como parmetros el cdigo de cliente y tambin procesar nuestro ID de usuario, entonces, depende de quien ejecute esta funcin ser los datos que reciba como respuesta. Ante la ejecucin de un usuario de bajo nivel sucedera esto: Ventajas del modelo

Desarrollos paralelos (en cada capa) Aplicaciones ms robustas debido al encapsulamiento Mantenimiento y soporte ms sencillo (es ms sencillo cambiar un componente que modificar una aplicacin monoltica) Mayor flexibilidad (se pueden aadir nuevos mdulos para dotar al sistema de nueva funcionalidad) Alta escalabilidad . La principal ventaja de una aplicacin distribuida bien diseada es su buen escalado, es decir, que puede manejar muchas peticiones con el mismo rendimiento simplemente aadiendo ms hardware. El crecimiento es casi lineal y no es necesario aadir ms cdigo para conseguir esta escalabilidad.

Ing. Luis Castilla Arcos

-3-

Taller de Aplicaciones N Capas

Grupo IDAT

Como tecnologa, las arquitecturas de n-capas proporcionan una gran cantidad de beneficios para las empresas que necesitan soluciones flexibles y fiables para resolver complejos problemas inmersos en cambios constantes. En Kynetia, como empresa de desarrollo especializada en plataformas distribuidas, podemos ayudarle identificando las tecnologas disponibles que mejor se adapten a su negocio y que mayores ventajas le puedan proporcionar. Trabajamos con todos los estndares del mercado relacionados con la computacin distribuida, incluyendo CORBA, DNA (DCOM/COM+), EJB, XML, Java, Servidores de Aplicaciones, etc. Estas y otras tecnologas relacionadas con las arquitecturas en n-capas y las comunicaciones tendrn profundos efectos en el futuro, tanto en los negocios como en el mundo en el que vivimos. La revolucin del conocimiento es un evento global al que todas las compaas han de prestar mucha atencin de cara a un futuro inmediato. Segn vallamos avanzando en el nuevo milenio, las empresas, los pases y las personas a lo largo de todo el mundo van a incrementar el desarrollo de su riqueza por medio de una comunicacin global y una cooperacin extensible a todos los niveles. El crecimiento de la ciencia y la tecnologa, combinado con el florecimiento de Internet y las economas basadas en mercados globales abiertos, contribuirn de forma conjunta a que la economa del Siglo XXI nos conduzca a una prosperidad sin precedentes. Algo obvio en nuestros das es que el futuro de la informtica no es el ordenador de escritorio, sino Internet. La arquitectura emergente basada en los estndares Internet es "Navegador/Red", significando que desde ahora, el foco estar en la informtica basada en Red. Sern aplicaciones que nicamente existan en las redes y que estarn disponibles para cualquiera, en cualquier lugar y en cualquier momento. Todas las aplicaciones basadas en n-capas permitirn trabajar con clientes ligeros, tal como navegadores de Internet, WebTV, Telfonos Inteligentes, PDAs (Personal Digital Assistants o Asistentes Personales Digitales) y muchos otros dispositivos preparados para conectarse a Internet. De este modo, las arquitecturas de n-capas se estn posicionando rpidamente como la piedra angular de los desarrollos de aplicaciones empresariales y las compaas estn adoptando esta estrategia a una velocidad de vrtigo como mecanismo de posicionamiento en la economa emergente que tiene su base en la red (lo que se ha venido a denominar "Nueva Economa"). Actualmente, la Red (Internet, intranets y extranets) es el ordenador o, como dira Sun Microsystems, el ordenador es la Red. Este paradigma est creando un cambio fundamental en los modelos de computacin que, a su vez, proporciona desafos y oportunidades como nunca antes haba se haban producido. Las arquitecturas basadas en n-capas permiten a los componentes de negocio correr en una LAN, WAN o Internet. Esto significa que cualquiera con un ordenador y conexin a la Red (por ejemplo, un miembro del equipo de fuerza de ventas) posee toda la funcionalidad que tendra si se encontrase delante de su sistema de escritorio.

Ing. Luis Castilla Arcos

-4-

Taller de Aplicaciones N Capas

Grupo IDAT

Realmente, los componentes distribuidos de una arquitectura de n-capas es una tecnologa esencial para crear la siguiente generacin de aplicaciones e-business, aplicaciones que son altamente escalables, fiables y que proporcionan un alto rendimiento y una integracin sin fisuras con los sistemas de back-end heredados. N-Capas significa e-business Como se ha podido ver hasta este momento, n-capas no es una tecnologa, sino una estrategia de uso de las tecnologas para crear un negocio a la vez que se obtiene todo el potencial de ste inherente a Internet. La informtica basada en n-capas no se refiere solamente al despliegue de clientes ligeros de bajo coste conectados a servidores de aplicaciones muy flexibles con balanceo de carga e integrados con bases de datos distribuidas existentes a lo largo de diferentes plataformas y localizaciones. En realidad tiene que ver con la aplicacin de las tecnologas relacionadas con desarrollos en n-capas para mejorar el conocimiento de los negocios y proveer un servicio de valor mediante la aplicacin de esta avanzada tecnologa como una solucin para envolver oportunidades del mundo real. Para tener xito en el futuro, una compaa debe hacer ms que establecer simples canales de comercio electrnico. Las organizaciones de maana tienen que reconfigurarse a s mismas de forma continua, tanto interna como externamente, como un negocio electrnico camalenico, creando rpidamente relaciones y maximizando el rendimiento de una "empresa extendida". Los sistemas de informacin de negocio sern cada vez ms adaptables, permitiendo la modernizacin regular de las estrategias de e-business y los modelos de negocio.

Ing. Luis Castilla Arcos

-5-

You might also like