Raúl: no olvides que los funcionarios de la informática  producen obstáculos, que son aún más difíciles que los errores de construcción del sistema.

JEGC

Arquitectura en Capas ~ DNA
Un camino hacia los procesos distribuidos

José Enrique González Cornejo
25 de marzo 2001

Introducción

Nuestra experiencia en BancoEstado, nos está llevando cada vez  a aproximarnos con más fuerza a hacer realidad nuestros fundamentos teóricos, acerca del diseño y desarrollo de aplicaciones (Ver Fundamentos). En efecto, los años 2001 y 2002 significaron para DocIRS comenzar un cambio hacia otra arquitectura de diseño de aplicaciones distribuidas. Organizar el trabajo en capas, con componentes, con tratamiento binario y atómico de los objetos, con articulación con sistemas corporativos externos, abriendo una gama de soluciones que sólo podían desplegarse construyendo bajo esta  arquitectura. (Además, hoy se incorpora a este concepto los Servicios Web XML o Web Services, SOA,..)

Este avance ha ocasionado un cambio significativo en la forma de encarar el desarrollo de aplicaciones distribuidas, principalmente por el rápido crecimiento de Internet. Trayendo consigo nuevas tecnologías y lenguajes "ad hoc" que hacen que las redes existentes tengan que adaptarse a esta forma de comunicación, creándose así las Intranets , Extranets y re-adaptación de servicios y redes. La arquitectura DNA (Distributed iNternet Applications) esta diseñada para solucionar   problemas que no involucren al usuario. Es decir, que se construyan soluciones rápidas por los especialistas en los servidores, sin complicar ni al usuario ni su máquina.

Un problema que se debe tener en cuenta para la autonomía del cliente, dice relación con las adapataciones para las difrenetes versiones de los browser y tambuén con los scripts que deben construirse, pues ellos tienen que ser  compatibles para los browser más utilizados tales como Explorer(IE), Chrome, Firefox Mozilla, Safari, Opera, etc..Nótese que Firefox Mozilla no admite vbscript y obliga a utilizar javascript con Dom(Document Object Model). Atención, que de igual modo existen una serie de incompatibilidades en los comandos y estilos según el browser, que obligan a detectar y crear diferentes funciones para el mismo objetivo.  

Implementar soluciones basadas en DNA involucra crear aplicaciones divididas en capas funcionales que se comunican entre sí. Este concepto por si mismo no significa nada nuevo, pero DNA provee protocolos estándares e interfaces pre-implementadas que permiten al desarrollador concentrarse en construir la lógica del sistema, sin preocuparse por como las partes se intercomunican.

Las exigencias a DocIRS del ámbito bancario nos indujo  a conocer no sólo el entorno de Windows DNA, sino también a aplicar el Modelo de Diseño de Soluciones propuesto por Microsoft Co acompañado de UML (Unified Modeling Language) para diseñar y estructurar los componentes y  elementos necesarios que nos permitan dar solución a problemas de nuevos desafíos de articulación con otros desarrolladores. (Ver Microsoft Transaction Server, MTS. )

Nótese que la metodología más común para los constructores, significa desarrollar en una capa componentes de negocio(DLL), en otra capa las rutinas asp, aspx, o php, con sus respectivas validaciones en Dom Javascript  y en la tercera capa, los  datos en SQL,  ORACLE, MySQL u otro motor de bases de datos, con sus respectivos procedimientos almacenados.

 

Arquitectura Tres Capas

La arquitectura de una aplicación es la vista conceptual de la estructura de esta. Toda aplicación contiene código de presentación, código de procesamiento de datos y código de almacenamiento de datos. La arquitectura de las aplicaciones difieren según como esta distribuido este código.

Windows DNA presenta una arquitectura de aplicaciones de tres-capas, basadas en componentes. La meta de DNA es unificar las aplicaciones para PC, las aplicaciones cliente / servidor y las aplicaciones basadas en la Web, lo cual es posible para aplicaciones de cualquier tamaño.
En nuestros días mucha información importante está almacenada en aplicaciones como sistemas de correo electrónico, y aún más recientemente en servicios de directorio. Microsoft habla sobre Universal Data Access (Acceso Universal a Datos) como una serie de manejadores e interfaces diseñadas para proveer una forma de conseguir acceder a este tipo de almacenamientos y más aún a datos como archivos de formato especiales, datos de posición geoespacial, datos científicos no estándar, etc. Los servicios son puestos en la red y operan de manera cooperativa para dar soporte a uno o más procesos de negocios. En este modelo, una aplicación se convierte en un conjunto de servicios de usuario, negocios y datos que satisface las necesidades de los procesos de negocios o procesa su soporte. Como los servicios están diseñados para el uso general y siguen lineamientos de interfaz publicados, pueden ser reutilizados y compartidos entre múltiples aplicaciones. La arquitectura DNA de tres capas como se muestra en el grafico cuenta con servicios específicos en cada capa que se comunican entre si mediante COM (Component Object Model)

windowsDNA.gif (16869 bytes)

 

DNA

La arquitectura Windows para aplicaciones distribuidas sobre Internet (Windows DNA) es un marco de trabajo para construir una nueva generación de soluciones de cómputo que incluyan los mundos de la computación personal e Internet. Windows DNA es la primera arquitectura de aplicación que contiene e integra totalmente tanto los modelos Web de desarrollo de aplicaciones para cliente como para servidor.

Al utilizar el modelo Windows DNA, se construyen aplicaciones de negocios modernas, escalables, multi-capas, para ser ejecutadas sobre cualquier tipo de red. Las aplicaciones Windows DNA mejoran el flujo de información dentro y fuera de la organización, son dinámicas y flexibles al cambio en la medida en que cambian las necesidades del negocio, se integran fácilmente con los sistemas y datos existentes. Como las aplicaciones Windows DNA impulsan servicios de plataforma Windows profundamente integrados que trabajan juntos, las organizaciones pueden enfocarse a entregar soluciones de negocios en vez de ser integradoras de sistemas.

Windows DNA incluye productos y servicios para ayudar a los desarrolladores a implementar los servicios de las aplicaciones de tres capas basadas en componentes. La arquitectura de tres capas es recomendada para construir aplicaciones distribuidas escalables. Los componentes son recomendados como una vía para construir soluciones flexibles y de facil mantenimiento.

Una de las principales ventajas de Windows DNA es Internet, que ha cambiado dramáticamente el panorama de la computación. Cinco años atrás, el proceso de desarrollo de aplicaciones ejecutado por una persona en una computadora era relativamente informal. En contraste, algunas de las aplicaciones más poderosas de nuestros días soportan miles de usuarios simultáneos, necesitan estar corriendo las 24 horas del día y deben ser accesibles desde una amplia variedad de dispositivos, desde computadoras portátiles hasta estaciones de trabajo de alto desempeño.

Para satisfacer estos requerimientos imperativos, los desarrolladores de aplicaciones necesitan adecuar herramientas de planificación y guías de cómo incorporar las tecnologías apropiadas.

 

Diseño

Después de consultar con expertos y analizar bibliografía especializada en el tema, se ha encontrado que aún no se cuenta con una metodología dada para diseñar aplicaciones distribuidas en tres capas, por esto es que los expertos consultados sugirieron utilizar uno de los modelos ó guías que utiliza Microsoft Co. para el diseño de este tipo de aplicaciones, este modelo se denomina Modelo de Diseño de Soluciones[Solution Design Model] que es parte de una infraestructura más amplia de modelos denominada Microsoft Solution Framework .

Si bien no es una metodología que muestre paso a paso como llevar a cabo el diseño, como modelo presenta todas las pautas para poder diseñar una aplicación en tres capas, por otra parte el lenguaje gráfico que se utilizará combinado con este modelo es UML (Unified Modeling Language).

Gran parte del esfuerzo de este trabajo consiste idear la manera de combinar el modelo de soluciones (MDS) con el lenguaje de diagramas (UML).

Ver Primera Etapa Construcción del Modelo de Datos Mype 2.0


Artículos Relacionados