domingo, 12 de mayo de 2013

Diagramas de despliegue en las paredes

Continuando con mis post sobre los Workshops de Ingeniería de Software basados en el modelo 4 + 1 vista, veamos uno de los posibles diagramas de la Vista Fisica, el diagrama de despligue.

Este es uno de los diagramas más fáciles de realizar, la razón es sencilla, a todos nos es más fácil mapear el universo fisico con las ideas. En este caso la vista física pretende mostrar cuales con las máquinas, vías de comunicación, protocolos y principales componentes involucrados en un sistema, sea por que nos comunicamos con o través de ellos o por que dependemos de ellos en alguna forma.

Es importante como ya les habia nombrado definir una notación con los elementos existentes.

Para un diagrama de despliegue básico se esperan algunos materiales básicos, (Recuerden que sean elementos que no arruinen las paredes). Estos puede ser:

Servidores, maquinas y dispositivos se pueden hacer con papeles de colores grandes, esto por que dentro de ellos se colocarán más elementos. Para dar gráficamente un orden, se pueden hacer los servidores de un color, lo mismo las maquinas y otro más para los dispositivos moviles.

En ocasiones cuando no se conoce como es el despliegue de un lugar desde el que se consume datos, se pueden recortar un papel en forma de nube, esta fue una idea de uno de los grupos con que trabajé y fue una buena forma de ver como los equipos se autogestionaban para comprender mejor el entorno del problema y explicarlo a los demás.

Ahora bien, dentro de las máquinas fisicas se despliegan 2 tipos de elementos, componentes que representan las aplicaciones instaladas y los servicios o tareas en background. Como sabemos muchas veces algunos componentes para poder ser usados estan instalados dentro de contenedores o aplicaciones que les sirven como entornos, es el caso de las aplicaciones web que necesitan de IIS, Tomcat y otros servidores de aplicaciones para poder ser servidas, o incluso de las bases de datos que necesitan un motor donde ser instaladas. Esto es conocido como los entornos de ejecución, para reflejar esto se pueden usar fichas bibligráficas o cortar los papeles de colores para que tengan un tamaño intermedio, dentro de los ambientes de ejecución colocamos los componentes que necesitamos usar o que vamos a construir en nuestro proyecto.

Otro elemento son las cintas de enmascarar de al menos 2 colores, una de ella se usa para las vias de comunicación entre los servidores y otra se usa para crear los boundaries, limites o fronteras (LAN, WAN etc). En la cinta que define las visas de comunicación se deben pegar el protocolo que usa la comunicación y se debe definir claramente la cardinalidad para establecer, quien consume datos de quien.

Estar atento de que se respeten las notaciones es importante, también tener conocimientos técnicos de algunas cosas para saber representar las diferentes técnologías. El ejercicio puede ser apoyado por quienes más conocen sobre infraestructura en el taller, sin embargo otro de los retos importantes como en todo el workshop es lograr que quienes definen esta vista esten en comunicación y validación constante con las Vistas de Procesos y las Vistas de Implementación. Recuerden que para este punto, todos los integrantes del workshop deben estar girando cada 15 minutos y llevando sus ideas de un grupo a otro.

Los resultados son muy bonitos, lo más bonito es como se encariñan con este diagrama al ser uno de los que más bien queda.

Les repito como antes, si bien el ejercicio no es absolutamente ortodoxo con respecto a las notaciones y de hecho no pretende reemplazar en nada a UML por ejemplo, es una manera de introducir a las personas en la experiencia de elegir una infraestructura, generar un diálogo acerca no solo de los temas técnicos si no de cuando se define algo cual es el impacto económico, un ejemplo de esto es cuando se definen servidores de backup, que son bastante fáciles de poner en un diagrama pero que implican gran cantidad de costos adicionales, de esto se debe encargar quien dirige el Workshop.

Por supuesto siempre quedará la idea de cual es la manera formal de hacerlo y uno de ellos es estudiar las notaciones propuestas en UML.

Espero que esta idea les resulte de utilidad. Hasta la próxima vista.

Saludos, Sorey.