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

l.- Enclaves arquitectónicos : La necesidad de conocimiento de los componentes disponibles es arquitectura

Otra de las características relevantes del software libre es su gran capacidad de cambio, de mejora, de nuevas funcionalidades.

Es tan variante esta filosofía que en un periodo corto de tiempo una buena solución se queda obsoleta.

Por tanto es trascendente para un arquitecto en Drupal estar siempre al día de nuevos componentes, de su adaptación a las versiones.

Conocer perfectamente el Update Status y el Upgrade Status de sus portales.

Anticiparse a los problemas y cuando hay que actuar, estar preparado para ello. Es importante probar nuevas funciones, probar contribuciones para el producto, informarse de las ventajas aportadas.

Examinar comparaciones de productos, analizar las funcionalidades nuevas aportadas para ser capaz de decidir si esa novedad es trascendente para una mejora del portal o simplemente es un código ampliado que no aporta nueva funcionalidad.

Drupal tiene más de 5000 módulos, actualmente 4 versiones en danza, más de 500 contribuciones, multitud de información. Todo ello hace al producto completo y complejo.

Hay mil variantes y muchas formas distintas de hacer las cosas, ninguna tiene que ser la mejor, excepto algunos casos excepcionales.

Por tanto una buena arquitectura de Drupal debe concebir ese esfuerzo continuo en investigación de nuevos componentes y nuevas versiones para componentes existentes.

g.- Enclaves arquitectónicos : La presentación y composición de dichos componentes también es arquitectura

Por defecto Drupal presenta los componentes en formato de lista.

A su vez nos proporciona Bloques , Vistas y otros objetos para poder desplegar la información en nuestros portales. La decisión de cómo hacer ese despliegue y la capacidad de modificarlo está relacionado con una adecuada arquitectura de presentación de contenidos.

Desde que existen estos productos, desde la época del Php Nuke y otros similares , se ha distinguido entre un formato reducido del componente, en Drupal conocido como Teaser, y un formato más ampliado donde se despliega todo su contenido, conocido como Body , Cuerpo , Full , Completo, etc.

De entrada disponemos de , al menos, tres variantes de presentación :

- Títulos

- Teasers

- Full

La idea es poder personalizar estos componentes acorde a la información que queremos mostrar en cada momento.

Drupal por defecto permite cortar por número de caracteres, incluso hay módulos que crean un campo aparte para los teasers.

Pero el módulo que nos da esa agilidad es Content Templates.

Este módulo nos permite personalizar la salida de nuestros componentes.

Este módulo permite crear sistemas de plantillas y como mejora aún, no se almacenan el BBDD, por tanto hablamos de componentes que pueden ser compartidos entre múltiples portales con los mismos tipos de usuario.

La decisión de cuando usar una plantilla o no es un factor trascendente de arquitectura.

A su vez los propios tipos de Drupal pueden relacionarse, tanto con enlaces como con inclusiones, es posible crear jerarquías complejas que conforman componentes más avanzados.

Esa composición, es un factor determinante de la arquitectura del portal.

Por tanto, la apariencia del portal no sólo se puede modelar con los propios objetos del mismo, sino también con los componentes creados por nuestra parte.

Considero que esta capacidad de crear componentes personalizados es una de las más poderosas facetas de Drupal.

El módulo de componentes y más aún la equiparidad entre campo y taxonomía aportada por otro fantástico módulo Content Taxonomy irán diréctamente en el núcleo de Drupal 7.

Es una prueba directa que nos informa de la importancia que tiene esta forma de desarrollar o de componer portales.

j.- Enclaves arquitectónicos : La decisión de reutilización de componentes es arquitectura

Hay multitud de factores que nos pueden impedir la re utilización de un componente. Desde motivos meramente estéticos, aspectos de funcionalidad, necesidad de innovación.

Llegar a decidir si se va a reutilizar un componente de nuestra biblioteca o un componente aportado por un módulo es una decisión de arquitectura.

Sin duda es una gran ventaja que llegue ese momento, pues tendremos la opción de innovar pero también la de reutilizar.

Sin un buen sistema documental y sin una buena arquitectura, esta segunda opción no sería posible.

A nivel de módulos y otros productos directos de Drupal la linea de acción debe ser la de colaborar, pero de momento, hasta que no se estandarice algún sistema de compartimiento de entidades que permita reutilizar entidades de la misma forma que se reutilizan módulos, deberá ser la propia jerarquía interna de cada departamento la que auto gestione dichos componentes.

Sin duda una buena linea de acción para el futuro de Drupal es la de incrementar la funcionalidad de los módulos con los componentes más comunes, al igual que disponen del módulo de localización , pues seguramente se creará un módulo llamado persona o people, que permita desplegar todas las características de la persona.

Ante esta carencia, esa creación del componente persona, nos corresponde a nosotros, entonces debemos decidir si todos nuestros portales deben usarlo o hay algunos que sólo usarían algunas características del mismo.

El abanico de posibilidades es infinito.

Hablamos de otra de tantas importantes decisiones de arquitectura que enfocarán el éxito de los proyectos y el triunfo de una metodología ágil de componentes.

b.- Enclaves arquitectónicos : La relación con otros productos que permitan un mejor despliegue es arquitectura

La capacidad de satisfacer los requisitos no depende de un sólo producto ni de un único desarrollo.

Es la filosofía libre, nuestro éxito está intrínsecamente ligado al de los componentes que utilizamos. Entre todos crecemos para mejorar la calidad y es esa calidad la que nos permite triunfar y indirectamente mejorar las aplicaciones disponibles para la sociedad.

Por tanto, mejoramos la sociedad.

Y es que en cuanto a proyectos de mala calidad el software ha sido un claro ejemplo, pues cualquiera se ponía a programar, a intentar sacar el trabajo, como se llama en mi país, sin importar la arquitectura, la robustez, la seguridad, el único objetivo es que funcione.

Ha sido ese uno de los pilares del fracaso del software corporativo.

En Drupal en particular y en el Software libre en general NO ES ASÍ. O no debe ser, pues aún he discutido este tema con mucha gente que no es capaz de ver que los desarrolladores o arquitectos de software deben ser perfiles altos y especializados y familiarizados con el producto.

Por tanto esos cambios deberían solicitarse a los perfiles más acordes para ello, que suelen ser los responsables de dicho módulo o tema y que el cambio solicitado enriquezca el producto.

Esta debe ser la linea de acción, y en esta linea, el incrementar o mejorar la funcionalidad aportada por Drupal debe ser un aspecto trascendente a la hora de encarar los requisitos de un futuro proyecto.

Por tanto debemos considerar que es más importante compartir capacidades con otros productos y entre todos buscar un ideal común para disponer de una aplicación más robusta que intentar hacer la guerra cada uno por su cuenta.

Entre todos debemos hacer que el producto sea cada vez mejor y eso implica que todos los componentes y empresas que participan en él también vayan siendo cada vez mejores.

Es por ello que Drupal quiere que Varnish sea cada vez mejor, que Memcached incremente su eficiencia.

Que Apache, Ngnix, Ligthttp seán cada vez más rápidos.

Que mysql sea más eficiente.

Que php vaya mejorando día a día.

Esa es la filosofía libre. Una apuesta por la calidad.

o.- Enclaves arquitectónicos : La capacicidad de abstracción que permite interpretar un sistema complejo de forma simple, es arquitectura

Hemos sido todos participes de una documentación inadecuada en la mayoría de los proyectos. Excesiva, nada práctica, demasiado completa.

El objetivo es preparar una documentación más cercana a las necesidades del cliente, una documentación que se abstraiga de detalles innecesarios y se acerque a los objetivos reales de cada proyecto.

Contamos con un sistema que permite representar con sencillez casi cualquier proyecto web. Esta metodología está parcialmente detallada en nuestra web de Metodologías Ágiles.

Queremos minimizar todos los documentos que se involucran en un proyecto y transformar el sistema de documentación tradicional en un sistema mucho más ágil compuesto de documentos totalmente operativos y un sistema documental que aporte toda la información totalmente categorizada y que soporte los aspectos documentales de cada proyecto.

Es hora de olvidarse de documentos Pdf, Word de innumerables páginas. Es el momento para enfocar adecuadamente las dudas y desplegar un sistema que permita agilizar las consultas, evitar redundancia y apostar por la filosofía de "documentos vivos".

Este papel es vital para una buena arquitectura. Debemos analizar las necesidades de cada rol y preparar una documentación acorde a los mismos y envuelta en un sistema ágil, intuitivo y muy bien categorizado.

Por tanto la definición de las abstracciones necesarias para lograr este objetivo tanto a nivel de contenidos como a nivel de documentación final será otro de los parámetros a considerar en una arquitectura de 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
[ZG 24C 48G SSD_1-SATA_1] - (CDN:XX) [VS:DS]25-May-2016 - 21:06:49 * - - - * Carga: 2.9044 ==> segundos - Mem:307.75 Mb/12778M