EspañaInglaterraAlemaniaItaliaPortugalFranciaEspañaInglaterraAlemaniaItaliaPortugalFrancia
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

i.- Enclaves arquitectónicos : La relación entre componentes comunes para los portales es arquitectura

¿ Cómo conseguir una batería de portales ? ¿ Realmente creen que de un portal a otro hay tantas diferencias ?

La realidad es que no, sus similitudes rara vez bajan del 90% de los componentes comunes utilizados.

Por ello, la necesidad de preparar una arquitectura de componentes que permita una fácil re utilización.

Esta arquitectura requiere un completo sistema documental, para facilitar su identificación y diagnosticar de forma más adecuada la satisfacción de requisitos.

Estas relaciones se deben hacer por funcionalidad común.

Drupal nos facilita la labor, pues ya propone su propio sistema de relaciones entre módulos, pero nosotros debemos continuar esa misma labor organizando otros muchos componentes que vamos creando.

Para sentar una base inicial, indicaremos la subdivisión propuesta por Drupal.

Se ha especificado una lista de las funcionalidades más comunes en la mayoría de los portales :

- Autenticación

- Presentación de contenidos

- Comunidades

- Gestión de Usuarios

- Correo - Listas - Foros

- Publicidad - PopUps

- Localización

- Búsquedas

- Sindicación

La propia comunidad Drupal estructura aún así sus módulos en una serie completa de funcionalidades que se suman a las más comunes. Se indican a continuación:

- Utilidades

- Gestión de contenido

- Administración

- Tipos de contenido

- Desarrollo

- Comunidad

- Media

- E-Commerce

- Filtros - Formato de entrada

- Vistas

- Categorías

- Movilidad

- Utilidades Javascript

- Navegación

- Gestión de Ficheros

- Backups - Importación - Exportación

- Paginación

- Seguridad

- Prevención de Spam

- Evaluación - votaciones

- Localización - Idiomas

- Grupos Orgánicos

- Estadísticas

- Eventos y Workflows

- Rendimiento

- Juegos

- RDF - Formatos

- Gestión de Rutas

Es una base para poder organizar una estructura de componentes consistente y con una sencilla re utilización.

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.

c.- Enclaves arquitectónicos : La correcta definición de necesidades a nivel de sistema es arquitectura

El producto en cuestión es bastante complejo, pero esa complejidad es un desafío continuo y una base constante de la capacidad del mismo.

Sin duda un producto sencillo, difícilmente puede ser un producto de calidad, pues a medida que se va incrementando el abanico de funcionalidades, va creciendo en igual medida su complejidad.

Es por ello que debemos considerar una buena elección de módulos, de componentes.

Es transcendental analizar las necesidades hardware para los portales, la memoria y la configuración de los sistemas. Los mecanismos de caché. Los módulos que puedan incrementar esa eficiencia.

Y por supuesto hacer un enfoque global considerando las necesidades actuales y el estado del arte del producto.

Si usamos una versión 5.x sabemos que no podemos usar una versión de php 5.3. Se ha comprobado inestabilidad con módulos como Content Templates. As su vez hay módulos que únicamente están para otra versión, otros que no mantienen continuidad.

Es importante hacer estudio continuo de todos los módulos y opcodes que requiere el producto.

A su vez es trascendente considerar que un sistema no es sólo Drupal.

Hay grandes avances para conseguir un sistema más eficiente tanto por parte de Acquia como por otras empresas como Chapter 3 que invitan a apostar por un sistema con Mercury.

Pero en ese sistema es muy complejo unirlo a un panel de control . De momento no hay instrucciones precisas para instalar Mercury con Whm/Cpanel, por tanto debemos considerar las necesidades del portal para plantearnos si realmente podemos usar Mercury entero o bien sólo Varnish, Memcached, Pressflow, etc. Es una prueba de que el estado del arte de estas tecnologías está continuamente cambiando, por tanto es muy importante tenerlo en cuanta para ajustar las necesidades del sistema a las configuraciones más adecuadas para el mismo.

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.

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.

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