Enseñar al mundo nociones de arquitectura, complejidad y formas de actuar

Presentación

Seguramente la gente no tiene claro lo que significa la palabra arquitectura unida a un proceso de desarrollo y despliegue ágil.

Intentaré resaltar la complejidad arquitectónica del modelo y hacer mención de todo lo que puede estar involucrado en una arquitectura de portales.

El producto elegido es Drupal, pero no es Drupal el centro de la arquitectura, sino un enclave en la misma.

Una buena arquitectura debe poder adaptarse a otro producto sin complejidad excesiva y manteniendo su base firme.

Vamos a describir todo lo que consideramos que es arquitectura. Para ello vamos a ir de la parte de sistemas avanzando hacia un desarrollo y terminando en una comunidad de portales.

Cinco Enclaves

e.- Enclaves arquitectónicos : La elección de los componentes es arquitectura

Es fundamental un correcto estudio de los módulos necesarios antes de decidir cualquier desarrollo adicional.

Es trascendente un enfoque multi portal en cuanto a los módulos y componentes seleccionados.

Será muy importante la valoración de componentes comunes, no sólo los suministrados por Drupal, sino categorías, vistas, tipos de datos definidos que puedan simplificar los futuros desarrollos.

Es por todo ello, que un enfoque de arquitectura orientado a componentes es una de las claves del éxito del producto.

La tranquilidad de conocer que dicha funcionalidad ya está solucionada por el componente X, permite afrontar los desarrollo como si de un gran Lego se tratase, conocer qué piezas están disponibles y tener ejemplo directo de cómo esas piezas se interrelacionan.

Por todo ello el enfoque dado a un portal debe ser una parte más de la arquitectura.

No debemos aislar el desarrollo de dicho portal de la implementación de todos los portales.

Por tanto habrá componentes comunes y componentes específicos para ese portal.

Estos componentes podrán ser físicos y lógicos.

Sean componentes físicos todos los aportados por Drupal, por tanto físicamente atribuibles, como pueden ser módulos, temas, plantillas, etc.

Y componentes lógicos los generados por el producto a partir de ellos, como pueden ser Bloques , Vistas y también los mismos Módulos , Temas y Plantillas.

Una buena arquitectura debe considerar los componentes existentes comunes para minimizar los desarrollos posteriores y aunar esfuerzos en la lucha por la calidad final del producto.

Por tanto el estudio continuo de módulos y la documentación diaria de componentes seleccionados y desarrollados se considera crucial para que la arquitectura desplegada sea exitosa y aproveche correctamente las ventajas del producto.

Como se puede observar, esta metodología de componentes va más allá de Drupal. Sea este un producto, pero la filosofía de control documental y del estudio del arte continuo de posibilidades de implementación es y será aplicable a cualesquiera productos que estén enfocados en modo de componentes, en modo bazar, como suele estar planteado siempre el software libre.

q.- Enclaves arquitectónicos : La relación de dichas necesidades con la de los componentes a utilizar es arquitectura

Cuando valoramos un proyecto, debemos considerar hasta que punto es importante uno de los requisitos.

La relación de esa necesidad provocada por el requisito y un supuesto componente que lo va a satisfacer es un aspecto arquitectónico muy importante para poder equilibrar el proceso de creación del site.

Puede haber ocasiones donde el componente cumplimenta perfectamente esas necesidades. Será importante llegar a comparar con los posibles candidatos que también llegan a cumplimentarlas.

Es el momento de analizar los componente ya creados o existentes para poder decidir si es necesario un nuevo componente en el sistema.

Y si llega ese caso, hay que analizar el coste de implementación en razón a la importancia de dicho requisito.

Por tanto no todas las necesidades son iguales y no siempre es la mejor opción llegar a intentar solventarlas.

Es muy necesario hacer un estudio de componentes existentes, su estado del arte actual y los cambios futuros que van a conllevar.

Puede ser la mejor opción un aplazamiento de esa funcionalidad antes de involucrarse en un desarrollo cuyos beneficios son dudosos.

Y si realmente es necesario, sin duda la opción nunca será hacer un desarrollo independiente, sino unirse a la comunidad, acercarse a los creadores de dichos componentes o al que realmente puede solventar la necesidad y o bien solicitar sus servicios o bien colaborar con el para conseguir que esa colaboración permita solucionar el requisito. Esta debe ser la linea de acción.

Esta ha sido la que ha hecho grande el software libre, la colaboración y es la que permite anticiparse a problemas de compatibilidad y la que engrandece el producto y lo enfoca en un sistema de calidad cuyo único fin es mejorar la propia sociedad.

p.- Enclaves arquitectónicos : La decisión de minimizar la documentación y agrupar las necesidades comunes es arquitectura

¿ Cómo se puede minimizar la documentación ? De qué manera podemos acercarnos más a los problemas de forma que los documentos sean ágiles y sencillos de interpretar.

Debemos simplificar el sistema. Debemos olvidarnos de todos las metodologías como Uml u otras que lo único que han conseguido es complicar su representación y acercarla al programador o ni eso, sino enfatizar la necesidad de un puesto intermedio que las interprete.

Demos simplicidad al asunto, apostemos por un nuevo aire en un sistema sencillo de componentes.

Esta metodología ha sido una de las partes de la arquitectura defendida ante la entidad independiente Red.es perteneciente al Ministerio de Industria de España.

Les presento un sistema de documentación fuera de lo normal :

Metodologías ágiles - Sistema de documentación

Hemos conseguido desligarnos de documentar todos los componentes, auto asociamos requisitos a componentes y nos centramos exclusivamente en el negocio del cliente.

Simplificamos el modelo. Y esta simplificación es arquitectura.

n.- Enclaves arquitectónicos : La capacidad para prevenir los cambios y la adaptación del sistema al futuro es arquitectura

Sin duda la vida de un site no debe considerarse hasta su creación, sino que más bien, ese debería ser el principio.

La capacidad de incrementar funcionalidad sin apenas coste adicional es una de las grandes bazas del software libre y por supuesto de la robustez de un producto como Drupal.

Por tanto cualesquiera nuevas funcionalidades aportadas por componentes ya utilizados pueden suponer un incremento de funcionalidad agradecida para la mayoría de portales que se están manteniendo.

Es por ello que un site no debe considerarse como un portal único, sino como todo un proyecto.

Un proyecto con vida, que dispone siempre de entornos paralelos.

En razón a esta funcionalidad disponemos de otras dos metodologías.

La primera es Live Backups - Copias de Seguridad Vivas.

Está enfocada en aportar esa sensación de continuidad a los sites, con capacidad de poder visualizar el futuro y el pasado.

Sensación de control absoluto de la evolución de los portales.

Disponemos a su vez de varios proyectos de control, el primero de ellos pretende gestionar todos los portales y dominios :

Control Arquitectura Portales - Brqx

El otro portal pretende auto comprobar el funcionamiento de todos los sites, con objeto de poder anticiparnos a los problemas.

Control Servidores y Sites - Brqx NG

Esta filosofía encaja perfectamente con la metodología 5 Entornos - Five Environments

Donde se puede comprobar la evolución y el estado de cualquiera de nuestros portales.

Son múltiples técnicas que permiten simplificar la gestión y optimizar el desarrollo, con finalidad absoluta en criterios de calidad y en un acercamiento a las necesidades reales de los clientes.

a.- Enclaves arquitectónicos : La definición de la estructura del producto es arquitectura

Las primeras veces que te acercas a Drupal, no consideras su estructura como un enclave importantísimo para poder gestionar múltiples portales.

Los propios creadores de Drupal incluso empiezan a orientarnos de las posibilidades y de la importancia de una buena arquitectura de ficheros.

El ver que es un grave error meter todo en "modules". La oportunidad de clasificar en "sites/all/modules" distintos enfoques y distintas agrupaciones de módulos.

Esa capacidad para discernir las necesidades comunes de las opciones específicas para uno u otro portal es arquitectura.

Es importante hacer un enfoque adecuado de los portales que queremos desplegar y es trascendente entender el enfoque libre y recomendado por Drupal, donde en vez de buscar una guerra individual, se apuesta por una compartición de conocimientos y responsabilidades en el desarrollo.

Lo que hemos denominado Metodologías Ágiles Colaborativas, donde tu éxito depende del éxito de otras empresas y retunda en el completo éxito del producto.

Siguiendo esta filosofía, la gestión de portales no debería ser un control de versiones, pues ya el propio producto dispone de su propio control de versiones.

Los cambios o mejoras deberían hacerse en consonancia y acuerdo con los propios responsables de esos módulos o temas. Es esta idea la que nos infunde Drupal, y además es la más adecuada para asegurar los criterios de calidad del software.

Por tanto podemos ver como estructura ideal una gestión de portales que no tiene por qué ser gestión de versiones.

En esta estructura tenemos una parte relacionada directamente con el producto como son las carpetas :

-"includes"

-"scripts"

-"profiles"

-"modules"

-"misc"

-"themes"

La misma podría ser una serie de "links simbólicos" que apuntan a la versión más moderna y estable del producto.

Por tanto delegamos parcialmente en files y de manera más general en sites la personalización del producto.

Dentro de files podemos plantear una estructura común con personalizaciones para documentos como iconos, logos e imágenes :

/files/

Esta ruta se puede parametrizar para conseguir un acoplamiento más optimo de componentes comunes.

En la otra linea, en sites tenemos la siguiente estructura ya aportada por Drupal

/sites/all/ --> Para todos los portales

/sites/default/ --> Configuración por defecto

Como bien dije esta estructura incrementa la complejidad del portal y no nos permite hacer un enfoque de simplicidad.

En dicha estructura tendríamos, por ejemplo tres sites :

sites/site1

sites/site2

sites/site2

sites/all

sites/default

Como se puede comprobar todo está dentro del mismo sites.

Nosotros preferimos ver el producto de forma más sencilla, donde toda la estructura siempre sea similar sea cual sea el site y donde los cambios de entorno sean totalmente transparentes a la estructura interna:

En nuestra visión tendremos :

sites/default --> Sólo configuración

sites/all --> Componentes comunes y personalizados

Esta estructura será común en todos los portales.

Arquitecto Ricardo Cabello Torres

Estoy a disposición laboral para trabajar como Arquitecto Metodologías Ágiles Drupal o bien ofrecer mis servicios de diseño de portales en Portales Profesionales.

Invito a que conozcan a su vez un enfoque revolucionario de posicionamiento basado en arquitectura : El mejor posicionamiento - Brqx

Es un placer compartir con ustedes mis inquietudes en la sociedad y mi lucha unánime por un mundo mejor. Les invito a conocer Costumbres Sociales Actuales - Brqx.

También si les gusta el coleccionismo de calidad, les invito a participar en proyectos como Mis Palillos o Mis presentaciones.

Sin otro particular, gracias por tu visita.

Facetas de Drupal - Enclaves del Éxito

a.- Enclaves arquitectónicos : La definición de la estructura del producto es arquitectura
b.- Enclaves arquitectónicos : La relación con otros productos que permitan un mejor despliegue es arquitectura
c.- Enclaves arquitectónicos : La correcta definición de necesidades a nivel de sistema es arquitectura
d.- Enclaves arquitectónicos : La interrelación entre distintos sistemas es arquitectura.
e.- Enclaves arquitectónicos : La elección de los componentes es arquitectura
f.- Enclaves arquitectónicos : La definición de los nombres de los componentes es arquitectura
g.- Enclaves arquitectónicos : La presentación y composición de dichos componentes también es arquitectura
h.- Enclaves arquitectónicos : La categorización de la ruta de los componentes es arquitectura
i.- Enclaves arquitectónicos : La relación entre componentes comunes para los portales es arquitectura
j.- Enclaves arquitectónicos : La decisión de reutilización de componentes es arquitectura
k.- Enclaves arquitectónicos : La gestión de los componentes y el control de los portales es arquitectura
l.- Enclaves arquitectónicos : La necesidad de conocimiento de los componentes disponibles es arquitectura
m.- Enclaves arquitectónicos : Los parámetros de usabilidad y seguridad aplicados a los componentes elegidos son arquitectura
n.- Enclaves arquitectónicos : La capacidad para prevenir los cambios y la adaptación del sistema al futuro es arquitectura
o.- Enclaves arquitectónicos : La capacicidad de abstracción que permite interpretar un sistema complejo de forma simple, es arquitectura
p.- Enclaves arquitectónicos : La decisión de minimizar la documentación y agrupar las necesidades comunes es arquitectura
q.- Enclaves arquitectónicos : La relación de dichas necesidades con la de los componentes a utilizar es arquitectura
Distribuir contenido
[ZY 24C 128G SSD_4-SATA_1] - (CDN:XX) [SP:PM]26-May-2016 - 10:33:43 * - - - * Carga: 2.0914 ==> segundoss - Mem:308.25 Mb/12778M