Ventanas y Desarrollo:
Las 3 capas
 

08 de Marzo de 2002

A muchos de nosotros nos tocó vivir el nacimiento de Windows hace ya algunos años. Antes la mayoría de la informática se enfocaba en programas que carecían de riqueza gráfica como ahora (si la tenían, ésta se basaba en controladores gráficos que variaban de un fabricante a otro donde cada uno intentaba introducirse en la mente del usuario como la mejor opción). Al llegar Windows a las PC’s de nuestros escritorios, el gran velo que cubría a las tecnologías de información gráfica comenzó a deslizarse (Macintosh ya llevaba camino andado pero no fue lo que se esperaba). Con ello, descubriría un sinfín de potencial almacenado en todos aquellos llamados "usuarios finales". Ya no era necesario (hasta cierto punto) mandar llamar al OMNISAPIENTE de informática para crear un árbol de directorios, o instalar las aplicaciones que eran requeridas; sólo bastaban unos cuantos clics en el Administrador de archivos y ¡listo!

Windows ha evolucionado, y ha presentado características cada vez mas avanzadas dentro de su entorno. Todas ellas han podido ser administradas con una relativa sencillez, misma  que contribuye facilitar su comprensión poco tiempo antes de utilizarlas. En la actualidad,  en la víspera del lanzamiento del Windows 2000, hemos convertido al sistema de las ventanas en el mantel de nuestra PC (aunque ahora ya vendrá con algunos platos y tazas), con una mayor cantidad de características que le podría dar cierta ventaja sobre sus más próximos competidores.

En cuanto a las aplicaciones, a los desarrolladores nos atrae la idea de poder construir aplicaciones de N capas (que antes sólo se lograban en productos que eran accesibles a grandes corporaciones). La propuesta de crear aplicaciones que vayan “desde el escritorio hasta el Internet” con un costo accesible, se vuelve tentadora para muchas más empresas que hace algunos años. Al paso del tiempo, la realización de aplicaciones que pudieran ser migradas con el menor dolor posible a otras plataformas, esquemas de operación distintos y requerimientos cambiantes por parte del usuario se ha facilitado sobremanera. Esta apertura de tecnología también ha traído como consecuencia el aumento de profesionales dedicados al desarrollo (aunque no siempre de informática). Sin embargo, también ha traído la idea  de una cierta devaluación del perfil analítico del profesional de informática. Contrario a ello, el personal experto en conceptos escabrosos referentes a las computadoras aún es un diamante escondido entre las piedras ¿o no?

El tema del desarrollo dividido en diferentes "capas" bien vale la pena tratarlo a profundidad. Aunque no hay suficiente espacio para hacerlo, sí podría tratar de explicar lo que son las diferentes capas, de forma que se comprenda mejor su uso. A esta tecnología, Microsoft la ha llamado Windows DNA.

La capa de Servicios de usuario

Gracias a la tecnología de COM (Component Object Model, Modelo de Objetos basado en Componentes), DCOM (Distributed COM, COM Distribuido) y ahora la unión de ambas en COM+ (junto con algunas prestaciones más), se ha podido construir un modelo lógico de operación que permite separar varias capas; una de ellas la de los Servicios de usuario. El papel fundamental de la programación realizada en ésta capa es la de brindar la interfaz de nuestra aplicación al usuario final, con base en objetos tomados de otro lugar (capa de servicios de negocio). El desarrollador lleva a cabo en ésta capa el diseño de pantallas, distribución de botones, flujos de información, etcétera. Con esto, parte de la funcionalidad que antes se almacenaba en los clientes (principalmente en sistemas cliente/servidor) puede ser desconcentrada hacia otros esquemas, o capas.

La capa de Servicios de negocio

Esta capa que se encuentra en el centro de otras dos, y es la encargada de modelar todo el conocimiento propio del negocio al cual se prestará servicio. Es completamente independiente de la capa de servicios de usuario (y me refiero al hecho de que puede ser almacenada en otra máquina o construida en otra herramienta como Visual C++). La capa de Servicios de usuario solicita a la capa de Servicios de negocio la información resultante de procesos especiales, que pueden ser requeridos más de una vez a lo largo y ancho de nuestro proyecto. Así, se tiene una reutilización de código bastante eficaz con más de una herramienta de desarrollo. Los objetos creados en ésta capa pueden ser administrados por un gestionador de transacciones como Microsoft Transaction Server (ahora incluido en Windows 2000 bajo la cara de COM+). MTS (Microsoft Transaction Server) nos ahorra un sinfín de administración (que por lo regular se debía programar "a mano" al elaborar un proyecto), y nos brinda un nivel mayor de seguridad en nuestros sistemas. Esto es porque componente colocado bajo la administración del MTS puede tener comportamientos diversos que son configurables mediante una interfaz muy sencilla.

La capa de Servicios de datos  

Y finalmente la que guarda todo: el almacenamiento de los datos. Ésta es la capa que interactúa de manera directa con los servicios de negocio, ya que recibe las peticiones de datos (cuando así se requiere), y se nutre de características propias de un RDBMS (relational data base management server) como lo son Microsoft SQL Server, Oracle, Informix, etcétera. En ella residen todos los datos que son solicitados por los Servicios de negocios, y los Servicios del usuario.

Windows DNA

Así pues, tenemos una cadena que se comunica entre sí mediante un esquema muy sencillo: usuario-negocios-datos, datos-negocios-usuario. En realidad, es el medio que SIEMPRE se utiliza para generar una aplicación orientada a bases de datos. La diferencia se centra en que se ha separado cada instancia (o capa) de forma que pueda ser Distribuida por la Red (DNA, Aplicaciones Distribuidas por la Red). Cabe hacer notar que tal distribución es lógica y no física. Ello, así, nos permite colocar las capas de la aplicación donde más nos convenga: Tal vez la de Datos y la de Negocio en el Servidor, y la de Usuario en el Cliente; tal vez la de Datos, Negocios y Usuario en la misma computadora; tal vez parte de Datos en el Servidor de datos y en el Servidor de aplicaciones, parte de Negocios en el Servidor de aplicaciones y en el Cliente; y parte de Usuario en el Servidor de negocios y en el Cliente. La distribución queda al libre albedrío, y sólo se ceñirá a las necesidades del usuario o de la empresa.

Windows 2000, así, ofrece un interesante esquema de desarrollo de aplicaciones. Puede encontrar mayor información en http://www.microsoft.com/dna/, http://www.microsoft.com/windows2000/default.asp y en http://msdn.microsoft.com/vstudio. Si cuenta con Windows 9x o Windows NT, puede empezar a instaurar aplicaciones DNA con ayuda de MTS, Visual Studio, SQL Server (o MSDE), DCOM y los servicios que están en boga en este mismo instante. Es decir, no es necesario que aguarde hasta la llegada de Windows 2000 para llevar a cabo este proceso. DNA ya está aquí, y puede usarlo ahora mismo.

Hasta la próxima...

Lic. David Alejandro Obando Casanova  
Advan
ced Business Systems S.A. de C.V.
dobando@abs.com.mx

www.abs.com.mx 

A. David Garza Marín  
GMD MicroSistemas
adgarza@spin.com.mx

http://spin.com.mx

 

Principal | Arriba

Este sitio se actualizó por última vez el 08 de Marzo de 2002