lunes 25 de agosto de 2008

Arquitectura vs. Tecnología

Autor: Carlos M. Macías Medina

Alias: Charlie Macías (México)

Clasificación: Debate

Esta entrada lo motiva una discusión constructiva que se suscitó recientemente (hace unas horas) :).

Sucede que en el Curso de Patrones de Arquitectura de Software y Patrones de Diseño de Software, que acaricia los Patrones de Arquitectura Web, alguien comento que esta sección "está totalmente desactualizada y no refleja el panorama actual, de ninguna manera".

Después, indagando más sobre el comentario anterior, descubrí que tal aseveración tuvo como origen, lo que a mi juicio es, una mala interpretación de la palabras del consultor que lo impartió, a quien yo respeto mucho, dicho sea de paso.

Sucede que el consultor les comentó que en el curso se mencionan tecnologías como ActiveX y Applets cuando la tendencia actual apunta o favorece otras tecnologías tales como Flex o SilverLight para conseguir experiencias de usuario ricas (de ahí lo de Aplicaciones basadas en Internet Ricas o, más retro, Cliente Rico Web).

Punto número uno. Una arquitectura Web no se está limitada a ser distribuida por Internet, podría distribuirse en una Extranet o en una Intranet o podría ser una aplicación enteramente local. Los arquetipos de arquitectura Web tienen como común denominador dos bloques arquitetónicos predominantes: un browser capaz de soportar formas HTML y HTTP como protocolo de comunicación.

Punto número dos. La solución "depende del contexto" (ah, como odian mis clientes la palabrita "depende", pero prometo discutir en otro artículo todo lo que quiere decir). En este sentido, creo que nada debería ser catalogado como obsoleto o desactualizado porque eso casi siempre conlleva a cerrar el abanico de soluciones posibles y esa practica va en contra de los principios de la ingeniería. En todo caso deberíamos de hablar de tecnologías o practicas o estándares desfavorecidos bajo cierto contexto. Acaso no dicen por ahí, por ejemplo, que estamos regresando al Mainframe ;) y que esto en si constituye una tendencia (por favor, no se rasguen las vestiduras y pásenme por alto este comentario hecho a la ligera).

Punto número tres. La tecnología y la arquitectura, en cualquier ámbito y alcance, si bien están relacionadas, son dos animales completamente distintos. En todo caso la tecnología es un elemento que habilita a la arquitectura y, por consiguiente, un mismo estilo arquitectónico podría ser habilitado empleando tecnologías distintas.

En conclusión, el pecado radica en el siguiente sofisma: si la tecnología está desfavorecida u obsoleta, entonces el patrón de arquitectura que puede ser habilitado con esa tecnología también lo está.

Finalmente, recordemos que un patrón, según la Real Academia de la Lengua Española, "es un modelo que sirve de muestra para sacar otra cosa igual", bajo una aproximación inductiva, quisiera agregar.

Los patrones de arquitectura y/o de diseño documentados en un sinnúmero de fuentes surgen de un proceso deductivo. Al acomodar un conjunto de cosas y observar que funcionaban una y otra vez para un problema similar constituyeron un patrón que vale la pena repetir hasta que se encuentre una configuración mejor (observe que use la palabra "configuración" y no "tecnología").

0 comentarios: